PDA

View Full Version : چگونگي اعمال فيلتر خاص به گريد



TinaRezai
پنج شنبه 13 مهر 1391, 19:21 عصر
سلام دوستان. من يك برنامه دارم مينويسم كه مشكل دارم.
ميخوام بدونم چطوري يك ديتا تيبل كه به گريد وصله بدون استفاده از دستورات اس كيو ال فيلتر كنم؟:گریه:

danialafshari
پنج شنبه 13 مهر 1391, 19:26 عصر
خیلی آسونه توسط Binding Source

TinaRezai
پنج شنبه 13 مهر 1391, 19:38 عصر
خب من تازه كارم ميشه بيشتر توضيح بديد؟ممنون ميشم

danialafshari
پنج شنبه 13 مهر 1391, 19:44 عصر
نمیدونم چطور بهتون توضیح بدم چون ویزارده و ویزارد هم یعنی تصویر و دیدن شما استارت بزنید هر جاش مشکل داشتید من در خدمتم

TinaRezai
پنج شنبه 13 مهر 1391, 20:02 عصر
من با ويزارد وصل نميشم كد مينويسم:خجالت: الان يه ديتا تيبل دارم ميخوام فيلترش كنم

Mahmoud Zaad
پنج شنبه 13 مهر 1391, 20:38 عصر
سلام
می تونید از DataView استفاده کنید.
DataView view = new DataView();

view.Table = ds.Tables[0];
view.AllowDelete = true;
view.AllowEdit = true;
view.AllowNew = true;

view.Sort = "Name";

view.RowFilter = "Name = 'Ali'";
dataGridView1.DataSource = view;

اطلاعات بیشتر (http://www.csharp-examples.net/dataview-rowfilter/).

omidamiry
جمعه 14 مهر 1391, 21:08 عصر
شما برای فیلتر کردن جند راه دارید
1.دیتا تیبل
2.دیتا ویو
3.بیندینگ سورس
هرسه گزینه ای بنام فیلتر دارند مقدار دهی میکنی بهد دیتا سورس گرید ویو رو ربط میدی

TinaRezai
جمعه 14 مهر 1391, 22:02 عصر
ممنون از پاسخهاتون اما هيچكدوم از اينا جواب سوال منو نداد. توروخدا يكي كمك كنه

nafisehk
شنبه 15 مهر 1391, 02:16 صبح
سلام دوست عزیز
شما باید یه bindingsource از toolbox بیاری رو فرم بعد با کد زیر میتونی bindindsource و پر کنی و datasource دیتاگرید و برابر با bindingsource قرار بدی.


mySqlCommand.CommandText = "select * from TableName";
SqlDataAdapter mySqldataAdapter = new SqlDataAdapter();
DataTable myDataTable = new DataTable();
mySqldataAdapter.SelectCommand = mySqlCommand;
mySqldataAdapter.Fill(myDataTable);
bindingSourceUsers.DataSource = myDataTable;
dataGridView1.DataSource = bindingSource1;

بعد با کد زیر میتونی دیتاگرید و فیلتر کنی
فیلتر با مقادیر رشته ای


bindingSource1.Filter = "(FieldName like '%" + textbox1.Text + "%')";

فیلتر با مقادیر عددی


bindingSource1.Filter = string.Format("(CONVERT(FieldName, 'System.String') LIKE '{0}%')", textbox1.Text);


برای اینکه فیلتر و برداری و هم میتونی از کد زیر استفاده کنی


bindingSource1.Filter = null;

TinaRezai
شنبه 15 مهر 1391, 06:27 صبح
ممنون دوستان در پيام خصوصي از آقاي حبيبي پرسيدم جواب دادن راه حل رو ميذارم اينجا دوستان هم ياد بگيرند:
datatable1.defultview.rowfilter = "famil = '"+text1.text +"'";
خيلي راحت بود

Mahmoud Zaad
شنبه 15 مهر 1391, 08:03 صبح
ممنون دوستان در پيام خصوصي از آقاي حبيبي پرسيدم جواب دادن راه حل رو ميذارم اينجا دوستان هم ياد بگيرند:
datatable1.defultview.rowfilter = "famil = '"+text1.text +"'";
خيلي راحت بود
اگه توجه می کردید من توی پست قبلی جواب رو دادم حالا یه مقدار باید با توجه به کار خودتون تغییرش می دادید.