PDA

View Full Version : سوال: مشکل با رویداد textchange در جستجوی مقادیر



hana2064
دوشنبه 21 مهر 1393, 13:14 عصر
با سلام
میخوام با نوشتن قسمتی از نام کالا در تکس باکسم ،کالاهای مشابه را در گرید ویو مشاهده کنم.مشابه سرچ گوگل. این هم تابع وفراخوانی .
124503
---------------------------------------


private void TxtKalaName_TextChanged(object sender, EventArgs e)
{
dataGridView1.DataSource = dbSearch(TxtKalaName.Text.ToString());
-----------------------------------------
فقط برای اولین حرف وارد شده کالاها را لیست میکنه. برای حروف بعدی لیست گرید هیچ تغییری نمی کنه ووقتی حتی تکست باکس رو پاک می کنم وکلمه جدید را وارد میکنم تابع عمل نمیکنه ولیست گرید هم هیچ تغییری نمی کنه.
با تشکر

alireza_g698
دوشنبه 21 مهر 1393, 13:55 عصر
با سلام
میخوام با نوشتن قسمتی از نام کالا در تکس باکسم ،کالاهای مشابه را در گرید ویو مشاهده کنم.مشابه سرچ گوگل. این هم تابع وفراخوانی .
124503
---------------------------------------


private void TxtKalaName_TextChanged(object sender, EventArgs e)
{
dataGridView1.DataSource = dbSearch(TxtKalaName.Text.ToString());
-----------------------------------------
فقط برای اولین حرف وارد شده کالاها را لیست میکنه. برای حروف بعدی لیست گرید هیچ تغییری نمی کنه ووقتی حتی تکست باکس رو پاک می کنم وکلمه جدید را وارد میکنم تابع عمل نمیکنه ولیست گرید هم هیچ تغییری نمی کنه.
با تشکر

ســـــــــلام
این کد ها را نوشتم.کاملا درست جواب میداد


این از متد سرچ private DataTable search(string kname)
{
SqlConnection connection = new SqlConnection("server=alireza\\sql2012;database=person;trusted_co nnection=true;");
string cmd = " Name like N'%" + kname + "%'";
DataTable table = null;
SqlCommand command = new SqlCommand("select * from Names where " + cmd , connection);
command.CommandType = CommandType.Text;
try
{
connection.Open();
command.ExecuteNonQuery();
SqlDataReader reader = command.ExecuteReader();
table = new DataTable();
table.Load(reader);
return table;
}

catch (Exception)
{

throw;

}
finally
{

if (connection.State == ConnectionState.Open)
{
connection.Close();

}
}

}


و این هم رویداد textchange

private void textBox1_TextChanged(object sender , EventArgs e)
{
dataGridView1.DataSource = search(textBox1.Text);
}

موفق باشید