c# 在datagridview 中 用鼠标选中一行删除并保存到数据库怎么实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 在datagridview 中 用鼠标选中一行删除并保存到数据库怎么实现?相关的知识,希望对你有一定的参考价值。

如题

datagridview.selectrows[0] 这个就是你选中的那一行。可以用datagridview.selectrows[0].cells["列号或者列名"].value来确定这个行的某一个单元格的值。然后在数据库里进行更改。
删除datagridview的一行的话用datagridview.rows.remove就可以移除掉。或者重新绑定数据源也行。追问

remove后重新绑定数据源的操作是什么呢? 新手 多讲解下 谢谢啦~

追答

重新绑定数据源就是datagridview.datasource=你的数据源

参考技术A 设计数据库的时候你就可以给当前表单加一个状态字段填写 0 or 1。在读取列表显示的只读取状态为0的数据,然后再列表点击删除之后可以把当前选中行的数据的字段状态改为1,实际上就是一个修改功能。这样列表就就只会显示你需要的数据。不需要的数据就不会显示,但是存在数据库里面! 参考技术B 你看看这个吧http://blog.csdn.net/wlccomeon/article/details/9100447,希望对你有帮助本回答被提问者采纳 参考技术C 删除了还保存到数据库?

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#winform拖的datagridview控件,当选中一行数据以后鼠标离开之后,就选不中了

C#如何将DataGirdView1中勾选中checkbox多行 添加到另一个DatagridView2中急用要用代码。

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

c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行

c# datagridview怎么不选中行

在c#中怎么删除datagridview里面的一条数据