我正在尝试将绑定DataGridViewComboBoxColumn
添加到绑定DataGridView
。我的组合框列工作在下拉列表中。但是,更改选定的值不会更新我的数据源。
以下是相关代码:
var SplitsView = new BindingList<SplitPaymentView>(
Splits.Select(t => new SplitPaymentView(t)).ToList());
dgvSplits.DataSource = SplitsView;
var mediaCol = new DataGridViewComboBoxColumn() {
Name = "Media",
DataSource = AvailableMedias,
DisplayIndex = 4,
DisplayMember = "Description",
ValueMember = "ID",
ValueType = typeof(short),
HeaderText = "Payment Media",
};
mediaCol.DataPropertyName = "MediaId";
dgvSplits.Columns.Add(mediaCol);
我的SplitPaymentView
课程确实有public short MediaId {get;set;}
属性。但是,当我在setter中设置断点时,在更改组合框的值时不会调用它。
然后我检查了新列的IsDataBound
属性的值,它总是false
。
dgv中的其他(自动生成)列已正确绑定。我以为我只需设置列DataPropertyName
并将其添加到dgv,但似乎我遗漏了一些东西。
我错过了什么?