DataGridView默认行/单元格选择问题

时间:2011-10-06 03:32:59

标签: c# events datagridview selectionchanged

DataGridView设置为Full Row Select。 需要一种方法来清除由DataGridView的默认属性

完成的默认选定行

我也在使用SelectionChanged事件 那个dgv有4列

如果我离开默认行选择,SelectionChanged在加载时会触发4次,而我根本不需要它。

我尝试使用RowsPostPaint事件清除选择但不激活SelectionChanged事件但我无法选择之后的任何行。

有什么想法吗? 感谢

3 个答案:

答案 0 :(得分:0)

要取消选择初始行选择,您可以枚举SelectedRows并将Selected属性设置为false。要防止在选择初始行时触发SelectionChanged事件,请在取消选择后手动添加事件。

例如,在表单的Load事件中:

foreach(DataGridViewRow row in dataGridView1.SelectedRows)
    row.Selected = false;

dataGridView1.SelectionChanged += dataGridView1_SelectionChanged;

答案 1 :(得分:0)

使用此

表单加载:

     datagridview.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(datagridview_DataBindingComplete);

和听众:

    private void datagridview_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
    {
        datagridview.ClearSelection();
    }

请注意,无论何时更改数据源,您的默认选择都会隐藏。

答案 2 :(得分:0)

填充数据网格后,试试这个。

  

datagrid.ClearSelection();