我想在网格控件中实现comboBox。在网上搜索后,我找到了2个解决方案,每个解决方案都有问题:
使用 ComboBoxEditSettings ,如下所示但我无法实现属性EditValue =“..”,因为ComboBoxEditSettings不支持它。
<dxg:GridControl AutoGenerateColumns="AddNew" ItemsSource="{Binding Path=FilterList,Mode=TwoWay}" EnableSmartColumnsGeneration="True">
<dxg:GridControl.Columns>
<dxg:GridColumn Header="Table" FieldName="Table" HorizontalHeaderContentAlignment="Center" FilterPopupMode="CheckedList" AllowEditing="True" >
<dxg:GridColumn.EditSettings >
<dxe:ComboBoxEditSettings IsTextEditable="False" ItemsSource="{ Binding FilterTables}" >
</dxe:ComboBoxEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
在 DataTemplate 中使用 ComboBoxEdit ,但我的comboBox中没有显示任何内容。
<dxg:GridColumn Header="Table" FieldName="Table" HorizontalHeaderContentAlignment="Center" FilterPopupMode="CheckedList" AllowEditing="True" >
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<dxe:ComboBoxEdit AutoComplete="True" IsTextEditable="False"
ItemsSource="{Binding FilterTables, Mode=TwoWay}">
</dxe:ComboBoxEdit>
</DataTemplate>
MyViewModel.cs
private ObservableCollection<string> _filterTables;
public ObservableCollection<string> FilterTables
{
get { return _filterTables; }
set
{
SetProperty(ref _filterTables, value, () => FilterTables);
}
}
所以我的问题是如何在GridControl中使用comboBox和属性EditValue =“..”?