右键单击选择Datagridview中的行并显示菜单以删除它

68

我在DataGridView中有几个列,每行都有数据。我在这里看到了一些解决方案,但我无法将它们结合起来!

我想实现的功能是右键单击一行时,选择整行并显示一个菜单,其中有删除行的选项,选择该选项后将删除该行。

我尝试过几次,但都没有成功,而且看起来很混乱。我应该怎么办?


你的问题太模糊了。请在遇到问题的地方添加更多细节。你想要做什么并不是很困难。 - leppie
12个回答

0

可以使用 DataGridViewRowTemplate 属性来实现。请注意:此代码未经测试,但我之前使用过这种方法。

// Create DataGridView
DataGridView gridView = new DataGridView();
gridView.AutoGenerateColumns = false;
gridView.Columns.Add("Col", "Col");

// Create ContextMenu and set event
ContextMenuStrip cMenu = new ContextMenuStrip();
ToolStripItem mItem = cMenu.Items.Add("Delete");
mItem.Click += (o, e) => { /* Do Something */ };           

// This makes all rows added to the datagridview use the same context menu
DataGridViewRow defaultRow = new DataGridViewRow();
defaultRow.ContextMenuStrip = cMenu;

就是这样,就这么简单!


0

我有一个新的解决方法,可以用更少的代码来实现相同的结果。

对于Winforms...以下是一个例子(葡萄牙语)

  1. 在您的表单中创建一个contextMenuStrip并创建一个项目
  2. 为此contextMenuStrip签署一个事件点击(OnCancelarItem_Click) enter image description here
  3. 在gridview上创建一个'UserDeletingRow'事件 enter image description here 现在...您已经模拟了用户按下删除键

    您不要忘记在gridview上启用删除功能,对吧?!

在此输入图像描述 在此输入图像描述 最后... 在此输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接