shahinfarasystem
دوشنبه 15 اسفند 1390, 10:30 صبح
سلام روز به خیر
یه برنامه ای دارم مینویسم توش یه همچین بخشی دارم
یعنی یه فرم جستجو هست که براساس هر کدوم از موردهایی که توی combo box هست میتونم table رو فیلتر کنم
http://eint.net76.net/photos/3a8381281635.jpghttp://eint.net76.net/photos/3a8381281635.jpg
برای اتصال به بانکم هم از این دو بخش کد استفاده کردم
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.AddWithVa lue("@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 تا باشه
http://eint.net76.net/photos/3a8381281635.jpghttp://eint.net76.net/photos/3a8381281635.jpg
حالا من که با کد دارم به دیتا بیس وصل میشم چجوری میتونم با استفاده از Report Wizard اطلاعات مربوط به گرید رو هر دفعه توی Report viewer لود کنم؟؟؟
http://eint.net76.net/photos/1a59b315fc9a.jpg
اگه دقت کنید اینجا توی Choose report از من اسم یه گزارش رو میخواد که درست کردم
اما گزارشی که من با Report Wizard میسازم خودش data set و data source جداگانه برای خودش میسازه و با اون چیزی که من توی کد دستی درست کردم فرق میکنه......
http://eint.net76.net/photos/fd2308e9e752.jpg
نهایتا باید چی کار بکنم تا بتونم با زدن دکمه چاپ محتویات جدول تمام اطلاعات فیلتر شده براساس کادر جستجوی بالای گرید رو بتونم توی یک report viewer ببینم و پرینت بگیرم... یه بار2 تا رکورده یه بار ممکنه 30 تا باشه
http://eint.net76.net/photos/3a8381281635.jpg
یه برنامه ای دارم مینویسم توش یه همچین بخشی دارم
یعنی یه فرم جستجو هست که براساس هر کدوم از موردهایی که توی combo box هست میتونم table رو فیلتر کنم
http://eint.net76.net/photos/3a8381281635.jpghttp://eint.net76.net/photos/3a8381281635.jpg
برای اتصال به بانکم هم از این دو بخش کد استفاده کردم
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.AddWithVa lue("@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 تا باشه
http://eint.net76.net/photos/3a8381281635.jpghttp://eint.net76.net/photos/3a8381281635.jpg
حالا من که با کد دارم به دیتا بیس وصل میشم چجوری میتونم با استفاده از Report Wizard اطلاعات مربوط به گرید رو هر دفعه توی Report viewer لود کنم؟؟؟
http://eint.net76.net/photos/1a59b315fc9a.jpg
اگه دقت کنید اینجا توی Choose report از من اسم یه گزارش رو میخواد که درست کردم
اما گزارشی که من با Report Wizard میسازم خودش data set و data source جداگانه برای خودش میسازه و با اون چیزی که من توی کد دستی درست کردم فرق میکنه......
http://eint.net76.net/photos/fd2308e9e752.jpg
نهایتا باید چی کار بکنم تا بتونم با زدن دکمه چاپ محتویات جدول تمام اطلاعات فیلتر شده براساس کادر جستجوی بالای گرید رو بتونم توی یک report viewer ببینم و پرینت بگیرم... یه بار2 تا رکورده یه بار ممکنه 30 تا باشه
http://eint.net76.net/photos/3a8381281635.jpg