【问题标题】:How can I Change Button Enabled property when select row in DataGridView在 DataGridView 中选择行时如何更改 Button Enabled 属性
【发布时间】:2014-01-22 20:49:08
【问题描述】:

我有带有一些数据的 DataGridView,我有一个 Button 的 Enabled 属性设置为 (False),我想这样做:当我从 DataGridView 中选择行时,Button Enabled 属性更改为 (True )。

我尝试了这段代码,但它不起作用,所以当我从 DataGridView 中选择行时,Button Enabled 属性仍然 (False)。请帮忙。

Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If (Me.DataGridView1.SelectedRows.Count <> 0) Then
        Button1.Enabled = True
    End If
End Sub

【问题讨论】:

  • 这是 webforms 还是 winforms?
  • @JoelCoehoorn:在我看来就像 WinForms。
  • @Neolisk 同意。代码中的 DataGridView 指向 Winforms。但是,代码的结构可以采用任何一种方式,并且在散文中使用 GridView 促使我要求澄清。 GridView = Web 窗体。 DataGridView = Winforms。

标签: vb.net winforms gridview


【解决方案1】:

使用CellClick 事件。像这样。

Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
    If DataGridView1.SelectedRows.Count = 0 Then
    Else
        Button1.Enabled = True
        Button2.Enabled = True
    End If
End Sub

不要复制/粘贴,我只是输入的。先检查一下。

【讨论】:

  • 感谢可爱的VB,我正在用 CellClick 事件尝试我的代码,它运行良好。
  • Button1.Enabled = (DataGridView1.SelectedRows.Count &gt; 0 ) 你可以使用表达式来跳过 IF,尤其是空的 IF
  • 不知道有这样的东西。
【解决方案2】:

如果这是 WinForms,你要处理 Grid 的 SelectionChanged 事件:

Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
    Button1.Enabled = ( DataGridView1.SelectedRows.Count > 0 )
End Sub

如果这是 WebForms,您需要重新考虑这一点。您应该使用 javascript 来控制它,而不是通过回发来更改按钮状态。如果您能告诉我们更多有关此页面上下文的信息,我们可以更好地帮助您了解 javascript 的外观。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多