C# 选中复选框时将列表添加到数据网格
我的WPF不流利。我在数据网格视图中有一个列表,在数据网格之外还有一个复选框。我需要有一个输出,当选中复选框时,它将向Datagrid添加另一行。这是我的密码 .cs 我的Xaml 这是我的输出。当复选框被选中时,数据将出现在我放置红色的空间上C# 选中复选框时将列表添加到数据网格,c#,wpf,xaml,C#,Wpf,Xaml,我的WPF不流利。我在数据网格视图中有一个列表,在数据网格之外还有一个复选框。我需要有一个输出,当选中复选框时,它将向Datagrid添加另一行。这是我的密码 .cs 我的Xaml 这是我的输出。当复选框被选中时,数据将出现在我放置红色的空间上 您可以在XAML的复选框中添加选中的事件,如下所示 <CheckBox x:Name="a1" Grid.Column="0" HorizontalAlignment="Right"
您可以在XAML的复选框中添加选中的事件,如下所示
<CheckBox x:Name="a1" Grid.Column="0" HorizontalAlignment="Right" Checked="A1_Checked"/>
您可以在选中的事件处理程序中向DataTable插入新行,如下所示:
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
DataView dv = dataGrid2.ItemsSource as DataView;
DataRow newRow = dv.Table.NewRow();
newRow[0] = "";
newRow[1] = "";
newRow[2] = "";
newRow[3] = "";
newRow[4] = "";
newRow[5] = "";
dv.Table.Rows.InsertAt(newRow, 1);
}
你好,先生。这不管用,先生。它说dt2在当前上下文中不存在。它说System.ArgumentException:“Column'description'不属于表。”这可以工作,但它会在表中创建另一列。它不会像我所附的图片那样插入空格行。@angel1108:为什么它会创建另一列?它会创建另一行。您可以将该行的列值设置为您想要的任何值。我是说行对不起。我的意思是划船。它将在我包围的空间中添加另一行未插入。@angel1108:在我的示例中,它将在索引1处插入该行。您可以将第二个参数更改为要将其插入的任何索引。
<CheckBox x:Name="a1" Grid.Column="0" HorizontalAlignment="Right" Checked="A1_Checked"/>
private void A1_Checked(object sender, System.Windows.RoutedEventArgs e)
{
var row =(dataGrid.ItemsSource as DataView).ToTable().AsEnumerable().Where(x => string.IsNullOrWhiteSpace(Convert.ToString(x["Description"]))).FirstOrDefault();
if (row != null)
{
row["Description"] = "Add whatever you want";
row["Unit"] = "Add whatever you want";
....
dataGrid2.ItemsSource = dt2.DefaultView;
}
}
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
DataView dv = dataGrid2.ItemsSource as DataView;
DataRow newRow = dv.Table.NewRow();
newRow[0] = "";
newRow[1] = "";
newRow[2] = "";
newRow[3] = "";
newRow[4] = "";
newRow[5] = "";
dv.Table.Rows.InsertAt(newRow, 1);
}