PDA

View Full Version : سوال: تغییر رنگ پیدا کردن اطلاعات پیدا شده در دیتاگرید



davidrobert
چهارشنبه 04 اردیبهشت 1392, 11:50 صبح
سلام من میخواستم وقتی مقداری پیدا میشه داخل دیتا گرید به رنگ دیگه در بیان رنگ متن نوشته پیدا شده وقتی تک باکس خالی شد متن رنگ خودش رو از دست بده من در پروژم از کد جستجور استفاده میکنم ولی میخوام متن پیدا شده به رنگ دیگه مثلاً زرد در بیاد اینهم کد های جستجور من ممنون میشم کمک کنید من رو با تشکر فراوان.
من کدی پیدا کردم برای تغییر رنگ ولی کار نکرد این کد که خودم پیدا کردم برای تغییر رنگ
//foreach (DataGridViewRow row in dataGridView1.Rows)
//{
// if (row.Cells["PART NUMBER"].Value.ToString().Equals(txtsearch.Text))
// {
// dataGridView1.Rows[row.Index].DefaultCellStyle.BackColor = Color.Yellow;
// }
//}
اینهم کد های خودم برای جستجو نمی دانم کجا باید قرار بدم مقداری رو که وقتی پیدا شد تغییر رنگ کنه در دیتا گرید و و قتی تکس باکس خالی شد رنگ مورد نظر در بیاد از حالت انتخاب
//کد مربوط به جستجور
void search()
{
string querys = null;
try
{
switch (cmbfind.Text)
{
case "شماره سند":{querys = "SELECT * from TblDocAndNum WHERE CONVERT(varchar,DN_Doc) LIKE '%" + txtsearch.Text + "%'"; break; }
case "شماره فاکتور": { querys = "select * from TblDocAndnum where CONVERT(VARCHAR,DN_Num) LIKE '%" + txtsearch.Text + "%'"; break; }
case "کد خدمات": { querys = "select * from TblDocAndNum Where CONVERT (VARCHAR,DN_CodeKhedemat)LIKE'%" + txtsearch.Text + "%'"; break; }
default: { break; }
}
//foreach (DataGridViewRow row in dataGridView1.Rows)
//{
// if (row.Cells["PART NUMBER"].Value.ToString().Equals(txtsearch.Text))
// {
// dataGridView1.Rows[row.Index].DefaultCellStyle.BackColor = Color.Yellow;
// }
//}
cmdff.CommandText = querys;
cmdff.Connection = conff;
conff.Open();
cmdff.ExecuteNonQuery();
conff.Close();
cmdff.CommandText = querys;
daff.SelectCommand = cmdff;
dsff.Clear();
daff.Fill(dsff, "t1");
label5.Text = "تعداد موار یافت شده : " + dataGridView1.Rows.Count;
dataGridView1.DataSource = dsff.Tables[0];

}
catch
{
FMessegeBox.FarsiMessegeBox.Show("خطا در اجرا دستورات / خطا 104");
}
}
با تشکر فراوان بابت کمک های تان به این بنده.

ZENDAR
دوشنبه 01 اردیبهشت 1393, 16:36 عصر
سلام من هم از این کد استفاده کردم

این کد رو تو یک باتن میزارم و عبارت مورد نظر را تو تکست باکس 1 مینویسم وقتی پیدا میکنه آبی رنگ میکنه فقط مشکلش اینه که حتما باید عبارت برابر هم باشند چون از مساوی استفاده کردم .ولی وقتی از like استفاده میکنم خطا میگیره و در دستور آخر میخوام به جای سلول کل سطر را آبی رنگ کنه اگه کسی هست راهنمایی کنه ممنون میشم

foreach (DataGridViewRow row in dataGridView1.Rows)
foreach (DataGridViewCell cell in row.Cells)

if (Convert.ToString(cell.Value) == textBox1.Text)

// نمایش نتیجه
cell.Style.BackColor = System.Drawing.Color.BlueViolet;