winform如何从DataGridView中从右键菜单获取一行数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform如何从DataGridView中从右键菜单获取一行数据相关的知识,希望对你有一定的参考价值。
我在winform 一个界面有个dataGridView 我现在用鼠标右键单击dataGridView 中其中任意一行,然后转到别的界面,我想知道在现在的界面怎么获取上个界面 dataGridView 那行的数据? 最好能给代码提示!谢谢!
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
那你弄个右键菜单不久可以了吗? 参考技术B 加一个右键菜单,在它的click事件里
pulilc static string str = dataGridView1.SelectedRows[0].Cells[1].Value;.ToString();
用变量得到选中项的第1行和第2列的值 参考技术C 应该是给GridView加一个自定义事件,具体怎么写去网上找找吧。
C# winform datagridview 里的下拉框中 既可以从下拉框里选择数据,也可以让客户自己手动往里输入数据,怎
参考技术A DataGridViewComboBoxColumn cmbox = dataGridView1.Columns["绑定列"] as DataGridViewComboBoxColumn;cmbox.DataSource = ds.Tables[0];
cmbox.DisplayMember = "ctype";
cmbox.ValueMember = "ctype";
cmbox.DataPropertyName = "ctype";
comboBox1.DataSource = CommonSerivce.GetDataSetByColomnName("Customer_Info", "clevel");
或者采用以下方法:
((DataGridViewComboBoxColumn)dataGridView1.Columns["绑定列"]).DataSource = ds;
((DataGridViewComboBoxColumn)dataGridView1.Columns["绑定列"]).DisplayMember = "clevel";
((DataGridViewComboBoxColumn)dataGridView1.Columns["绑定列"]).ValueMember = "clevel";
((DataGridViewComboBoxColumn)dataGridView1.Columns["绑定列"]).DataPropertyName = "company"; 参考技术B 这很简单,自定义列,列的类型选择Combobox就行了
定义列在DataGridView属性中进行 参考技术C 楼上正解
以上是关于winform如何从DataGridView中从右键菜单获取一行数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在winforms c#中从图片框中裁剪和保存非矩形但多边形区域[重复]
使用Entity Framework时如何在Winform场景下实现DataGridView的分页?