Сгенерированный вручную DataGridViewCheckBoxColumn не обновляет связанный объект - PullRequest
0 голосов
/ 23 мая 2011

При использовании DataGridView.AutoGenerateColumns = True, логическое свойство связанного объекта обновляется нормально, но не при добавлении столбцов вручную.Значения остаются ложными.

Есть ли какие-то параметры, которые мне нужно установить при добавлении DataGridViewCheckBoxColumn?Кажется, этого недостаточно для установки .DataPropertyName.

Я вижу, что у него есть некоторые другие свойства, такие как .TrueValue, .FalseValue и т. Д., Но вы не знаете, для чего они нужны?

Или мне нужно написать какой-нибудь тип пользовательских событий CellFormatting / CellValidating?

РЕДАКТИРОВАТЬ: я добавляю столбец методом расширения:

    <Extension()> _
Public Sub AddCheckBoxColumn(ByVal dgv As DataGridView, ByVal propertyName As String, ByVal colName As String, ByVal fillWeight As Integer)
    Dim col As New DataGridViewCheckBoxColumn(False)
    col.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
    col.HeaderText = colName
    col.Name = colName
    col.Width = fillWeight
    col.DataPropertyName = propertyName
    dgv.Columns.Add(col)
End Sub

Ответы [ 2 ]

0 голосов
/ 23 мая 2011

нашел мою ошибку.Имел неполный метод расширения с тем же именем в другой библиотеке.Поэтому он не использовал метод, который я менял.

0 голосов
/ 23 мая 2011

Может быть, вы ошиблись названием связанного поля? Это должно работать, пока ваш столбец данных имеет логический тип.

Если нет, TrueValue будет выражать значение для установки, когда флажок установлен, и FalseValue будет выражать значение, если флажок не установлен, например, вы можете сопоставить строки «Проверено» и «Не проверено» с полем типа строка.

  1. Правильно ли работает чтение с поля?
  2. Можете ли вы установить флажок, или он останется непроверенным при нажатии на него?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...