Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在DataGridView搜索行和列之间循环_Windows_C# 4.0_Datagridview_Desktop Application_Desktop - Fatal编程技术网

Windows 在DataGridView搜索行和列之间循环

Windows 在DataGridView搜索行和列之间循环,windows,c#-4.0,datagridview,desktop-application,desktop,Windows,C# 4.0,Datagridview,Desktop Application,Desktop,让DataGrind在Windows应用程序中启用搜索选项,如Microsoft Excel搜索整个工作表(DataGrid) 我试过上述方法,但没有得到结果。我已经实现了这个代码 foreach (DataGridViewRow row in DisplayGridView.Rows) { for (int i = 0; i < DisplayGridView.Columns.Count; i++)

让DataGrind在Windows应用程序中启用搜索选项,如Microsoft Excel搜索整个工作表(DataGrid)

我试过上述方法,但没有得到结果。我已经实现了这个代码

        foreach (DataGridViewRow row in DisplayGridView.Rows)
        {               
            for (int i = 0; i < DisplayGridView.Columns.Count; i++)
            {
                if (row.Cells[i].Value.ToString().Equals(searchValue))
                {
                    row.Cells[i].Selected = true;
                    break;
                }
            }
        }
foreach(DisplayGridView.Rows中的DataGridViewRow行)
{               
对于(int i=0;i

尽管如此,结果仍然为空。任何人都可以建议代码。

我假设您没有检查空值。添加这些空值检查似乎与您描述的一样有效。将
ToString()
方法添加到行:
cell.Value==searchValue
after
Value
将使比较成功。也不需要休息

DisplayGridView.ClearSelection();
foreach (DataGridViewRow row in DisplayGridView.Rows) {
  foreach (DataGridViewCell cell in row.Cells) {
    if (cell.Value != null) {
      if (cell.Value.ToString() == searchValue) {
        cell.Selected = true;
      }
    }
  }
}
下一种方法

DisplayGridView.ClearSelection();
foreach (DataGridViewRow row in DisplayGridView.Rows) {
  for (int i = 0; i < DisplayGridView.Columns.Count; i++) {
    if (row.Cells[i].Value != null) {
      if (row.Cells[i].Value.ToString().Equals(searchValue)) {
        row.Cells[i].Selected = true;
      }
    }
  }
}

希望这有帮助。

我发布的代码在运行时可以正常工作。你得到了什么错误?没有得到任何错误只是我的光标移动到第一行第一列没有结果获取然后你应该调试它。在搜索值匹配且单元格设置为“选定”的位置放置一个消息框。如果您看到消息框且未选择单元格,则在此之后会发生一些事情。如果您从未看到消息框,则未找到搜索字符串。如果我的搜索代码为Fashions且单元格值为“ASHA PRIYA Fashions”,则它将搜索该值或不搜索?嗯。。您是在询问字符串是否相等,还是搜索字符串包含在字符串中。。。这是两件不同的事情。
DisplayGridView.ClearSelection();
foreach (DataGridViewRow row in DisplayGridView.Rows) {
  for (int i = 0; i < DisplayGridView.Columns.Count; i++) {
    if (row.Cells[i].Value != null) {
      if (row.Cells[i].Value.ToString().Equals(searchValue)) {
        row.Cells[i].Selected = true;
      }
    }
  }
}
DisplayGridView.ClearSelection();
  foreach (DataGridViewRow row in DisplayGridView.Rows) {
    foreach (DataGridViewCell cell in row.Cells) {
      if (cell.Value != null) {
        if (cell.Value.ToString().Contains(searchValue)) {
          cell.Selected = true;
        }
      }
    }
  }