PDA

View Full Version : مشكل با filter



mehdis2
یک شنبه 30 آبان 1389, 23:15 عصر
سلام دوستان
من وقتي يه جدول داخل ديتاستو فيلتر ميكنم در ديتاگريد فيلتر ميشه ولي وقتي rows.coun ميگيرم و سطر هارو پيمايش ميكنم فيلتر نشده ؟


ds.table []0.filter="" expersion

ds.table[0].rows.coun -- كل سطر ها رو ميده در صورتي كه در گريد فيلتر شده نشون ميده

hakelberfin
یک شنبه 30 آبان 1389, 23:27 عصر
سلام
دوست عزیز درستشم همینه .
عمل فیلتر داده ها رو از منبع اصلیشون حذف نمیکنه و بایدم اینطور باشه.
شما اگه براتون واجبه که داده های فیلتر شده رو نگهداری کنید میتونید اونا رو به یه DataTable انتقال بدید.

mehdis2
یک شنبه 30 آبان 1389, 23:44 عصر
مرسي چطوري انتقال بدم منبع كه خودش فيلتر نشده چطور ميتونم رديف هاي فيلتر شده رو پيدا كنم؟

hakelberfin
دوشنبه 01 آذر 1389, 00:12 صبح
من این کار رو از دیتابیس انجام میدم و نتیجه رو در DataTable قرار میدم.
لطفا بیشتر توضیح بدید؟

ایمان مدائنی
دوشنبه 01 آذر 1389, 07:40 صبح
اين نمونه براي فيلتر كردنه
اميدوارم به دردت بخوره
http://www.barnamenevis.org/forum/showpost.php?p=1148802&postcount=615

hakelberfin
دوشنبه 01 آذر 1389, 08:53 صبح
سلام دوست عزیز

چرا شما از dataset استفاده کردید؟
اگه هدف شما فقط بایند کردن یه جدول هست از datatable استفاده کنید.
این مثل اینه که برای نوشیدن آب بجای لیوان از پارچ استفاده کنیم!



string statment = "Name = '" + Value.ToString() + "'";
DataRow[] row = new DataRow[1];
row = dataTable.Select(statment);

البته در ابتدا باید داده ها در DataTable بایند بشن.

mehdis2
دوشنبه 01 آذر 1389, 12:18 عصر
آزه منم همينو استفاده كردم ولي row رو public گرفتمم و هر بار مقدار قبليشو ميگيره يه سوال ديگه چطور ميتونم بدون foreach به يه سطر اون دسترسي داشته باشم

hakelberfin
دوشنبه 01 آذر 1389, 14:37 عصر
سلام
با For
اگه میخوای بر اساس مقدار سطری رو پیدا کنی

dataTable.DefaultView.Sort = "UserID";

dataTable.DefaultView.Find(UserID)