[英]C# Check if DataGridView Contains specific word
我目前正在开发一个 IRC 机器人。 发送的消息将显示在 DataGridView 中。 所以现在我想检查例如发送的消息是否包含特定的单词。 让我们说“测试”。
所以它应该检查以下内容:
假设添加到 DataGridView 的发送消息是:我的名字是测试。
现在包含单词“test”的单元格应该变成红色。
我已经解决了这个问题,当消息只包含“测试”时。 但我真的不知道如何检查句子中的单词。
//编辑:我试过这个代码:
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[1].Value.ToString() == "test")
row.Cells["chat1"].Style.ForeColor = Color.Red;
//row.Cells["chat1"].Style.ForeColor = Color.CadetBlue;
}
亲切的问候,马克斯:)
检查包含,以验证字符串是否存在于给定输入中。 您可以考虑在检查Contains
之前确保应用ToLower
或ToUpper
方法,以确保获得正确的结果
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[1].Value.ToString().Contains("test"))
row.Cells["chat1"].Style.ForeColor = Color.Red;
//row.Cells["chat1"].Style.ForeColor = Color.CadetBlue;
}
您也可以练习使用linq解决此问题
var items = this.dataGridView1.Rows.Cast<DataGridViewRow>()
.Where(row => row.Cells[1].Value.ToString() == "Test");
foreach(DataGridViewRow row in items)
{
row.Cells["chat1"].Style.ForeColor = Color.Red;
}
这是一个老帖子,但我仍然可以用一些替代方法来填写。 这工作得很好,没有循环。 您确实需要选择一个思路。
if (dgridvwListan.SelectedRows[0].Cells[2].Value.ToString() =="thewordincell")
dgridvwListan.SelectedRows[0].Cells[1].Style.BackColor = Color.Pink;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.