怎么 得到 DBGrid选中行的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么 得到 DBGrid选中行的数据相关的知识,希望对你有一定的参考价值。

一般是你鼠标点到哪一行,其DataSet的指针就指到了什么位置
你可以直接通过DataSet.Fields[i].Value来得到结果

如果是选择多行的话,可以使用循环来做,加个判断
DataSet.First;
while not DataSet.Eof do
begin
if DBGrid1.SelectedRows.CurrentRowSelected then
begin
for i := 0 to DbGrid1.Columns.Count - 1 do
begin
DBGrid1.Columns.Items[i].Field.Value //获得值
end;
end;
DataSet1.Next;
end;
参考技术A 一般是你鼠标点到哪一行,其DataSet的指针就指到了什么位置
你可以直接通过DataSet.Fields[i].Value来得到结果

如果是选择多行的话,可以使用循环来做,加个判断
DataSet.First;
while not DataSet.Eof do
begin
if DBGrid1.SelectedRows.CurrentRowSelected then
begin
for i := 0 to DbGrid1.Columns.Count - 1 do
begin
DBGrid1.Columns.Items[i].Field.Value //获得值
end;
end;
DataSet1.Next;
end;

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.

以上是关于怎么 得到 DBGrid选中行的数据的主要内容,如果未能解决你的问题,请参考以下文章

delphi7的dbgrid选中一行双击后,弹出新窗口,并将dbgrid选中行的值传给新窗口?

delphi dbgrid 怎么才能只选中第一列

DELPHI dbgrid 选中的是第几行 怎么判断?

fastreport打印预览里的数据怎么和dbgrid中查询出来的数据不一样

winform datagridview怎么选中多行

关于delphi AdvStringGrid1问题