PDA

View Full Version : سوال: اشکال در ساخت گزارش



syasamboo3
یک شنبه 27 مرداد 1392, 17:03 عصر
با سلام خدمت همه دوستان. شاید بگید بازم تایپیک تکراری.ولی جواب مورد نظرم رو پیا نکردم که متوسل شدم به این تایپیک.
یه تیکه کد نوشتم واسه گزارش گیری از اطلاعات نمایش داده شده توی دیتا گرید. اطلاعات توی دیتا گرید رو هم به گزارش گیر خود ویژوال (reportViewer) ارسال میکنه.
حالامشکل من اینه که میخام کل اطلاعات دیتا گرید رو ارسال کنه. بهتر بگم کد نوشته شده کلا بر اساس جستجویی که انجام میشه اطلاعات رو به گزارش گیر ارسال میکنه. ولی من چند نوع جستجو دارم.مثلا بین دو تاریخ.یا بین دو مبلغ. چطور تغییرش بدم که بتونم دقیق اطلاعات دیتا گرید رو ببرم توی گزارش گیر.
راستی از ابزار گزارش گیر دیگه ای هم نمیتونم استفاده کنم.
اینم کد:(فقط نخندید روش:گیج:)
try
{
Form5 f = new Form5();

OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:/kianadb.accdb;Persist Security Info=False");
OleDbDataAdapter da = new OleDbDataAdapter("Select * from moen where md LIKE '" + textBox4.Text + "%'", con);
DataSet ds = new DataSet();
da.Fill(ds);
ds.Tables[0].TableName = "moen";
f.moenBindingSource.DataSource = ds;
f.reportViewer1.RefreshReport();
f.ShowDialog();

}
catch { };

khokhan
یک شنبه 27 مرداد 1392, 17:18 عصر
با سلام خدمت همه دوستان. شاید بگید بازم تایپیک تکراری.ولی جواب مورد نظرم رو پیا نکردم که متوسل شدم به این تایپیک.
یه تیکه کد نوشتم واسه گزارش گیری از اطلاعات نمایش داده شده توی دیتا گرید. اطلاعات توی دیتا گرید رو هم به گزارش گیر خود ویژوال (reportViewer) ارسال میکنه.
حالامشکل من اینه که میخام کل اطلاعات دیتا گرید رو ارسال کنه. بهتر بگم کد نوشته شده کلا بر اساس جستجویی که انجام میشه اطلاعات رو به گزارش گیر ارسال میکنه. ولی من چند نوع جستجو دارم.مثلا بین دو تاریخ.یا بین دو مبلغ. چطور تغییرش بدم که بتونم دقیق اطلاعات دیتا گرید رو ببرم توی گزارش گیر.
راستی از ابزار گزارش گیر دیگه ای هم نمیتونم استفاده کنم.
اینم کد:(فقط نخندید روش:گیج:)

catch { };[/CSHARP]
در رویداد کلیک باتن گزارش دیگه لازم نیست دوباره کوئری بزنی
ستونها و ردیفهای گرید رو به یه دیتاتیبل خالی کانورت کن و بعد پاس بده به گزارش
اینطوری توی گرید هرچند تا ردیف داشته باشی همون ردیفها عینا توی گزارش ارسال می شه

مثلا می تونی اینطوری تعریف کنی :

DataTable dt = (DataTable)dataGridView1.DataSource;
if (dt != null)
{
if (dt.Rows.Count > 0)
{
DataSet Ds = new DataSet();
Ds.Tables.Add(dt);

syasamboo3
یک شنبه 27 مرداد 1392, 17:32 عصر
میدونم تقعم بیجا و زیادیه. یه نمونه کوچولو ندارید بزنم تو سر خودم ببینم به کجا میرسم

khokhan
یک شنبه 27 مرداد 1392, 18:11 عصر
میدونم تقعم بیجا و زیادیه. یه نمونه کوچولو ندارید بزنم تو سر خودم ببینم به کجا میرسم
ارسال محتوای گرید در گزارش ساز rdlc

syasamboo3
دوشنبه 28 مرداد 1392, 00:48 صبح
آقامرسی.لطف کردی بخدا