wpf DataGrid 删除多行解决思路
wpf DataGrid 删除多行
各位老师好!
在界面上添加一个DataGrid控件,绑定一个DataTable数据源。
这种绑定,完全能将dataTable的数据显示在dataGrid上。这个没有问题。我在DataGrid第一列添加一项CheckBox
xaml 文件清单如下:
我想删除复选框选中的行,
遍历datagrid然后删除的代码是:
各位老师好!
在界面上添加一个DataGrid控件,绑定一个DataTable数据源。
this.datagrid.ItemsSource = table.DefaultView;
这种绑定,完全能将dataTable的数据显示在dataGrid上。这个没有问题。我在DataGrid第一列添加一项CheckBox
xaml 文件清单如下:
<DataGrid HorizontalAlignment="Left" Margin="12,71,0,150" Name="datagrid" Width="853" CanUserAddRows="false" AutoGenerateColumns="True" LayoutUpdated="datagrid_LayoutUpdated" Loaded="datagrid_Loaded" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="选择">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate />
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Checked="CheckBox_Checked" Tag="{Binding Path= id}" Name="select"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我想删除复选框选中的行,
遍历datagrid然后删除的代码是:
foreach (var item in datagrid.Items)
{
DataGridTemplateColumn templeColumn = datagrid.Columns[0] as DataGridTemplateColumn;
FrameworkElement s = datagrid.Columns[0].GetCellContent(item);
DataView view = new DataView();
System.Windows.Controls.CheckBox cb = templeColumn.CellTemplate.FindName("select", s) as System.Windows.Controls.CheckBox;