1首先在DataGrid列头增加一个CheckBox
<DataGrid x:Name="MODataGrid" AlternationCount="1" ><DataGridColumns>
<DataGridCheckBoxColumn CanUserResize="False" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" Width="24" >
<DataGridCheckBoxColumnHeaderTemplate >
<DataTemplate>
<CheckBox x:Name="HeaderCB" Click="CheckBox_Click" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Tag="{Binding Id}" Margin="-1,0,0,0"/>
</DataTemplate>
</DataGridCheckBoxColumnHeaderTemplate>
<DataGridCheckBoxColumnCellStyle >
<Style >
<Setter Property="FrameworkElementVerticalAlignment" Value="Center" />
<Setter Property="FrameworkElementHorizontalAlignment" Value="Center" />
</Style>
</DataGridCheckBoxColumnCellStyle>
</DataGridCheckBoxColumn>
</DataGridColumns>
</DataGrid>
2在上面中注册的Click事件(Click="CheckBox_Click" ),在事件里实现将DataGrid的全选和其它 功能实现:
// 全选CheckBox事件private void CheckBox_Click(object sender, RoutedEventArgs e)
{
selectedMOListClear();//添加所选择的行索引。
CheckBox headercb = (CheckBox)sender;
if (headercbIsChecked == true)
MOCountLabelContent = MODataGridItemsCount;
else
MOCountLabelContent = 0;
//将列表中的其它行也勾选或取消勾选
for (int i = 0; i < MODataGridItemsCount - 1; i++)
{
//获取行
DataGridRow neddrow = (DataGridRow)MODataGridItemContainerGeneratorContainerFromIndex(i);
//获取该行的某列,即该行单元格
CheckBox cb = (CheckBox)MODataGridColumns[0]GetCellContent(neddrow);
cbIsChecked = headercbIsChecked;//将列头Check状态传递给下面某个checkbox
if (headercbIsChecked == true)
{
selectedMOListAdd(i);//将索引添加到List中。
}
}
}
其它CheckBox的勾选可以上面的CheckBox_Click()的方法去实现。
希望能帮到你。
// 变量
DataTable dtable =new DataTable(); //中间接收表
DataRow row; //定义行
变量dt 为DatagridView1的数据源
事件代码
Button_Click事件中代码
dtable = dtClone(); //先让中间表数据列DatagridView1的表的数据列相同
foreach (DataGridViewRow Row in dataGridView1Rows) //DataGridView全部行
{
//判断是否选中
if (RowCells["Checked"]Value!= null && (bool)RowCells["Checked"]Value!= false)
{
// ["Checked"]为勾选列的列名
DataRowView drv = RowDataBoundItem as DataRowView; //获取行中所有数据
row = (DataRow)drvRow; //将dgv行中数据添加到定义行中
dtableRowsAdd(rowItemArray); //添加就可以了。
}
else
{
continue;//继续找
}
}
dataGridView2DataSource = dtable; //最后绑定就行了
看看是不是你想要的。如果是就给分,不是的话 咱们还可以再加鈡嘛。
以上就是关于wpf求大神指教DataGrid!!!全部的内容,包括:wpf求大神指教DataGrid!!!、C#如何将DataGirdView1中勾选中checkbox多行 添加到另一个DatagridView2中急用要用代码。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)