我的项目中有一个 DataSet
,我想用一个表中的数据制作两个 DataGrid
.
在这个表上,我有一个值为0或1的列,我希望显示两个不同的 DataGrid
:一个只显示0和0的行 .
我在做什么是这样的:
defaultDataSet.AudioDataTable audio_table = new defaultDataSet.AudioDataTable();
SQLiteConnection con = new SQLiteConnection("Data Source=" + configurations_folder + AppDbFile);
con.Open();
SQLiteCommand cmd = con.CreateCommand();
cmd.CommandText = string.Format("SELECT * FROM Audio WHERE Type = 0");
SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);
SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter);
adapter.Fill(audio_table);
con.Close();
defaultDataSet.AudioDataTable audio_customized_table = new defaultDataSet.AudioDataTable();
con = new SQLiteConnection("Data Source=" + configurations_folder + AppDbFile);
con.Open();
cmd = con.CreateCommand();
cmd.CommandText = string.Format("SELECT * FROM Audio WHERE Type = 1");
adapter = new SQLiteDataAdapter(cmd);
builder = new SQLiteCommandBuilder(adapter);
adapter.Fill(audio_customized_table);
con.Close();
那么如何将 audio_table
和 audio_customized_table
绑定到两个DataGrids呢?我应该使用像 CollectionViewSource
这样的东西吗?如果有,怎么样?
EDIT
以下是我的XAML代码上的 DataGrid
:
<DataGrid x:Name="AudioReservedDataGrid"
ColumnHeaderHeight="60"
CanUserAddRows="False"
AutoGenerateColumns="False"
EnableRowVirtualization="True"
ItemsSource="{Binding Source={StaticResource AudioViewSource}}"
RowDetailsVisibilityMode="VisibleWhenSelected"
Loaded="AudioReservedDataGrid_Loaded"
CanUserResizeColumns="False"
CanUserReorderColumns="False"
Height="500"
CanUserSortColumns="False">
<DataGrid x:Name="AudioCustomizedDataGrid"
ColumnHeaderHeight="60"
CanUserAddRows="True"
AutoGenerateColumns="False"
EnableRowVirtualization="True"
ItemsSource="{Binding Source={StaticResource AudioViewSource}}"
RowDetailsVisibilityMode="VisibleWhenSelected"
CanUserResizeColumns="False"
CanUserReorderColumns="False"
Height="500"
CanUserSortColumns="False"
RowEditEnding="AudioCustomizedDataGrid_RowEditEnding"
CanUserDeleteRows="True">
我几乎可以肯定问题是 ItemsSource
,但我不知道如何根据需要绑定我的表格 .
1 回答
我刚刚发现了如何解决这个问题 . 我需要做两个不同的
DataTable
并从那里工作来过滤我想要的东西以及两个不同的CollectionViewSource
,因为我在我的代码上显示:在.xaml中: