PDA

View Full Version : سوال: جستجو در Drid view



barbii
سه شنبه 10 مرداد 1391, 12:36 عصر
سلام
می خواستم با استفاده از یه تکس باکس در Grid view جستجو کنم، ولی نمی خوام از بانک جستجو کنه فقط رو سطرای Grid view جستو اعمال بشه و وقتی توی تکس باکس کلمه ای تایپ شد سریع در Grid view نمایش بده
ممنون

mohsen_f_b
سه شنبه 10 مرداد 1391, 13:05 عصر
سلام

دوست عزیز اگه از کامپونت Telerik استفاده کنید همه این کارها را واسه شما انجام می دهد.

موفق باشید

Sirwan Afifi
سه شنبه 10 مرداد 1391, 13:17 عصر
خوب شما می تونید از Dataview استفاده کنید یعنی در زمان TextChange بیاید اطلاعات GridView رو فیلتر کنید :

اول یک Dataview رو بصورت Public تعریف کنید :

DataView dv = new DataView();

بعد در Page_Load مثلا می تونید اطلاعات رو توی یه گرید ویو نشون بدید و Dataview رو با محتویات دیتاست پر کنید :

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=ekbatantech;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select * from Products", con);
DataSet ds = new DataSet();

da.Fill(ds);
dv.Table = ds.Tables[0];
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();

بعد یه TextBox بزارید و AutoPostBackش رو True کنید و در رویداد Text_Changeش کد زیر رو برای فیلتر کردن بنویسید :

dv.RowFilter = "Name Like '%" + TextBox1.Text + "%'";
GridView1.DataSource = dv;
GridView1.DataBind();

barbii
سه شنبه 10 مرداد 1391, 13:17 عصر
ممنون
ولی می خواستم ببینم با جاوا هم میشه این کارو کرد؟

barbii
سه شنبه 10 مرداد 1391, 14:08 عصر
خوب شما می تونید از Dataview استفاده کنید یعنی در زمان TextChange بیاید اطلاعات GridView رو فیلتر کنید :

اول یک Dataview رو بصورت Public تعریف کنید :

DataView dv = new DataView();

بعد در Page_Load مثلا می تونید اطلاعات رو توی یه گرید ویو نشون بدید و Dataview رو با محتویات دیتاست پر کنید :

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=ekbatantech;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select * from Products", con);
DataSet ds = new DataSet();

da.Fill(ds);
dv.Table = ds.Tables[0];
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();

بعد یه TextBox بزارید و AutoPostBackش رو True کنید و در رویداد Text_Changeش کد زیر رو برای فیلتر کردن بنویسید :

dv.RowFilter = "Name Like '%" + TextBox1.Text + "%'";
GridView1.DataSource = dv;
GridView1.DataBind();


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

Sirwan Afifi
سه شنبه 10 مرداد 1391, 14:12 عصر
تست کردم مشکلی نداره،حتما عبارت که جستجو می کنید وجود نداره.

barbii
سه شنبه 10 مرداد 1391, 14:25 عصر
تست کردم مشکلی نداره،حتما عبارت که جستجو می کنید وجود نداره.

نه همه چی درسته من اینو داخل update panel گذاشتم ممکنه مشکل از اون باشه
راهی هست که بشه این کارو با استفاده از ajax انجام داد