gpt4 book ai didi

c# - DataGridView 检查是否选择了任何行并且它不是 NewRow

转载 作者:行者123 更新时间:2023-12-04 17:56:32 26 4
gpt4 key购买 nike

如何检查用户在datagrid View 中选择的行是否不是新行?

到目前为止,我已经尝试过了,但没有按预期工作:

If Not IsNothing(Grid.CurrentRow) And Not Grid.CurrentRow.IsNewRow Then
End If

第一个语句似乎工作正常但是当涉及到第二个时它总是返回 false 即使我选择 NewRow

最佳答案

如果您选择了新行,DataGridView 将在其 OnValidating 方法上更改当前行。因此,如果您在选择新行时单击 Button,该行将保持选中状态,但当前行将更改为其上一行。

因此,如果您想检查 ButtonClick 事件,而不是检查当前行,最好检查 SelectedRows:

C#

if (dataGridView1.SelectedRows.Count == 1 &&
dataGridView1.SelectedRows[0].Index == dataGridView1.NewRowIndex)
MessageBox.Show("New Row Selected");

VB.NET

If (DataGridView1.SelectedRows.Count = 1 AndAlso _
DataGridView1.SelectedRows(0).Index = DataGridView1.NewRowIndex) Then
MessageBox.Show("New Row Selected")
End If

注意:您提供的相关代码将一直有效,直到控件获得焦点。

关于c# - DataGridView 检查是否选择了任何行并且它不是 NewRow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40084925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com