首页 新闻 会员 周边

WPF中如何用ContextMenu删除datagrid中选中的某一行

0
[待解决问题]

如何通过上下文菜单ContextMenu(右键菜单)实现删除行的操作,问题详细内容为:我已经在DataGrid中添加了上下文菜单:以下是标记,DataGrid所绑定的数据在一个名叫m_Records的链表中。该对象的类型包含Time和Record属性:<DataGridName="dataGrid"><DataGrid.Conte...我已经在DataGrid中添加了上下文菜单:

以下是标记,DataGrid所绑定的数据在一个名叫m_Records的链表中。该对象的类型包含Time和Record属性:

<DataGrid Name="dataGrid">

<DataGrid.ContextMenu>

<ContextMenu>

<MenuItem Header="删除" Click="MenuItem_Click"></MenuItem>

</ContextMenu>

</DataGrid.ContextMenu>

<DataGrid.columns>

<DataGridTextColumn Header="时间" Binding={"Binding Path=Time"}></DataGridTextColumn >

<DataGridTextColumn Header="内容" Binding={"Binding Path=Record"}></DataGridTextColumn >

</DataGrid.columns>

</DataGrid>

以下是事件处理程序:

private void MenuItem_Click(object sender, RoutedEventArgs e)

{}

请问要怎么样才能实现,单击菜单的删除项后,就把鼠标下方的项从dataGrid中删除?

选中一行后,在grid右键也会出菜单,这样有违常理。

不会通过row的事件或方法进行删除。

这是我写的,但是删除失败,不知道为什么??
private void MenuItem_Click_1(object sender, RoutedEventArgs e)
{

        string strconn = "server=.;database=diancaixitong;integrated security=true";
        SqlConnection sqlconn = new SqlConnection(strconn);
        sqlconn.Open();
        //隐形转换为datagridview 定义为某行
        DataRowView a = (DataRowView)Datagrid.SelectedItem;
        //定义到单元格
        string id = a.Row[0].ToString();
        //textbox内容等于点击事件
        
        if (MessageBox.Show("是否确定删除?", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Information) == MessageBoxResult.OK)
        {
            string sqladd = string.Format("delete from DishMenu where Dish_No='{0}'", id);
            SqlCommand sqlcmd = new SqlCommand(sqladd, sqlconn);
            sqlcmd.ExecuteNonQuery();
            if (sqlcmd.ExecuteNonQuery() > 0)
            {
                MessageBox.Show("删除成功!", "提示", MessageBoxButton.OK);
                string str = "select * from DishMenu";
                SqlDataAdapter sqlstr = new SqlDataAdapter(str, sqlconn);
                DataSet ds = new DataSet();
                sqlstr.Fill(ds, "table1");
                Datagrid.DataContext = ds;

            }
            else
            {
                MessageBox.Show("删除失败!","提示",MessageBoxButton.OK);
            }
        }
小幂幂的主页 小幂幂 | 菜鸟二级 | 园豆:204
提问于:2019-06-16 12:30
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册