【问题标题】:Issue with Datagridview checkbox columnDatagridview 复选框列的问题
【发布时间】:2012-01-28 10:43:41
【问题描述】:

我在 datagridview 中添加了一个复选框列,并在 datagridview 中动态添加每一行的值

现在,当我单击 Datagridview 对第一行进行排序时,复选框会自动取消选中

我已经在 datagridview 的排序事件中编写了代码,以在 datagridview 中再次绑定数据 但仍然第一行复选框列自动取消选中

这是我的代码

   if (attachedActiveStatus.ContainsKey(row.Cells["ServerId"].Value.ToString()))
            {

                DataGridViewCheckBoxCell cell1 = (DataGridViewCheckBoxCell)row.Cells[0];
                cell1.Value = true;

                row.Cells[0].Value = "true";

               row.Cells[4].Value = attachedPriority[row.Cells["ServerId"].Value.ToString()];

                switch (attachedActiveStatus[row.Cells["ServerId"].Value.ToString()])
                {
                    case "0":
                        row.Cells["Status"].Value = "Offline";

                        break;

                    case "1":
                        row.Cells["Status"].Value = "Active";

                        break;

                    case "2":
                        row.Cells["Status"].Value = "Inactive";

                        break;

                }


            }        

【问题讨论】:

  • 你能把你的代码放在这里吗?
  • 这个是属于winform还是asp.net的,有更多的标签吗?
  • 如果您按上述方式添加,那么您在排序事件中绑定了什么/如何绑定,复选框的值为 false 吗?
  • 这段代码是在之前的排序事件中编写的,当我对所有可编辑的动态行进行排序时,数据被清除,现在在排序事件中处理此代码后一切正常,但 datagridview 中的第一行复选框未选中

标签: c# winforms datagridview


【解决方案1】:

我认为您的问题可能是由于以下行:

row.Cells[0].Value = "true";

这是再次设置复选框的值,您已经在上面的行中设置了:

cell1.Value = true;

【讨论】:

    猜你喜欢
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    相关资源
    最近更新 更多