wpf中datagrid控件选定一行,写了一个删除按钮,点击按钮应该怎样删除这行?

2024-12-02 23:18:43
推荐回答(4个)
回答1:

WPF中你可以这样:定义一个DataTable,然后通过SQL从数据库中获取相关数据填充这个DataTable,并将其作为datagrid的数据源,具体可这样操作:
datagrid.ItemsSource = null;
datagrid.Items.Clear();
datagrid.ItemsSource = DataTable.DefaultView;
datagrid.SelectedValuePath = "主键字段名";
当选中datagrid中一项时,可以根据datagrid.SelectedValue(实际的值)去删除数据库相关的记录,然后再重新刷新datagrid的数据源。
不知道这样说,明白么?当然你也可以在页面通过xaml进行双向绑定操作集合来实现。

回答2:

很简单啊,你不是添加了一个按钮吗?在按钮的Tag绑定一个属性,就是你这个集合里面类的主键比如说是ID,然后再按钮上加一个事件
代码写:
button aBtn=asender as Button;
string ID=aBtn.Tag.ToString();
这样的话,你要删除这行的ID都知道了,就不用告诉你怎么去删除了吧!

回答3:

给你的DataGrid.SelectedValuePath设置Binding 到数据集的主键,这样主键就会跟随你的选中项,删除的时候只需要拿DataGrid.SelectedValue的值就是主键值了

回答4:

d.Row="6" Name="dg" AutoGenerateColumns="False" Hyperlink.Click="DataGridHyperlinkColumn_Click">





private void DataGridHyperlinkColumn_Click(object sender, RoutedEventArgs e)
{
var dg = sender as DataGrid;
var row = dg.SelectedItem as Pages;
if(row !=null)
row.WindowEnty.Show();
}

pages辅助类:
public class Pages
{
public Window WindowEnty
public int Title
}

定义datagrid的source:
var demo = new WDemo();
var list2 = new List };
dg.ItemsSource = list2;