+1 امتیاز

سلام دوستان

یه گریدویو دارم که جدولی از بانک وصله، و برنامه رو طوری نوشتم که بر اساس پارامترهای مختلف جستجو می کنه و اطلاعات داخل گرید ویو طبق فیلتر اعمال شده بروز میشه، حالا میخوام خروجی از اطلاعات داخل گریدویو پرینت بگیرم. ولی طبق کدهایی که نوشتم از کل اطلاعات جدولی که به گریدویو متصل هست پرینت میگیره.

ممنون میشم راهنمایی کنید. در ضمن برای گزارشگیری از نرم افزار stimulreport استفاده می کنم.

DataSet ds = new System.Data.DataSet();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM Reference_TB where row =' " + ************* + " ' ";
SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, ConnString);

da.Fill(ds, "Reference_TB");
stiReport2.Load("Report2.mrt");
stiReport2.RegData(ds);
stiReport2.Show();

الان مشکل من تو قسمتی هست که با **** مشخص کردم. چیزی که من فکر کردم اینه که باید یه شرط بزارم تا تنها اطلاعاتی که الان داخل گرید ویو هست نمایش داده بشه، اما متاسفانه نشد.

امیدوارم تونسته باشم منظورم رو برسونم.

ممنون

 

سلام ، خوب همون قسمت شرط رو در برنامتون به چه شکلی نوشتید ؟ ؟؟

خروجی همین دستورات رو به datagridview وصل می کنید ؟
توسط (6,145 امتیاز) 5 11 116

سلام

این دستور که می نویسم که فقط از سطری که انتخاب هست پرینت می گیره

"SELECT * FROM Reference_TB where row=' " + dataGridViewX3.Rows[dataGridViewX3.CurrentRow.Index].Cells[0].Value.ToString() + " ' "

و وقتی که بنویسم dataGridViewX3.Rows که همه ی سطرها رو شامل بشه موقع اجرا خطا میده.

در واقع من می خوام یه دستور بنویسم که تنها سطرهای موجود در جدول را شامل بشه، نه همه ی اطلاعات بانک، و یه چیز دیگه خیلی مبتدیم :(

توسط (137 امتیاز) 1

1 پاسخ

+2 امتیاز

شما با چه دستوری عمل Bind رو انجام میدین ؟ اون دستوری رو بنویسید که اطلاعات رو داخل datagridview قرار میده ؟

برای نمایش اطلاعات در gridview از خصوصیت DataSource استفاده می کنید ؟ اگر از این خصوصیت استفاده کنید کارتون راحت میشه چون می تونید این خصوصیت رو به یک datatable تبدیل کنید و به عنوان منبع داده Report معرفی کنید .

شما کدهاتون رو کامل بنویسید . اون دستوری رو هم که در قسمت نظر داده بودین مشکلی نداره و همون خروجی که ازش انتظار میره رو برگشت میده.

 
 
 

سلام ، ممنونم

کدهایی که گفتید بالا رو به صورت زیر وارد کردم

System.Data.DataSet tb1 = dataGridViewX3.DataSource as DataSet;

            stiReport2.Load("Report2.mrt");
            stiReport2.RegData(tb1);
            stiReport2.Show();

و خطایی به صورت زیر میده:

________________

روش دیگه ای هم که امتحان کردم طبق آموزش سایت انتقال اطلاعات DataGridView به DataTable بدون منبع داده کدهارو به صورت زیر نوشتم ولی باز هم موقع اجرا کل اطلاعات جدول بانک رو پرینت میگیره.

DataTable dt = new System.Data.DataTable();
            for (int ColumnCounter = 0; ColumnCounter < dataGridViewX3.Columns.Count; ColumnCounter++)
            {
                dt.Columns.Add(dataGridViewX3.Columns[ColumnCounter].Name);
            }
            for (int RowCounter = 0; RowCounter < dataGridViewX3.Rows.Count; RowCounter++)
            {
                DataRow dr = dt.NewRow();
                for (int j = 0; j < dataGridViewX3.Columns.Count; j++)
                {
                    dr[j] = dataGridViewX3.Rows[RowCounter].Cells[j].Value.ToString();
                }
                dt.Rows.Add(dr);
            }                        

            stiReport2.Load("Report2.mrt");
            stiReport2.RegData(dt);
            stiReport2.Show();

______

امکانش هست مشکل از دیتاسورس stimul باشه؟ من موقع معرفی دیتاسورس از دیتاسورس خود برنامه استفاده کردم و کانکشن یا دیتا سورس جدیدی ایجاد نکردم.

توسط (137 امتیاز) 1
سلام ، در روش دوم همه ی سطر های موجود در بانک رو به Datagridview اضافه کردید ؟

روش دوم فقط تعداد سطر ها موجود در Datagridview رو به Datatable انتقال میده . به احتمال زیاد مشکل از منبع داده Stireport باشه . یعنی شما اومدید مستقیم وصلش کردید
توسط (6,145 امتیاز) 5 11 116
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...