چجوری میتون از گریدم که هر دفعه تغییر میکنه اطلاعات چاپ کنم؟؟
سلام روز به خیر
یه برنامه ای دارم مینویسم توش یه همچین بخشی دارم
یعنی یه فرم جستجو هست که براساس هر کدوم از موردهایی که توی combo box هست میتونم table رو فیلتر کنم
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
برای اتصال به بانکم هم از این دو بخش کد استفاده کردم
1) برای پر کردن data Grid
کد:
2) public void FillDB()
3) {
4) SqlConnection OSqlConnection = new SqlConnection("Data Source=.\;Initial Catalog=OPS_101_901214;user id=sa;password=1234");
6) SqlDataAdapter OSqlDataAdapter = new SqlDataAdapter("Select * from Worker_Ids", OSqlConnection);
8) DataSet ODataSet = new DataSet();
10) OSqlConnection.Open();
11)
12) OSqlDataAdapter.Fill(ODataSet, "Worker_Ids");
13) OSqlConnection.Close();
14) MainForm OMainForm = new MainForm();
15)
16) WorkersIdsGrid.AutoGenerateColumns = true;
17) WorkersIdsGrid.DataSource = ODataSet;
18) WorkersIdsGrid.DataMember = "Worker_Ids";
19)
20) OSqlDataAdapter = null;
21) OSqlConnection = null;
22)
23) }
2) برای فیلترینک Data Grid که توی Text Change مربوط به کادر جستجو نوشتم
کد:
public void Search_The_Bank()
{
string StrSearchSql = string.Empty;
SqlConnection OSqlConnection = new SqlConnection("Data Source=.\;Initial Catalog=OPS_101_901214;user id=sa;password=1234");
switch (CmbxSortedBy.Text)
{
case "نام و نام خانوادگی":
{
StrSearchSql = "Select * from Worker_Ids where WI_FullName LIKE '%'+@TxtSearch+'%' ";
break;
}
case "شماره شناسنامه":
{
StrSearchSql = "Select * from Worker_Ids where WI_ShomareShenasname LIKE '%'+@TxtSearch+'%' ";
break;
}
case "کد ملی":
{
StrSearchSql = "Select * from Worker_Ids where WI_CodeMelii LIKE '%'+@TxtSearch+'%' ";
break;
}
case "تاریخ تولد":
{
StrSearchSql = "Select * from Worker_Ids where WI_BirthDate LIKE '%'+@TxtSearch+'%' ";
break;
}
case "وضعیت تاهل":
{
StrSearchSql = "Select * from Worker_Ids where WI_MaritalStatus LIKE '%'+@TxtSearch+'%' ";
break;
}
case "تلفن ثابت":
{
StrSearchSql = "Select * from Worker_Ids where WI_Tel LIKE '%'+@TxtSearch+'%' ";
break;
}
case "تلفن همراه":
{
StrSearchSql = "Select * from Worker_Ids where WI_Mobile LIKE '%'+@TxtSearch+'%' ";
break;
}
case "آدرس":
{
StrSearchSql = "Select * from Worker_Ids where WI_Address LIKE '%'+@TxtSearch+'%' ";
break;
}
default:
{
CmbxSortedBy.Text = "نام و نام خانوادگی";
MessageBox.Show("لطفا یکی از موارد معتبر راانتخاب نمایید", "");
StrSearchSql = "Select * from Worker_Ids where WI_FullName LIKE '%'+@TxtSearch+'%' ";
break;
}
}
SqlDataAdapter OSqlDataAdapter = new SqlDataAdapter(StrSearchSql, OSqlConnection);
OSqlDataAdapter.SelectCommand.Parameters.AddWithValue("@TxtSearch", TxtSearch.Text);
DataSet ODataSet = new DataSet();
OSqlConnection.Open();
OSqlDataAdapter.Fill(ODataSet, "Worker_Ids");
OSqlConnection.Close();
WorkersIdsGrid.AutoGenerateColumns = true;
WorkersIdsGrid.DataSource = ODataSet;
WorkersIdsGrid.DataMember = "Worker_Ids";
OSqlDataAdapter = null;
OSqlConnection = null;
}
میدونم کدم بهینه نیست اما الان میخوام بتونم فعلا نتیجه بگیرم
حالا سوالم
من میخوام با زدن اون دکمه چاپ محتویات جدول تمام اطلاعات فیلتر شده براساس کادر جستجوی بالای گرید رو بتونم توی یک report viewer ببینم و پرینت بگیرم... یه بار2 تا رکورده یه بار ممکنه 30 تا باشه
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حالا من که با کد دارم به دیتا بیس وصل میشم چجوری میتونم با استفاده از Report Wizard اطلاعات مربوط به گرید رو هر دفعه توی Report viewer لود کنم؟؟؟
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اگه دقت کنید اینجا توی Choose report از من اسم یه گزارش رو میخواد که درست کردم
اما گزارشی که من با Report Wizard میسازم خودش data set و data source جداگانه برای خودش میسازه و با اون چیزی که من توی کد دستی درست کردم فرق میکنه......
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
نهایتا باید چی کار بکنم تا بتونم با زدن دکمه چاپ محتویات جدول تمام اطلاعات فیلتر شده براساس کادر جستجوی بالای گرید رو بتونم توی یک report viewer ببینم و پرینت بگیرم... یه بار2 تا رکورده یه بار ممکنه 30 تا باشه
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]