如何防止datagridview在打开时选择第一个单元作为currentcell

时间:2013-07-31 19:10:55

标签: vb.net datagridview

我正试图找到一种方法来防止我的datagridview选择第一个单元格作为默认单元格。现在我有代码,如果负数在导入的单元格中,我的datagridview中的单元格的背景颜色变为红色。但是,这在我的第一个单元格中无法正常工作,因为它在导入时默认已突出显示。如果有人能够找到如何关闭单元格的选择,我将非常感激! :)

我知道它必须像DataGridView1.CurrentCell.Selected = False那样简单

6 个答案:

答案 0 :(得分:7)

处理DataGridView的DataBindingComplete事件:

private void myGrid_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
    myGrid.ClearSelection();
}

答案 1 :(得分:0)

尝试

 datagridview.currentrow.selected = true

这将使整行被选中,因此改变当前颜色的代码不会受到影响。

我有一个创建焦点的代码,但我忘了它。设置你需要改变方向的网格选择

答案 2 :(得分:0)

这个(和不同的选择模式网格视图)

Public Function Grdvw_Cell_Unselect(ByVal Grdvw As DataGridView) As Boolean
    ' cancel all defaut selection in a datagridview
    Grdvw_Cell_Unselect = False
    Try
        Grdvw.ClearSelection()
        Grdvw.Item(0, 0).Selected = False
        Grdvw_Cell_Unselect = True
    Catch ex As Exception
    End Try
End Function

然后使用如下: Grdvw_Cell_Unselect(your_datagridview)......

答案 3 :(得分:0)

试试这个,对我有用。将此代码放在表单代码中的任何位置,并在其中包含datagrid。

Private Sub YourDataGridName_DataBindingComplete(ByVal sender As System.Object, _
    ByVal e As System.Windows.Forms.DataGridViewBindingCompleteEventArgs) _
    Handles YourDataGridName.DataBindingComplete

    Dim DGV As DataGridView
    DGV = CType(sender, DataGridView)
    DGV.ClearSelection()
End Sub

source

答案 4 :(得分:0)

对我有用的是清除选​​择,然后根据行索引设置行。希望这会有所帮助。

   GridView.ClearSelection()
   GridView.Rows(RowIndex).Selected = True
   GridView.DataSource = DataTable
   GridView.Refresh()

答案 5 :(得分:0)

datagridview 绑定 Paint 的事件。

点击 datagridview > 属性 > 画图 > 双击画图附近的空间 > 它将创建类似于这样的方法: datagridview1_Paint(object sender, PaintEventArgs e)

在显示的方法中写入这两行:enter code here

private void datagridview1_Paint(object sender, PaintEventArgs e) {
    this.datagridview1.ClearSelection();
    this.datagridview1.CurrentCell = null;
}