我在DataGridView中有几个列,每行都有数据。我在这里看到了一些解决方案,但我无法将它们结合起来!
我想实现的功能是右键单击一行时,选择整行并显示一个菜单,其中有删除行的选项,选择该选项后将删除该行。
我尝试过几次,但都没有成功,而且看起来很混乱。我应该怎么办?
我在DataGridView中有几个列,每行都有数据。我在这里看到了一些解决方案,但我无法将它们结合起来!
我想实现的功能是右键单击一行时,选择整行并显示一个菜单,其中有删除行的选项,选择该选项后将删除该行。
我尝试过几次,但都没有成功,而且看起来很混乱。我应该怎么办?
可以使用 DataGridView
的 RowTemplate
属性来实现。请注意:此代码未经测试,但我之前使用过这种方法。
// 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;
就是这样,就这么简单!