PDA

View Full Version : ساخت جستوجوی ترکیبی از سلولهای دیتاگیرید



moory1364
چهارشنبه 07 فروردین 1392, 01:30 صبح
سلام دوستان
می خوام با کلیک روی هر سلول فقط همون سلول جستوجو انجام شود

string searchValue = TxtSearch.Text;
int rowIndex =0;

tblcar.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
try
{
foreach (DataGridViewRow row in tblcar.Rows)
{
if (row.Cells[row.Index].Value.ToString().Equals(searchValue))
{
rowIndex = row.Index;
tblcar.Rows[row.Index].Selected = true;
break;
}
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}

با این ارور مواجه میشم


http://up.vbiran.ir/uploads/136433007741688_003-27-2013%2001-03-36%20%D9%82-%D8%B8.png


اگه راه حل بهتری دارید ممنون میشم کمکم کنید

tooraj_azizi_1035
چهارشنبه 07 فروردین 1392, 15:13 عصر
سلام
شما باید به جای row.Cells[row.Index] بنویسید row.Cells["ColumnName"].
ColumnName نام ستونی است که جستجو بر اساس اون انجام میشه.
row.Index اندیس ردیف رو میده در حالیکه Cells شماره یا نام ستون رو میخواد.

Take care of your code!

moory1364
چهارشنبه 07 فروردین 1392, 15:37 عصر
دوست خوبم مشکل من اینجاس که معلوم نیست کدوم ستون رو می خوام جستوجو کنم با کلیک روی هر ستونی جستوجو بر مبنای ستون باشه

C#‎_best_Programmer
چهارشنبه 07 فروردین 1392, 15:43 عصر
دادشم آرایه از صفر شروع میشه نه منفی یک تو خطاط تو شرطه که اندیست منفی یکه

moory1364
چهارشنبه 07 فروردین 1392, 15:57 عصر
دادشم آرایه از صفر شروع میشه نه منفی یک تو خطاط تو شرطه که اندیست منفی یکه
حق با شماست فراموش کردم کد جدید رو قرار بدم

با این کد 2 مشکل دارم
1. عین متن رو فقط جستوجو می کنه
2.فقط ستونی رو که معرفی کردم جستوجو می کنه

string searchValue = TxtSearch.Text;

tblcar.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
try
{
foreach (DataGridViewRow row in tblcar.Rows)
{
if (row.Cells["car_id"].Value.ToString().Equals(searchValue))
{
row.Selected = true;
break;
}
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}

C#‎_best_Programmer
چهارشنبه 07 فروردین 1392, 16:07 عصر
واسه اینکه شبیه ترین مطلب و جستجو کنه باید تو رویدا تکست چنگ این کدارو بنویسی
واسه ستوناتم باید یه حلقه بذاری داخل همین foreachetتا تمام ستونارم سرچ کنه

Yanehsar
چهارشنبه 14 فروردین 1392, 10:46 صبح
حق با شماست فراموش کردم کد جدید رو قرار بدم

با این کد 2 مشکل دارم
1. عین متن رو فقط جستوجو می کنه
2.فقط ستونی رو که معرفی کردم جستوجو می کنه

string searchValue = TxtSearch.Text;

tblcar.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
try
{
foreach (DataGridViewRow row in tblcar.Rows)
{
if (row.Cells["car_id"].Value.ToString().Equals(searchValue))
{
row.Selected = true;
break;
}
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}


سلام
من برای جستجو در گرید ویو از کد زیر استفاده می کردم


dv.RowFilter = "Name like '%"+txtsearch.Text+"%' or family '%"+txtsearch.Text+"' or Address '%"+txtsearch.Text+"'";
dgv.DataSource = dv;

یه جستجو راحت داشتم اما چند تا مشکل دارم
1-نوع فیلدم کاراکتری هستش اما تاریخ داخلش ذخیره میشه و نمیتونه جستجو کنه به نظرتون چیکار باید انجام بدم ؟؟؟
2-کد های بالا رو کجا و چطوری باید استفاده کنم داخل رویداد TextChanged یا چیز دیگه ؟
3-من از این کد برای استفاده با جدول قبلا مشکلی نداشتم اما در این برنامه که دارم روش کار میکنم ارتباط داره با ویو آیا این کد با ویو مشکل داره که جستجو من بی نتیجه هستش و دیتا گرید منو خالی می کنه ؟
منم میخوام یه جستجو چند فیلده داشته باشم .
ممنون