我所做的是设置支持多行选择的数据网格。然而,问题是,当AutoGenerateColumns
设置为false时,多行选择有效,但我从数据库上传的数据不会显示。当我将AutoGenerateColumns
切换为true时,我可以看到数据,但单击多选功能停止工作。
这是xaml代码:
<DataGrid x:Name="Hello" ItemsSource="{Binding Path=Albums}"
Grid.Row="0"
AutoGenerateColumns="True" SelectionMode="Extended" Loaded="dgCustomers_Loaded">
<DataGrid.Columns>
<DataGridCheckBoxColumn ElementStyle="{DynamicResource MetroDataGridCheckBox}"
EditingElementStyle="{DynamicResource MetroDataGridCheckBox}"
Header="IsSelected"
Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}, Path=IsSelected, Mode=OneWay}"
/>
</DataGrid.Columns>
</DataGrid>
这就是我填写数据网格的方式:
private void dgCustomers_Loaded(object sender, RoutedEventArgs e)
{
var grid = sender as DataGrid; //Creates its self as an object
grid.ItemsSource = CustomerDataAdapter.GetData(); //Shows all of the data in the Customer table
}
我认为您不能同时执行自动生成列&在XAML中显式指定列。我相信这是其中之一。我认为您必须将CCD_ 3设置为false&指定每列&它的绑定。