s_mostafa_h
شنبه 19 خرداد 1386, 17:59 عصر
با سلام
من از چند تا TextBox برای پر کردن رکورد ها استفاده کردم . با استفاده از دکمه های Next و ... کاربر به رکورد های بعدی می رود . همچنین برای جستجو هم از TextBox استفاده کردم . مشکل در پیدا کردن رکورد نیست بلکه اگر کاربر به رکورد خاصی با استفاده از جستجو دست یافت ، آن وقت دکمه های Next و Previous به درستی کار نمی کنند .
private void btnSearch_Click(object sender, EventArgs e)
{
if (txtSearch.Text == "")
{
MessageBox.Show("لطفا شماره قبض را تایپ نمایید", "توجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
GoToSpecificRec();
txtSearch.Text = "";
private void GoToSpecificRec()
{
try
{
if (txtSearch.Text != "")
{
string Selectection = "Select * from PersonalTbl where QabzID='" + Convert.ToInt32(txtSearch.Text) + "'";
DataSet dsSearch = new DataSet();
SqlDataAdapter daSearch = new SqlDataAdapter(Selectection, strConnection);
daSearch.Fill(dsSearch, "PersonalTbl");
Display(dsSearch);
}
else
{
MessageBox.Show("لطفا شماره قبض را تایپ نمایید", "توجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
catch (SqlException excep)
{
MessageBox.Show(excep.ToString());
}
}
private void Display(DataSet ds)
{
try
{
DataTable dtSearch = new DataTable();
dtSearch = ds.Tables["PersonalTbl"];
if (dtSearch.Rows.Count != 0)
{
int RecNo = (int)dtSearch.Rows[0][0];
txtQabzNo.Text = RecNo.ToString();
txtPhoneModel.Text = (string)dtSearch.Rows[0][1];
txtSerialPhone.Text = (string)dtSearch.Rows[0][2];
txtBatterySerrial.Text = (string)dtSearch.Rows[0][3];
txtWarranty.Text = (string)dtSearch.Rows[0][4];
}
else
{
MessageBox.Show("رکوردی یافت نشد");
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
}
و برای دکمه Next برای حرکت به رکورد بعدی داریم :
if (this.bindingManager.Position < this.bindingManager.Count - 1)
{
this.bindingManager.Position += 1; //increment position by 1
}
برای سایر دکمه جهت بین رکورد ها مشابه مورد اخیر است
متشکرم
من از چند تا TextBox برای پر کردن رکورد ها استفاده کردم . با استفاده از دکمه های Next و ... کاربر به رکورد های بعدی می رود . همچنین برای جستجو هم از TextBox استفاده کردم . مشکل در پیدا کردن رکورد نیست بلکه اگر کاربر به رکورد خاصی با استفاده از جستجو دست یافت ، آن وقت دکمه های Next و Previous به درستی کار نمی کنند .
private void btnSearch_Click(object sender, EventArgs e)
{
if (txtSearch.Text == "")
{
MessageBox.Show("لطفا شماره قبض را تایپ نمایید", "توجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
GoToSpecificRec();
txtSearch.Text = "";
private void GoToSpecificRec()
{
try
{
if (txtSearch.Text != "")
{
string Selectection = "Select * from PersonalTbl where QabzID='" + Convert.ToInt32(txtSearch.Text) + "'";
DataSet dsSearch = new DataSet();
SqlDataAdapter daSearch = new SqlDataAdapter(Selectection, strConnection);
daSearch.Fill(dsSearch, "PersonalTbl");
Display(dsSearch);
}
else
{
MessageBox.Show("لطفا شماره قبض را تایپ نمایید", "توجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
catch (SqlException excep)
{
MessageBox.Show(excep.ToString());
}
}
private void Display(DataSet ds)
{
try
{
DataTable dtSearch = new DataTable();
dtSearch = ds.Tables["PersonalTbl"];
if (dtSearch.Rows.Count != 0)
{
int RecNo = (int)dtSearch.Rows[0][0];
txtQabzNo.Text = RecNo.ToString();
txtPhoneModel.Text = (string)dtSearch.Rows[0][1];
txtSerialPhone.Text = (string)dtSearch.Rows[0][2];
txtBatterySerrial.Text = (string)dtSearch.Rows[0][3];
txtWarranty.Text = (string)dtSearch.Rows[0][4];
}
else
{
MessageBox.Show("رکوردی یافت نشد");
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
}
و برای دکمه Next برای حرکت به رکورد بعدی داریم :
if (this.bindingManager.Position < this.bindingManager.Count - 1)
{
this.bindingManager.Position += 1; //increment position by 1
}
برای سایر دکمه جهت بین رکورد ها مشابه مورد اخیر است
متشکرم