winform如何从DataGridView中从右键菜单获取一行数据 5
crazy_ices 谢谢您!您说是单击事件,我的意思是右键单击 拿到当前行的引用!我就能在别的界面进行处理! 展开
拖拽一个ContextMenuStrip到界面上,设置好列头要显示的菜单,可以通过编程来动态设置
DataGridView设置ColumnHeaderMouseClick事件:
代码如下:
private void DataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
Point point = DataGridView1.PointToScreen(new Point(0, 0));
int x = 0;
DataGridViewColumnCollection columns = DataGridView1.Columns;
for (int i = 0; i < e.ColumnIndex; i++)
{
if (columns[i].Visible)
x += columns[i].Width;
}
menu1.Show(DataGridView1.PointToScreen(new Point(x + e.X, e.Y)));
}代码说明:
只处理右键事件
处理隐藏列的问题和菜单显示位置。
string str = dgvuserInfo.CurrentRow.Cells[0].Value.ToString();
意思为获取当前点击行的第一列的值。“dgvuserInfo”为dataGridView的ID
那你弄个右键菜单不久可以了吗?
pulilc static string str = dataGridView1.SelectedRows[0].Cells[1].Value;.ToString();
用变量得到选中项的第1行和第2列的值