DataGridViewCheckBoxColumn不能更改值

a81420754 2011-03-11 08:45:28
绑定数据以后不能改变选中状态,代码:
private void data_playersTBXL_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex != -1 && e.ColumnIndex == 1)
{
DataGridViewCheckBoxCell cell = data_playersTBXL.Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewCheckBoxCell;
cell.Value = (Convert.ToBoolean(cell.EditedFormattedValue)) ? false : true;
}
}


是哪些属性没设置对?readOnly=false这个设置了,还有哪些吗?
...全文
690 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
rekym 2011-03-11
  • 打赏
  • 举报
回复
绑定架构的数据是不能改的.....

LZ可以考虑绑定后新增一个选中列,再循环赋值....

或者可以逐行填充到datagridview,不用数据绑定
yyz985 2011-03-11
  • 打赏
  • 举报
回复
List源的数据是不允许编辑的,你把它加到DataTable里面去,或者在List上实现指定的接口。具体按F1,实现接口很麻烦,推荐还是用DataTable。
a81420754 2011-03-11
  • 打赏
  • 举报
回复
还是没有解决,我绑定的数据源是List<>,checkbox列是bool值
whrspsoft3723 2011-03-11
  • 打赏
  • 举报
回复
public static void Check_DataGrid(DataGridView dg, int iCol, int iRow, string sColumnName_Checked) {
if (dg == null) return;
if (iRow == -1 || iCol == -1) return;

if (iCol == dg.Columns[sColumnName_Checked].Index) {
DataGridViewCell cell = dg.Rows[iRow].Cells[sColumnName_Checked];

if (cell.Value != DBNull.Value) {
bool b = Convert.ToBoolean(cell.Value);
cell.Value = !b;
}
else {
cell.Value = true;
}
}

DataGridViewDataErrorContexts ctx = new DataGridViewDataErrorContexts();
if (dg.IsCurrentRowDirty) dg.CommitEdit(ctx);
}
yalan 2011-03-11
  • 打赏
  • 举报
回复
如果你确认代码没问题,你看看你的DataGridView控件的ReadOnly属性是否为false
yalan 2011-03-11
  • 打赏
  • 举报
回复
测试了好几遍,上来就能选择呵呵~~~~~


DataGridViewCheckBoxColumn newcolumn = new DataGridViewCheckBoxColumn();
newcolumn.HeaderText = "选择";
dataGridView1.Columns.Add(newcolumn);
dataGridView1.DataSource = ds.Tables[0];
yyz985 2011-03-11
  • 打赏
  • 举报
回复
漏了,还有Cell.ReadOnly

但是好像并不需要手写代码来更改checkbox值吧?
yyz985 2011-03-11
  • 打赏
  • 举报
回复
DataGridView.ReadOnly
Column.ReadOnly
Row.ReadOnly
a81420754 2011-03-11
  • 打赏
  • 举报
回复
谁来帮我看下,自己顶!!!

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧