【发布时间】:2010-04-02 09:14:54
【问题描述】:
我从 webservice 获取集合:
var allPlaceHolders =
from ph in new MyService().GetPlaceHolders()
select new { Code = ph.Code, Name = ph.Name, Related = false };
dgPlaceHoldersAdd.DataSource = allPlaceHolders.ToList();
Designer.cs:
this.dgPlaceHoldersAdd.ColumnHeadersHeightSizeMode =
System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgPlaceHoldersAdd.Location = new System.Drawing.Point(3, 54);
this.dgPlaceHoldersAdd.Name = "dgPlaceHoldersAdd";
this.dgPlaceHoldersAdd.RowHeadersVisible = false;
this.dgPlaceHoldersAdd.Size = new System.Drawing.Size(286, 151);
this.dgPlaceHoldersAdd.TabIndex = 15;
问题是,我无法更改复选框列的值。
我已启用 AutoGeneratedColumns(在开始的 datagridview 中没有任何列)
添加:
这很有趣: 首先点击 id 不会改变复选框列的值。 在第二次工作,然后开始正常工作。
但是...当我点击另一行然后在更改他的值之前行
它像单选按钮一样工作......
private void dgPlaceHoldersAdd_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == 2 && e.RowIndex > -1)
{
dgPlaceHoldersAdd.ReadOnly = false;
dgPlaceHoldersAdd.CurrentRow.Cells[2].ReadOnly = false;
//dgPlaceHoldersAdd.EndEdit();
}
}
【问题讨论】:
标签: c# winforms linq datagridview