PDA

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



mosavi_M_K
دوشنبه 21 آبان 1386, 14:05 عصر
با سلام
من درفرمم یک textboxو یک datagridدارم چگونه میتوان datagridرا مجبور کرد که رکوردهای از جدول را نمایش دهد که یکی از فیلدهایش برابر به textboxباشد .(یک جور فیلترکردن):متفکر:

__H2__
دوشنبه 21 آبان 1386, 14:21 عصر
سلام
یک کاموپنت DataView از نوار ابزار روی پنجره فرمتان قرار دهید و DataSource فعلی Grid خودتان را به DataView وصل کنید و DataView به جای DataSource به Grid بدهید.

در اصل DataView را سر راه داده ها به Grid قرار دهید، و با کمک آن فیلتر را با نام فیلد و به صورت String اعمال کنید.

samaneh_h
شنبه 26 آبان 1386, 09:57 صبح
حالا اگه بخوایم مقادیر یک ستون از دیتا گرید رو که به این روش فیلتر شده (فقط جهت نمایش ، نه اعمال روی دیتا بیس ) پس از فیلتر ، ضربدر یک مقدار مشخص بکنیم ، از چه دستوری باید استفاده کرد.
مثلا همه مقادیر ستون "مقدار" رو ضربدر 2 بکنیم
لطفا کمکم کنید خیلی خیلی موردم فوریه

__H2__
شنبه 26 آبان 1386, 12:27 عصر
سلام
میتوانید به نتیجه مطلوب برسید ولی نه پس از فیلتر!
یعنی شما در سورس اصلی داده ها به کمک دستور SELECT و یا به کمک TypedDataSet و مقدار Expression ستون مورد نظر را که حاصل عبارت جبری ستون های دیگر است میسازید و سپس عمل فیلتر را در دیتاگرید انجام میدهد.
DataView و BindingSource که اصلی ترین کلاسهای فیلتر و سورت هستند هیچ کدام از مقدار مجازی و ستون جدید پشتیبانتی نمیکنند و شما باید اعمال فوق را قبل از فیلتر انجام دهید.

ir_programmer
شنبه 26 آبان 1386, 14:14 عصر
2 ستون ایجاد کن. یکی ستون اصلی و دیگری به شکل محاسباتی. بر اساس ستون اصلی Filter کن ولی ستون محاسباتی را در گرید نشان بده.

__H2__
چهارشنبه 30 آبان 1386, 17:15 عصر
سلام
با توجه به PM تان وکمبود وقتی که دارم، نمونه کد ساده ای را در چند دقیقه آماده کردم که صرفاً شامل ستون محاسباتی وطریقه انجام این کار است و شما خودتان میتوانید فیلترینگ دلخواه را اضافه کنید.

در DataSet1 به خصوصیت Expression مربوط به Column3 دقت کنید.
دانلود مستقیم سورس کد و exe به حجم 20 کیلوبایت (http://www.h02.ir/Download.aspx?File=Temp\CalcColumnInDataGrid.zip)

موفق و پیروز باشید.