2

我使用 Microsoft Visual Studio 2005。我遇到了 DataGridView 试图阻止索引返回到第一个单元格和所选单元格的持久性的问题。

当更新是由于光标到第一个单元格时

我这样做是为了阻止它

Private Sub DataGridView100_RowsAdded(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewRowsAddedEventArgs) Handles DataGridView100.RowsAdded


    DataGridView100.Columns(0).Selected = False
    DataGridView100.Rows(0).Selected = False
    DataGridView100.Rows(0).Cells(0).Selected = False

    'Another way

    'DataGridView100.ClearSelection()

End Sub

我现在想要的:当我选择一个单元格或一列以留在所选选项中时

第二个问题也想如果单元格内的数字发生变化来改变该单元格的背景

4

1 回答 1

0

这是在 C# 中,但可能你会做类似的事情。

第一:改变背景颜色:

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
 // your code here
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Red
}

您是否需要仅在单元格中的数字更改时才更改的条件?您是否需要通过手动更改单元格内容或通过程序更改来触发更改?

二:保存选择

首先存储选中的行索引:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 
{
  nSelectedRowIndex = e.RowIndex;

}

然后在你的DataGridView100_RowsAdded

// your code

dataGridView1.ClearSelection();
dataGridView1.Rows[nSelectedRowIndex].Selected = true

这适用于选定的行,您可以存储选定的单元格索引,然后添加.Cells[nSelectedCellIndex.Selected = true

于 2013-11-27T08:05:34.230 回答