Я получаю коллекцию от веб-сервиса:
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;
Проблема в том, что я не могу изменить значение столбца checkBox.
Я включил AutoGeneratedColumns (в datagridview при запуске нет никакого столбца)
ДОБАВЛЕНО:
Это работает забавно:
При первом клике идентификатор не меняет значение столбца флажка.
На второй работе, а затем начать работать нормально.
Но ... когда я щелкнул по другой строке, затем по строке, прежде чем изменить его значения
Работает как радио-кнопка ...
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();
}
}