在DataGrid中搜索匹配的值

时间:2013-09-04 15:01:13

标签: c# wpf datagrid

我有一个可以根据comboBox选项查询的数据网格。

我的代码(如下所示)用于搜索数据网格,如果找到一个带有匹配文本的行,则意味着将datagrids选择索引移动到相应的行。

    for (int i = 0; i <= DashBoard_DataGrid.Columns.Count - 1; i++)
            {
                if  (DashBoard_DataGrid.Rows[0].ToString().ToLower().Contains(comboBox9.Text.ToString().ToLower()))
                {
                    value = dr.Cells[i].Value.ToString();
                    // return dr.Cells[i].RowIndex;
                    DashBoard_DataGrid.SelectedCells[i].RowIndex =  dr.Cells[i].RowIndex;

                }
            }

但是我收到以下错误

           Error    7   Property or indexer 'System.Windows.Forms.DataGridViewCell.RowIndex' cannot be assigned to -- it is read only

有谁知道如何解决此错误?在线搜索没有给出解决方案

2 个答案:

答案 0 :(得分:1)

您正在尝试更改SelectedCell的行索引,该索引是只读的。如果您要更改所选行,则需要为DataGrid设置SelectedIndex

DashBoard_DataGrid.SelectedIndex = dr.Cells[i].RowIndex;

另外,请尝试将SelectedCells更改为SelectedRows

答案 1 :(得分:0)

试试这个

.


DashBoard_DataGrid.ClearSelection();
DashBoard_DataGrid.Rows[3].Selected = true;

或者如果您想选择特定的单元格,那么

DashBoard_DataGrid.ClearSelection();
DashBoard_DataGrid[0, i].Selected = true;

这将选择所需行的第一列..