在我的C#WPF应用程序中,我以编程方式将ComboBoxColumn添加到DataGrid:
public static DataGridComboBoxColumn getCboCol(string colName, Binding textBinding)
{
List<string> statusItemsList = new StatusStrList();
DataGridComboBoxColumn cboColumn = new DataGridComboBoxColumn();
cboColumn.Header = colName;
cboColumn.SelectedItemBinding = textBinding;
cboColumn.ItemsSource = statusItemsList;
return cboColumn;
}
如果包含DataGrid的项目包含我的StatusStrList
不包含的文本,则不会显示该文本。
示例:如果我的StatusStrList
包含A, B, C
且DataGrid的项目包含X
,则X
将不会显示为文字ComboBox。
我该如何解决这个问题?
提前致谢, 基督教
答案 0 :(得分:0)
DataGridComboBoxColumn
动态不足以执行此类操作,但您可以使用DataGridTemplateColumn
。下面的代码应该实现您需要的功能。它的工作原理是使用包含CellTemplate
的{{1}},可以轻松显示不在TextBlock
的{{1}}内的项目。进入编辑模式将调出包含列表中所有项目的ItemsSource
。
ComboBox