我已经绑定了DataGrid,其中我将CheckBoxColumn作为其第一个col和标题中的Checkbox。如果选中,则检索该行的数据。代码是:
<DataGrid AutoGenerateColumns="False" Name="dgvSiSelection" BorderBrush="#FFB7B39D" Background="LightYellow" RowBackground="LightGray" AlternatingRowBackground="#FFFFFFF5" BorderThickness="10" FontSize="13" FontFamily="Segoe UI" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{Binding BoolProperty, Mode=TwoWay}"/>
<DataGridTextColumn Header="" Binding="{Binding SiHeader}" MinWidth="108" IsReadOnly="True"/>
<DataGridTextColumn Header="Number of Chemicals" Binding="{Binding S_NumberOfCases}" />
<DataGridTextColumn Binding="{Binding S_Value1}" >
<DataGridTextColumn.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" Text="Value1"/>
<CheckBox Name="chkNValue1" Grid.Column="0" Width="16" IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGridColumn}}, Path=DataContext.AllItemsAreChecked}" />
</Grid>
..................
在上面的网格中,我在第一列和标题上都有复选框和标题。基于对各个复选框数据的选择进行检索。
当我设置DaraGrid的ItemSource时,项目显示正确但是第一个col&amp;的复选框。未选中列标题。我找不到设置第一行复选框的方法。
另外如何选择chkNValue1?
如何设置或如何完成此操作。
CODE 我导入数据并相应地加载数据网格:
List<SIData> sd = mw.xlsImpExp.GetStep5SiList();
dgvSiSelection.ItemsSource = sd;
// SI Grid - Check the ValueX checkbox on header
for (int i = 0; i < sd.Count; i++)
{
SIData s = sd[i];
if (s.S_Value1 > 0)
chkNValue1.IsChecked = true;
if (s.S_Value2 > 0)
chkNValue2.IsChecked = true;
if (s.S_Value3 > 0)
chkNValue3.IsChecked = true;
if (s.S_Value4 > 0)
chkNValue4.IsChecked = true;
if (s.S_Value5 > 0)
chkNValue5.IsChecked = true;
}
要检查ValuesX列的复选框,我管理了上述代码。但是想知道它们是否比循环更简单容易。
对于col1复选框,我根本没有代码。我不知道如何实现它。我需要在设置网格的ItemSource时设置它。
任何指南,帮助表示赞赏。
由于