以编程方式在WPF组合框上显示不同的值(ItemsSource数据表AsDataView)

时间:2019-06-30 11:35:39

标签: wpf

我有一个DataTable,并且ComboBox从该表中获取项目为:

SQLiteDataAdapter sQLiteDataAdapter = new SQLiteDataAdapter(_command);
DataTable dataTable = new DataTable("Alarm");
sQLiteDataAdapter.Fill(dataTable);

cboxAlarmFilterSeverity.DisplayMemberPath = "severity";
cboxAlarmFilterSeverity.SelectedValuePath = "severity";
cboxAlarmFilterSeverity.ItemsSource = dataTable.AsDataView();

我只想将不同的值带到ComboBox。我知道,我可以使用此查询,但是我不想使用:

_command.CommandText = "SELECT DISTINCT severity FROM [Alarm]";

我可以使用此solution,但它不应与XAML交互,而应以编程方式进行。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

DataView有一个ToTable方法,该方法创建一个新的DataTable,其中包含具有不同值的行:

cboxAlarmFilterSeverity.ItemsSource = dataTable.AsDataView()
    .ToTable(true, "severity")
    .DefaultView;