PDA

View Full Version : چگونگی چاپ یک اطلاعات خاص توسط کاربر



shervin110uk
دوشنبه 30 مرداد 1385, 01:06 صبح
سلام آقا من یک بانک دارم بعدش میخوام بر اساس یک کد خاص فقط اطلاعات مربوط به ردیف اون کد توی گزارشی که میخوام بسازم نشون داده بشه ... مثلا فرض کنید 100 تا کد دارم و فقط میخوام اگر کاربر کد 98 را زد اطلاعات مربوط به کد 98 را پرینت بگیره چیکار باید بکنم؟ درضمن این برنامه تجاری نیست و واسه من یک قرون در آْمد نداره دارم برای یک بنیاد خیریه مینویسمش... ترخدا کمک کنید...

reza_rad
دوشنبه 30 مرداد 1385, 08:32 صبح
باید از select expert توی کریستال استفاده کنید.
و همینطور با استفاده از پاس دادن پارامتر...

توی همین تالار بگردید مطالب بسیار زیادی در اینباره پیدا میشه.

nasimnastaran
دوشنبه 30 مرداد 1385, 08:45 صبح
منظورتان از کد حاص چیه ؟ اگر رکورد خاص می باشد که با استفاده از RecordSelectionFurmola به راحتی امکان پذیر می باشد . به عنوان مثال اگر داخل فرم یک TextBox دارید که کاربر باید داخل آن عدد خاصی را وارد کند ، به این صورت به آن مقدار می دهیم :


...
MyCrystalReport rpt=new MyCrystalReport();
...
rpt.SetDataSource(ds);
rpt.RecordSelectionFormula="{MyTable.myField}='"+TextBox.Text+"';

همچنین با استفاده از ارسال پارامتر به این کار راحتی امکان پذیر می باشد .
موفق باشید .

shervin110uk
چهارشنبه 01 شهریور 1385, 14:40 عصر
میشه یک لطفی کنید برام کامل تر توضیح بدید...؟‌ببینید مثلا من توی بانکم کد 192 را میدم به یک وسیله ی خاصی که توی شرکت هست... حالا میخوام اگر کاربر 192 را در قسمت گزارشگیری توی فرم ویندوزم وارد کرد سریع تمامی اطلاعات همردیف اون را که مربوط به 192 هست از طریق یک کوئری اس کیو ال بگیره و واسه من چاپ کنه...

shervin110uk
چهارشنبه 01 شهریور 1385, 14:53 عصر
میدونید ماله یک موسسه ی خیریه هستش...اگر لطف کنید و مستقیما برام لینکش را بذارید که برم بخونم ممنون میشومممم
shervin.motamedi@gmail.com

nasimnastaran
پنج شنبه 02 شهریور 1385, 00:39 صبح
ببین دوست عزیز ، با ارسال پارامتر می تونی این کار را انجام بدی ، منتها من در این جا روش دیگر را بیان می کنم :
به عنوان مثال شما یک TextBox1 توی فرم داری که بخوای گزارشتان را بر اساس مقدار ورودی تان فیلتر شود . بنابراین ابتدا Connection را ایجاد کرده ، اشیاء لازم مانند SqlDataAdapter ، ... و DataView را ایجاد می کنید . سپس String مربوطه را می نویسید :


strYourQuery = "SELECT * FROM YourTable WHERE ourSpecifiedField='" +TextBox1.Text + "' ;

سپس Connection های مربوطه را ایجاد می کنید . بعد از آن نوبت به DataView می رسد :

dv =
new DataView(dt, "", "", DataViewRowState.OriginalRows);
مرحله بعدی بررسی dv است( DataView ) :

if (dv.Count == 0)
{
MessageBox.Show("با توجه به موارد انتخاب شده ، رکوردی یافت نشده است", "اخــطار");
return;
}
else
{
....
string takeString=TextBox1.Text;
YourPrint1.SetDataSource(ds);
YourPrint1.RecordSelectionFormula = "{YourTable.ourSpecifiedField}='" +
takestring.ToString ()+"'";

ResCrystalReportViewer.ReportSource = YourPrint1;

Hope this Help You
ضمنا می تونی با استفاده از موتور جستوگر عمو گوگل ! Google تایپ کن 101c#.netSample on msdn .
موفق باشید

shervin110uk
دوشنبه 20 شهریور 1385, 12:04 عصر
سلام من خودم یک روش دیگه پیدا کردم که توی vb.net 2005 کاملا جواب میده، اگر کسی خواست برام میل بزنه تا بهش بگم....shervin.motamedi@gmail.com
http://shervin.us