PDA

View Full Version : مبتدی: چاپ ديتاگريد



mori5858
شنبه 16 شهریور 1392, 16:16 عصر
سلام موقعي كه دكمه چاپ رو ميزنم كل اطلاعات داخل ديتاگريد چاپ ميشه
اما ميخوام موقعي كه سرچ ميكنم اطلاعاتي كه همون لحظه داره توي ديتاگريد نمايش ميده چاپ بشه نه همه اطلاعات چطوري بايد اين كارو انجام بدم؟
اينم كد هاي مربوط به چاپ



if (dtGvHesab.RowCount > 0)
{
this.tblHesabTableAdapter.Fill(this.dataSetHesab.t blHesab);
CryRptHesab cr = new CryRptHesab();
cr.SetDataSource(dataSetHesab);

frm_PrintHesab PrintHesab = new frm_PrintHesab();
PrintHesab.crystalReportViewer1.ReportSource = cr;
PrintHesab.ShowDialog();
}

mori5858
شنبه 16 شهریور 1392, 17:48 عصر
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

behnam-soft
شنبه 16 شهریور 1392, 18:29 عصر
سلام،اول از همه اون شرطی رو که می خوای اعمال کن، مثلا اسم تموم افرادی رو که سنشون بالاتر از 10 هست رو تو اون جدولت انتخاب کن، بعد بگو حالا این جدول رو بفرست واسه کریستال ریپورت.

mori5858
شنبه 16 شهریور 1392, 19:33 عصر
شرط نداره...
يه تكس باكس دارم براي سرچ حالا بر اساس شماره يا اسم كه سرچ كني ديتاگريد فيلدهاي شامل اون رو مياره
مثلا ديتاگريد كلي فيلد داره وقتي توي تكست فاميل محمدي رو سرچ كني هر چي فيلد داشته باشيم كه فاميلشون محمدي باشه رو مياره
حالا ميخوام فقط همينايي كه پيدا شدن چاپ بشن
الان فقط بايد بگم منبع كريستال ريپورت به جاي ديتاست از گريدويو پر بشه اما نميدونم چطوري :ناراحت:

mori5858
شنبه 16 شهریور 1392, 20:36 عصر
كسي به همچين مشكلي برنخورده تا حالا؟ :ناراحت:

salargham
شنبه 16 شهریور 1392, 21:17 عصر
سلام
اینم یه نمونه برنامه.

موفق باشید.

mori5858
یک شنبه 17 شهریور 1392, 11:45 صبح
سلام
اینم یه نمونه برنامه.

موفق باشید.

ممنون دوست گرامي
من با چاپ مشكل ندارم فقط ميخوام هرچي توي ديتاگريد هست چاپ بشه نه همه اطلاعات داخل بانك

اين برنامه كه دادين خطا ميده اصلا باز نميشه

cisco ++
یک شنبه 17 شهریور 1392, 12:13 عصر
منم مشابه این سوال رو دارم.اگه دوستان کمک کنن ممنون میشم
من میخوام سطرهای انتخاب شده از یک گرید ویو همگی برن به چاپ ( با کریستال ریپورت)
حاالا ممکنه یه سطر انتخاب بشه ممکنه سه سطر انتخاب بشه
کمک؟!

ghasemloo
یک شنبه 17 شهریور 1392, 12:18 عصر
یه نگاه به این کلاس بنداز
http://uploadtak.com/viewer.php?file=z6464_clsreport.rar

cisco ++
یک شنبه 17 شهریور 1392, 12:24 عصر
یه نگاه به این کلاس بنداز
http://uploadtak.com/viewer.php?file=z6464_clsreport.rar


این کلاس برای پاک کردن کل دیتاگرید هستش نه سطر خاص

sohil_ww
یک شنبه 17 شهریور 1392, 12:48 عصر
من از استیمول استفاده می کنم بسیار راضی هستم و فقط به متغییر های موجد تو گزارش مقدار می دم

mori5858
یک شنبه 17 شهریور 1392, 12:57 عصر
من از استیمول استفاده می کنم بسیار راضی هستم و فقط به متغییر های موجد تو گزارش مقدار می دم

از كريستال ريپورت بايد استفاده كنم. راهي نداره منبع داده كريستال ريپورت رو به جاي ديتاست از خود ديتاگريد تعيين كرد؟ :ناراحت:

salargham
یک شنبه 17 شهریور 1392, 13:54 عصر
این برنامه دقیقا همون چیزیه که میخوای.
این برنامه رو تست کن.

khokhan
یک شنبه 17 شهریور 1392, 15:47 عصر
ممنون دوست گرامي
من با چاپ مشكل ندارم فقط ميخوام هرچي توي ديتاگريد هست چاپ بشه نه همه اطلاعات داخل بانك

اين برنامه كه دادين خطا ميده اصلا باز نميشه
یه دیتا تیبل درست کنین و سطرها و ستونهای گرید رو بریزین توی اون دیتا تیبل و پاس بدین به گزارش یا اینکه مسقیما بفرستین برا چاپ

DataTable table = new DataTable("DGV_Rows");
foreach (DataGridViewColumn column in dataGridView1.Columns)
table.Columns.Add(column.Name, typeof(string));
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
table.Rows.Add();
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
table.Rows[i][j] = dataGridView1[j, i].Value;
}
}
DataSet Ds = new DataSet();
Ds.Tables.Add(table);

mori5858
یک شنبه 17 شهریور 1392, 17:52 عصر
سورس كريستال ريپورت رو Ds انتخاب كردم اما موقعي كه ميزنم براي چاپ صفحه خالي رو نشون ميده
چيزي توش نيس