gpt4 book ai didi

c# - 在datagridview c#中更改搜索关键字的颜色

转载 作者:太空宇宙 更新时间:2023-11-03 16:20:35 25 4
gpt4 key购买 nike

我必须编写一个 DataGridView 并以编程方式填充它。我想当用户搜索一个单词例如键并且有包含它的单元格(例如它的关键字)时,只需突出显示关键字中搜索到的单词键而不是所有关键字或单元格或行。下面是填充 DataGridView 的代码:

        private void Fill()
{
try
{
if (dataGridView1 != null)
{
dataGridView1.ColumnCount = 11;
dataGridView1.Columns[0].HeaderText = Resources.Form1_Fill_ID;
dataGridView1.Columns[1].HeaderText = Resources.Form1_Fill_Family;
dataGridView1.Columns[2].HeaderText = Resources.Form1_Fill_Cellphone;
dataGridView1.Columns[3].HeaderText = Resources.Form1_Fill_Phone1;
dataGridView1.Columns[4].HeaderText = Resources.Form1_Fill_Phone2;
dataGridView1.Columns[5].HeaderText = Resources.Form1_Fill_Phone3;
dataGridView1.Columns[6].HeaderText = Resources.Form1_Fill_Fax;
dataGridView1.Columns[7].HeaderText = Resources.Form1_Fill_CompanyName;
dataGridView1.Columns[8].HeaderText = Resources.Form1_Fill_Agency;
dataGridView1.Columns[9].HeaderText = Resources.Form1_Fill_Brands;
dataGridView1.Columns[10].HeaderText = Resources.Form1_Fill_Address;

dataGridView1.Columns[0].Name = Resources.Form1_Fill_ID;
dataGridView1.Columns[1].Name = Resources.Form1_Fill_Family;
dataGridView1.Columns[2].Name = Resources.Form1_Fill_Cellphone;
dataGridView1.Columns[3].Name = Resources.Form1_Fill_Phone1;
dataGridView1.Columns[4].Name = Resources.Form1_Fill_Phone2;
dataGridView1.Columns[5].Name = Resources.Form1_Fill_Phone3;
dataGridView1.Columns[6].Name = Resources.Form1_Fill_Fax;
dataGridView1.Columns[7].Name = Resources.Form1_Fill_CompanyName;
dataGridView1.Columns[8].Name = Resources.Form1_Fill_Agency;
dataGridView1.Columns[9].Name = Resources.Form1_Fill_Brands;
dataGridView1.Columns[10].Name = Resources.Form1_Fill_Address;
}

_conn.ConnectionString = _connectionString;
var cmd = new OleDbCommand("Select * from contacts ", _conn);
_conn.Open();
OleDbDataReader reader = cmd.ExecuteReader();

int i = 0;
while (reader != null && reader.Read())
{
if (dataGridView1 != null)
{
dataGridView1.Rows.Add(1);
}
if (dataGridView1 != null)
{
var row = dataGridView1.Rows[i];

row.Cells[Resources.Form1_Fill_ID].Value = reader[0].ToString();
row.Cells[Resources.Form1_Fill_Family].Value = reader[1].ToString();
row.Cells[Resources.Form1_Fill_Cellphone].Value = reader[2].ToString();
row.Cells[Resources.Form1_Fill_Phone1].Value = reader[3].ToString();
row.Cells[Resources.Form1_Fill_Phone2].Value = reader[4].ToString();
row.Cells[Resources.Form1_Fill_Phone3].Value = reader[5].ToString();
row.Cells[Resources.Form1_Fill_Fax].Value = reader[6].ToString();
row.Cells[Resources.Form1_Fill_CompanyName].Value = reader[7].ToString();
row.Cells[Resources.Form1_Fill_Agency].Value = reader[8].ToString();
row.Cells[Resources.Form1_Fill_Brands].Value = reader[9].ToString();
row.Cells[Resources.Form1_Fill_Address].Value = reader[10].ToString();

}
i++;
}

}
catch (Exception ex)
{
return;
}
finally
{
_conn.Close();
}
}

这是搜索代码

        private void searchBtn_Click(object sender, EventArgs e)
{
// Code to search the alphanumneric Part Number (in Column1 header called "PART NUMBER") and highlihgt the row
foreach (DataGridViewRow row in dataGridView1.Rows)
{

try
{

if (row.Cells[0].Value.ToString().Contains(searchTxt.Text))
//row.Cells[0].Style.ForeColor = Color.Red;
{
var t = row.Cells[0].Value.ToString();

}
if (row.Cells[1].Value.ToString().Contains(searchTxt.Text))
row.Cells[1].Style.ForeColor = Color.Red;
if (row.Cells[2].Value.ToString().Contains(searchTxt.Text))
row.Cells[2].Style.ForeColor = Color.Red;
if (row.Cells[3].Value.ToString().Contains(searchTxt.Text))
row.Cells[3].Style.ForeColor = Color.Red;
if (row.Cells[4].Value.ToString().Contains(searchTxt.Text))
row.Cells[4].Style.ForeColor = Color.Red;
if (row.Cells[5].Value.ToString().Contains(searchTxt.Text))
row.Cells[5].Style.ForeColor = Color.Red;
if (row.Cells[6].Value.ToString().Contains(searchTxt.Text))
row.Cells[6].Style.ForeColor = Color.Red;
if (row.Cells[7].Value.ToString().Contains(searchTxt.Text))
row.Cells[7].Style.ForeColor = Color.Red;
if (row.Cells[8].Value.ToString().Contains(searchTxt.Text))
row.Cells[8].Style.ForeColor = Color.Red;
if (row.Cells[9].Value.ToString().Contains(searchTxt.Text))
row.Cells[9].Style.ForeColor = Color.Red;
if (row.Cells[10].Value.ToString().Contains(searchTxt.Text))
row.Cells[10].Style.ForeColor = Color.Red;
}
catch (Exception)
{
return;
}
}
}

最佳答案

如果此搜索仅取决于客户端加载的数据,那么您为什么不建议客户使用浏览器搜索功能。

如果您仍然必须向客户提供此功能,那么您为什么要在服务器端代码中执行此任务....您可以在 javascript 中处理此问题。以下是解释如何在 javascript 中访问 datagridview 的示例链接。

  1. http://www.netomatix.com/development/gridviewclientsideaccess.aspx

  2. http://www.thescarms.com/dotnet/webdatagrid.aspx

关于c# - 在datagridview c#中更改搜索关键字的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14028848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com