C#使DatagridView不能被选中

Posted 青丝·旅人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#使DatagridView不能被选中相关的知识,希望对你有一定的参考价值。

private void DataTable_SelectionChanged(object sender, EventArgs e)

  DataTable.ClearSelection();//清空表格控件选择项

DataTable为控件名称

c# datagridview 如何选中行,以及怎么获取选中行的数据

有一个datagridview控件
默认的是点击以后只选择了一个单元格
怎么样可以改成点击(左击或者右击)选择一行啊
还有一个contextMenuStrip控件,想实现获取选择的数据的功能
怎么样获取所选择行的数据?
网上搜了一些文章,感觉都是讲的太多,不是我要的

C#如何获取DataGridView对象单元格的内容,这里介绍下获取方法。

1、首先需要在事件列表中找到DataGridView对象的CellClick事件。

2、然后在此事件中,会有DataGridCiewCellEventArgs事件变量e。

3、此时便能利用DataGridCiewCellEventArgs事件变量e的RowIndex属性获得行索引,但是我们需要加1。

4、并且还能通过CurrentCellAddress属性组的X和Y坐标,也是能够获得行列索引。

参考技术A

可以设置DataGridView的SelectionMode属性为FullRowSelect 实现左键点击选取整行,右击的话就需要在鼠标点击事件里面实现了
如下:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)

if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
if (e.Button == System.Windows.Forms.MouseButtons.Right)

dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;


右键菜单自己设置关联上dgv就可以,右键菜单的按钮点击事件内容如下:
if (dataGridView1.CurrentRow == null) return;
DataGridViewRow dgvr = dataGridView1.CurrentRow;
string val = dgvr.Cells["???"].Value.ToString();你自己要获取的数据

扩展内容

c#怎么获取datagridview选中多行的每一行中的某一列的值

var datagridview = new DataGridView();
var dataselect = datagridview.SelectedRows;
var label = new Label();
foreach (DataGridViewRow row in dataselect)

label.Text += row.Cells[1].Value + "\\n";

c# datagridview 如何选中行-搜狗百科

参考技术B 可以设置DataGridView的SelectionMode属性为FullRowSelect 实现左键点击选取整行,右击的话就需要在鼠标点击事件里面实现了
如下:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)

if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
if (e.Button == System.Windows.Forms.MouseButtons.Right)

dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;


右键菜单自己设置关联上dgv就可以,右键菜单的按钮点击事件内容如下:
if (dataGridView1.CurrentRow == null) return;
DataGridViewRow dgvr = dataGridView1.CurrentRow;
string val = dgvr.Cells["???"].Value.ToString();你自己要获取的数据本回答被提问者和网友采纳
参考技术C 可以设置DataGridView的SelectionMode属性为FullRowSelect 实现左键点击选取整行,右击的话就需要在鼠标点击事件里面实现了
如下:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)

if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
if (e.Button == System.Windows.Forms.MouseButtons.Right)

dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;


右键菜单自己设置关联上dgv就可以,右键菜单的按钮点击事件内容如下:
if (dataGridView1.CurrentRow == null) return;
DataGridViewRow dgvr = dataGridView1.CurrentRow;
string val = dgvr.Cells["???"].Value.ToString();你自己要获取的数据
参考技术D

赞同一楼的做法.选定FullRowSelect.

以上是关于C#使DatagridView不能被选中的主要内容,如果未能解决你的问题,请参考以下文章

c# DataGridViewCheckBoxColumn的问题,如何删除DataGridView里被选中的项?

c# datagridview怎么不选中行

数据库 C# datagridview可不可以让某一列禁止被更改

c# datagridview 如何选中行,以及怎么获取选中行的数据

C#中如何实现TreeView控件选中根结点相应的子节点也选中,同时将信息相应的显示到DataGridView控件中。

请问c# 的winform 怎么获取 datagridview选中的行数和列数啊