我试图找到一种方法来阻止我的 datagridview 选择第一个单元格作为默认单元格。现在,如果导入的单元格中有负数,我有代码可以将我的 datagridview 中的单元格的背景色变为红色。但是,这在我的第一个单元格中无法正常工作,因为默认情况下它已经在导入时突出显示。如果有人能找到如何关闭单元格的选择,我将不胜感激!:)
我知道它一定很简单,比如 DataGridView1.CurrentCell.Selected = False
我试图找到一种方法来阻止我的 datagridview 选择第一个单元格作为默认单元格。现在,如果导入的单元格中有负数,我有代码可以将我的 datagridview 中的单元格的背景色变为红色。但是,这在我的第一个单元格中无法正常工作,因为默认情况下它已经在导入时突出显示。如果有人能找到如何关闭单元格的选择,我将不胜感激!:)
我知道它一定很简单,比如 DataGridView1.CurrentCell.Selected = False
处理 DataGridView 的 DataBindingComplete 事件,如下所示:
private void myGrid_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
myGrid.ClearSelection();
}
尝试
datagridview.currentrow.selected = true
这将使整行被选中,因此更改当前背景颜色的代码不会受到影响。
我有一个创建焦点的代码,但我忘记了。要设置网格的选择,您需要更改方向
试试这个,对我有用。将此代码放在表单代码中的任何位置,其中包含数据网格。
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
(来源)
对我有用的是清除选择,然后根据行索引设置行。希望这可以帮助。
GridView.ClearSelection()
GridView.Rows(RowIndex).Selected = True
GridView.DataSource = DataTable
GridView.Refresh()
这个工作(和不同的选择模式网格视图)
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) ...
Paint
为datagridview绑定事件。
单击 datagridview > Properties > Paint > 双击 Paint 附近的空间 > 它会创建类似这样的方法:datagridview1_Paint(object sender, PaintEventArgs e)
如图所示,在该方法中写入这两行:enter code here
private void datagridview1_Paint(object sender, PaintEventArgs e) {
this.datagridview1.ClearSelection();
this.datagridview1.CurrentCell = null;
}