我正试图找到一种方法来防止我的datagridview选择第一个单元格作为默认单元格。现在我有代码,如果负数在导入的单元格中,我的datagridview中的单元格的背景颜色变为红色。但是,这在我的第一个单元格中无法正常工作,因为它在导入时默认已突出显示。如果有人能够找到如何关闭单元格的选择,我将非常感激! :)
我知道它必须像DataGridView1.CurrentCell.Selected = False那样简单
答案 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;
}