【问题标题】:Changing Checkbox Value in datagridview C# winforms在datagridview C# winforms中更改复选框值
【发布时间】:2017-03-17 15:24:28
【问题描述】:

我想知道根据 DataGridView 复选框单元格值选择哪个事件来进行更改是正确的。

当复选框被选中时我想做“A” 未选中时为“B”。

我使用了 CurrentCellDirtyStateChanged 事件,它部分工作。 如果我更改值然后留在单元格中并再次更改它会导致不需要的行为(调用 cellclick 事件)。

我该如何预防呢?

【问题讨论】:

  • 来自 msdn:要在单击单元格时提交更改,您必须处理 DataGridView.CurrentCellDirtyStateChanged 事件。在处理程序中,如果当前单元格是复选框单元格,则调用 DataGridView.CommitEdit 方法并传入 Commit 值。您是在调用 Commit 编辑并传递 Commit 值吗?
  • 我已经读过了,但我不知道如何在我的代码中使用它。
  • 我也不知道如何将它与您的代码一起使用,因为我没有您的代码...编辑您的问题并添加您的代码。还添加标签以表明您正在使用 Windows 窗体,因此人们不会建议 Web 解决方案等。

标签: c# checkbox datagridview


【解决方案1】:

试试这个:

<asp:TemplateField HeaderText="View">
   <ItemTemplate>
      <asp:CheckBox ID="chkview" runat="server" AutoPostBack="true" OnCheckedChanged="chkview_CheckedChanged" />
   </ItemTemplate>
</asp:TemplateField>

在 .cs 页面中,

protected void chkview_CheckedChanged(object sender, EventArgs e)
{
    //Handle desired behavior 

}

【讨论】:

  • 谢谢,但我在 C# 中使用表单而不是 asp。
  • 您使用的是 ASP.net 还是 winforms?
  • winforms,我忘了说,对不起
猜你喜欢
  • 2018-02-05
  • 2012-07-20
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多