PDA

View Full Version : سوال: فیلتر کردن در DataGridView بوسیله آی دی ستون ها



YasserDivaR
دوشنبه 17 تیر 1398, 20:18 عصر
سلام دوستان ، عزیز ، آیا کدی هست که بشه چنین کاری انجام دادمثلا من بجای این که بخوام اسم ستون ها رو بدم شماره ای دی اون رو بدم و فیلتر کردن توسط اونها انجام بشه چون اسم ستون های من از خودم فایل فراخوانی میشه و دارای دوکلمه هست مثلا شماره پرسنلی ، چون فاصله بین اونها هست اصلا فیلتر انجام نمیشه


DataView dv = new DataView(dtA);
dv.RowFilter = string.Format("شماره پرسنلی like '%{0}%'", radTextBox1.Text);
radGridView1.DataSource = dv;

mmbguide
سه شنبه 18 تیر 1398, 08:07 صبح
سلام

البته من پیشنهاد میکنم که از نام ستون استفاده کنید چون در تغییرات بعدی دچار مشکل نمیشید. مثلا فرض کنید شما ستون شماره 10 رو نیاز دارید که اسمش colID هستش حالا بنابه تغییرات در بانک اطلاعاتی این ستون به شماره 12 جابجا شده حالا شما باید تمام برنامه رو بخاطر این شماره اصلاح کنید ولی اگر با نام اون ستون کار کرده باشید دیگر نیاز نیست به این مورد فکر کنید. حالا این مثال تنها برای یک ستون بوده و در تمام پروژه با چندین جدول ببین چقدر دردسرت زیاد میشه.

ولی برای دسترسی به شماره ستون فافرض اینکه بدونی Index اون ستون چنده عموما بصورت DataSource.Columns(Index) میتونی بهش دسترسی داشته باشی و اگر هم نیدونی باید در بین ستون ها یک حلقه ایجاد کنی و با بررسی نام ستون شماره Index اون رو بدست بیاری

محمد رضا فاتحی
سه شنبه 18 تیر 1398, 17:40 عصر
شماره پرسنلیرو بزار داخل [] مشکلت حل میشه

dv.RowFilter = string.Format("[شماره پرسنلی] like '%{0}%'", radTextBox1.Text);

samanabh
سه شنبه 05 شهریور 1398, 14:32 عصر
بین دوتا [] قرار بده
مثل: "'%{0}%' like [نام و نام خانوادگی]"