PDA

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



jafarpalideh
پنج شنبه 25 اردیبهشت 1393, 12: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, 13:01 عصر
البته کد پایین جواب میده ولی بالایی هنوز ارور میده !!


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

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

danialafshari
پنج شنبه 25 اردیبهشت 1393, 14: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, 14:22 عصر
ممنون بابت پاسختون
ولی متاسفانه باز هم همون ارور رو میده .
من دقیقا کد زیر رو نوشتم .


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

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

jafarpalideh
پنج شنبه 25 اردیبهشت 1393, 15: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, 15:21 عصر
فیلد Kala یه من از نوع NvarChar هست و با دستور زیر درست کار میکنه :


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

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

jafarpalideh
جمعه 26 اردیبهشت 1393, 00:56 صبح
دوستان نظری ندارن ؟

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

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