PDA

View Full Version : سوال: مشکل در فیلتر کردن توسط BindingSource



jafarpalideh
پنج شنبه 25 اردیبهشت 1393, 11:45 صبح
با سلام .
من دیتاگریدم رو به بایندینگ سورس متصل کردم و الان که میخوام روش فیلترکنم ارور میده .
این کد من :


bsVaragh.Filter = " Resid like '%" + textBox1.Text+ "%'";

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


bsVaragh.Filter = " Resid like '%" + Convert.ToInt32( textBox1.Text) + "%'";

و این هم خطا :



Cannot perform 'Like' operation on System.Int32 and System.String.

jafarpalideh
پنج شنبه 25 اردیبهشت 1393, 12:01 عصر
البته کد پایین جواب میده ولی بالایی هنوز ارور میده !!


if (textBox1.Text == "")
bsVaragh.RemoveFilter();
else

bsVaragh.Filter = "resid='" + (textBox1.Text) + "'";

danialafshari
پنج شنبه 25 اردیبهشت 1393, 13:07 عصر
سلام
bindingSource1.Filter = "FieldName LIKE '" + "%" + txtFind.Text + "%" + "'";
http://barnamenevis.org/showthread.php?410532-%D9%85%D9%86-%DB%8C%D9%87-%DA%A9%D8%AF-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-%D8%AF%D8%A7%D8%B1%D9%85-%D9%85%DB%8C%D8%B4%D9%87-%D8%A8%DA%AF%DB%8C%D8%AF-%DA%86%D8%B1%D8%A7-%DA%A9%D8%A7%D8%B1-%D9%86%DA%A9%DB%8C%D9%85%D9%86%D9%87%D8%9F%D8%9F%D 8%9F%D8%9F&p=1830529&viewfull=1#post1830529

jafarpalideh
پنج شنبه 25 اردیبهشت 1393, 13:22 عصر
ممنون بابت پاسختون
ولی متاسفانه باز هم همون ارور رو میده .
من دقیقا کد زیر رو نوشتم .


bsVaragh.Filter = "Resid LIKE '" + "%" + textBox1.Text + "%" + "'";

danialafshari
پنج شنبه 25 اردیبهشت 1393, 14:07 عصر
سلام
توضیحاتتون ناقصه
فیلد Resid نوعش چیه؟
کدی که خودتون گذاشتید " نزاشتید که string شده بود و دلیل ارور هم همین بود
محتویات پوشه debug رو پاک کنید کدتون رو اگه فیلد Resid از نوع int هست به شکل زیر تغییر دهید و پروژه رو Rebuild کنید
bsVaragh.Filter = "Resid LIKE '" + "%" +Convert.ToInt32(textBox1.Text) + "%" + "'";

jafarpalideh
پنج شنبه 25 اردیبهشت 1393, 14:13 عصر
من از VS2008 و sql 2000 استفاده میکنم .
فیلد رسید int هست .
و کد رو باز هم تغییر دادم ولی همون ارور رو میده

bsVaragh.Filter = "Resid LIKE '" + "%" + Convert.ToInt32(textBox1.Text) + "%" + "'";

ولی کد زیر خطا نمیده :


if (textBox1.Text == "") bsVaragh.RemoveFilter();
else

bsVaragh.Filter = "resid='" + (textBox1.Text) + "'";

jafarpalideh
پنج شنبه 25 اردیبهشت 1393, 14:21 عصر
فیلد Kala یه من از نوع NvarChar هست و با دستور زیر درست کار میکنه :


bsVaragh.Filter = " Kala LIKE '" + "%" + textBox1.Text + "%" + "'";

البته این رو باید بگم که من سه تا کمبو باکس دارم که از طریق بایندینگ سورس به دیتابیس وصل شدن و اطلاعات دیتاگرید من رو نمایش میدن .
البته کلا ویزارد کار کردم .
الان وقتی میخوام توسط بایندینگ سورس سرچ انجام بدم و گریدم فیلتر بشه . با فیلد NvarChar موردی ندارم (البته الان تست کردم اینو) ولی وقتی فیلدی که توش Int هست رو سرچ کنم این ارور رو میده !!!

jafarpalideh
پنج شنبه 25 اردیبهشت 1393, 23:56 عصر
دوستان نظری ندارن ؟

danialafshari
جمعه 09 خرداد 1393, 21:57 عصر
دوستان نظری ندارن ؟

فیلد شما باید string باشه