获取WPF数据网格视图默认复选框值
本文关键字:默认 复选框 视图 网格 WPF 数据 数据网 获取 | 更新日期: 2023-09-27 18:05:26
我正在做一个WPF windows应用程序,我需要一个帮助来解决其中的一些问题。
我有一个数据网格视图;这是一个XML:
<DataGrid x:Name="MyDataGrid" Margin="0,55.333,8,209.692" Width="273.27">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" IsReadOnly="True" Binding="{Binding ID}" Visibility="Hidden" />
<DataGridTextColumn Header="CopID" IsReadOnly="True" Binding="{Binding CopID}" Visibility="Hidden"/>
<DataGridTextColumn Header="CgID" IsReadOnly="True" Binding="{Binding CgID}" Visibility="Hidden"/>
<DataGridTextColumn Header="Item Names" Width="190" IsReadOnly="True" Binding="{Binding ItemName}"/>
<DataGridCheckBoxColumn Header="Select" CanUserReorder="False" />
</DataGrid.Columns>
</DataGrid>
我想在循环中检查DataGridCheckBoxColumn CheckBox
是真还是假我的希望是当用户点击按钮时读取列值;下面是代码:
for (int i = 0; i < MyDataGrid.Items.Count - 1; i++)
{
/*Some code here for Check CheckBox True or False*/
for (int j = 0; j < MyDataGrid.Columns.Count; j++)
{
string Massage = (MyDataGrid.Items[j] as DataRowView).Row.ItemArray[3].ToString();
MessageBox.Show( Massage);
}
}
我想检查CheckBox
在循环中是真还是假,以获得行列的值,其中CheckBox
被检查,我希望有人能帮助我与我的代码竞争,我已经放弃了。我希望这段代码工作时,用户单击按钮,因为我必须保存记录与此循环在数据库中,CheckBox
是真的在MyDataGrid
。
当我选中CheckBox
调用select all时,我还想选中datagrid的all复选框。我希望有朋友能尽快帮我谢谢你
我首先会说,通常情况下,你不应该这样做,这就是为什么它比你想象的要困难。您通常应该访问底层数据源,而不是DataGrid本身的cell。
也就是说,是可能的。例如:
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
const int CHECKBOX_COLUMN = 4;
for (int i = 0; i < MyDataGrid.Items.Count - 1; i++)
{
DataGridCell cell = GetCell(i, CHECKBOX_COLUMN);
CheckBox tb = cell.Content as CheckBox;
MessageBox.Show(tb.IsChecked.ToString());
}
}
函数GetCell()
(以及GetCell使用的内部函数)可以在这里找到