PDA

View Full Version : فیلتر کردن DataTable



ji ming u
شنبه 22 بهمن 1390, 10:38 صبح
اطلاعات یه جدول را از پایگاه داده خوانده و در یک DataTablقرار میدهم
چطور میتونم اطلاعات خاصی را از این
DataTable خوانده و در یک
DataTable جدید قرار داد مثلا فیلدnumber را که داری اعدادی بزرگتر از 10 است را انتخاب کنم
چطوری؟

s.khoshfekran
شنبه 22 بهمن 1390, 12:04 عصر
شما میتونی از DataView استفاده کنی !

ji ming u
شنبه 22 بهمن 1390, 12:36 عصر
شما میتونی از DataView استفاده کنی !

\چطوری میشه توضیح بدی

Sirwan Afifi
شنبه 22 بهمن 1390, 12:37 عصر
در کل برای خوندن اطلاعات از دیتابیس و قرار دادن آن در DataTable به این صورت عمل می کنیم :

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=University;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select *from City", con);
DataTable dt = new DataTable();
con.Open();
da.Fill(dt);
con.Close();

برای فیلتر کردن اطلاعات نیز از کد زیر استفاده می کنیم (با استفاده از متد Select) :

DataRow[] dr = dt.Select("ID>2");
foreach (DataRow item in dr)
{
MessageBox.Show(item[0].ToString() + " " + item[1].ToString());

}

البته برای فیلتر کردن اطلاعات هم می شه پارامتر اول SqlDataAdapter را تغییر داد.

ji ming u
شنبه 22 بهمن 1390, 12:59 عصر
در کل برای خوندن اطلاعات از دیتابیس و قرار دادن آن در DataTable به این صورت عمل می کنیم :

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=University;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select *from City", con);
DataTable dt = new DataTable();
con.Open();
da.Fill(dt);
con.Close();

برای فیلتر کردن اطلاعات نیز از کد زیر استفاده می کنیم (با استفاده از متد Select) :

DataRow[] dr = dt.Select("ID>2");
foreach (DataRow item in dr)
{
MessageBox.Show(item[0].ToString() + " " + item[1].ToString());

}

البته برای فیلتر کردن اطلاعات هم می شه پارامتر اول SqlDataAdapter را تغییر داد.


با dsataview چطوری میشه فیلتر کرد
من توی برنامه ام 3 تا combox دارم که اگر از اینها ایتمی انتخاب شود برحسب ایتم فیلتر شود و اگر ایتمی انتخای نشود فیلتری نشود

Sirwan Afifi
شنبه 22 بهمن 1390, 13:03 عصر
http://www.akadia.com/services/dotnet_filter_sort.html

Sirwan Afifi
شنبه 22 بهمن 1390, 13:08 عصر
با dsataview چطوری میشه فیلتر کرد
من توی برنامه ام 3 تا combox دارم که اگر از اینها ایتمی انتخاب شود برحسب ایتم فیلتر شود و اگر ایتمی انتخای نشود فیلتری نشود

به این صورت :

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=University;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select *from City", con);
DataTable dt = new DataTable();
con.Open();
da.Fill(dt);
con.Close();

DataView dv = dt.DefaultView;
dv.RowFilter = "ID>5";

dataGridView1.DataSource = dv.Table;

shadi khanum
شنبه 22 بهمن 1390, 13:12 عصر
دوست عزیز بعد از اینکه دیتاتیبلتون رو از دیتابیس پر کردید با این دستورات از روش یه دیتاویوو بسازید و با rowFilter دیتاویووتون رو فیلتر کنید

DataView dv = new DataView(dt);
dv.RowFilter = "name = 'ali'";
grid.DataSource = dv;

ji ming u
شنبه 22 بهمن 1390, 15:30 عصر
اگه بخواهیم از دیتا ویو که فیلتر شده باز فیلتر کنیم چطوری بنویسیم
توی برنامه من فیلتر گیری توی 3مرحله انجام میشه باید چطوری بنویسم

shadi khanum
یک شنبه 23 بهمن 1390, 10:46 صبح
اگه بخواهیم از دیتا ویو که فیلتر شده باز فیلتر کنیم چطوری بنویسیم
توی برنامه من فیلتر گیری توی 3مرحله انجام میشه باید چطوری بنویسم
دوست عزیز شما تو تالار وی بی هم پرسیده بودی سوالت رو..اونجا جواب دادم ولی اینجا هم میگم.. ببین RowFilter دیتاویوو مثل where توی اس کیو ال میمونه مه هر چی فیلتر داری با هم and کن..
dv.rowfilter = dv.rowfilter + "new filter";