DataGridView 中当前选定行的索引

     2023-02-22     67

关键词:

【中文标题】DataGridView 中当前选定行的索引【英文标题】:Index of Currently Selected Row in DataGridView 【发布时间】:2011-04-04 10:29:02 【问题描述】:

就这么简单。如何获取DataGridView 的当前选定Row 的索引?我不想要 Row 对象,我想要索引 (0 .. n)。

【问题讨论】:

【参考方案1】:
dataGridView1.SelectedRows[0].Index;

或者,如果您想使用 LINQ 并获取所有选定行的索引,您可以这样做:

dataGridView1.SelectedRows.Select(r => r.Index);

【讨论】:

很有帮助(IndexOf 还没有真正“在我的雷达上”),但是因为没有必要获取行,所以需要回旋处。 .Index 方法正是我想要的。【参考方案2】:

在 DGV 的 SelectedRows 集合中使用 Index 属性:

int index = yourDGV.SelectedRows[0].Index;

【讨论】:

你觉得这个更好还是DGV.CurrentCell.RowIndex? 当前单元格在某些情况下可能不会被选中,所以这是更好的方法。 @thethuthinnang 当你没有选择行时,@JayRiggs 的解决方案会抛出索引错误二。你最好用if 包裹它【参考方案3】:

DataGridView 的CurrentCell 属性有RowIndex 属性。

datagridview.CurrentCell.RowIndex

如上处理SelectionChanged事件并找到选中行的索引。

【讨论】:

完美。这似乎最简单/最快,甚至超过 SelectedRows[0].Index。这是一个好的假设吗? 嗯,我没有考虑选择多行。在这种情况下,我不确定当前单元格的行为。 如果是 Excel 之类的,选择的列表可以是多行/多列,但只有一个当前/活动单元格。我只关心当前行,所以这应该没问题。 我知道这篇文章很旧,但它可能对其他人有所帮助:CurrentCell 返回“活动”单元格,这与“选定”不同。即使选择了多行,活动单元格也可能在其他地方,并且只能有一个活动单元格 而且,即使您取消选择数据网格视图中的所有内容,其中一个单元格仍将处于活动状态,因此您不能依赖它为 null 或类似的东西存在未选择任何行。【参考方案4】:

试试DataGridView.CurrentCellAddress。

返回:一个点,表示当前活动单元格的行和列索引。

例如选中第一列第五行,返回:Point( X=1, Y=5 )

【讨论】:

P.S.既然我要了行索引,如果你说DataGridView.CurrentCellAddress.Y ... :) 我认为在这一点上所有这些答案都是有效的,这取决于你要选择哪个最适合你的目的。我建议输入不同的实现并查看 .NET Reflector (red-gate.com/products/reflector) 中的 IL,如果您真的想查看为每个实现生成了什么代码,但正如许多人所说,这是微优化。这真的取决于最明确的意图。 PS 注意以后会更清楚。【参考方案5】:

试试这个它会工作...它会给你所选行索引的索引...

int rowindex = dataGridView1.CurrentRow.Index;
MessageBox.Show(rowindex.ToString());

【讨论】:

【参考方案6】:
dataGridView1.SelectedRows[0].Index;

在这里找到所有关于datagridview C# datagridview tutorial

琳达

【讨论】:

【参考方案7】:

试试这个

bool flag = dg1.CurrentRow.Selected;

if(flag)

  /// datagridview  row  is  selected in datagridview rowselect selection mode


else

  /// no  row is selected or last empty row is selected

【讨论】:

谢谢,当使用与 gridview 无关的控件时,我需要确定所选行的隐藏值。【参考方案8】:

尝试以下方法:

int myIndex = MyDataGrid.SelectedIndex;

这将给出当前选择的行的索引。

希望对你有帮助

【讨论】:

【参考方案9】:

我修改了@JayRiggs 的答案,这很有效。你需要if,因为有时候SelectedRows可能是空的,所以索引操作会抛出异常。

if (yourDGV.SelectedRows.Count>0)
    int index = yourDGV.SelectedRows[0].Index;

【讨论】:

【参考方案10】:

你可以试试这个代码:

int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;

【讨论】:

【参考方案11】:

试试看:

int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());

希望对你有帮助。

【讨论】:

感谢您的参与,但您的答案与提供解决方案 datagridview.CurrentCell.RowIndex 的所选(也是最受好评的答案)重复。抱歉,我建议将这篇文章作为完整副本删除。【参考方案12】:

如果点击获取行值,我使用:

private void dataGridView_Product_CellClick(object sender, DataGridViewCellEventArgs e)
    int rowIndex;
    //rowIndex = e.RowIndex; //Option 1
    //rowIndex= dataGridView_Product.CurrentCell.RowIndex; //Option 2
    rowIndex = dataGridView_Product.CurrentRow.Index; //Option 3

【讨论】:

获取 DataGridView 中选定行的单元格内容

】获取DataGridView中选定行的单元格内容【英文标题】:GetcellcontentsofaselectedrowinaDataGridView【发布时间】:2011-04-2115:31:22【问题描述】:我有一个从数据库填充的DataGridView。我正在尝试获取在RowEnter事件中选择的行的内容。我已将... 查看详情

从datagridview中选定行的值的ID中获取名称

】从datagridview中选定行的值的ID中获取名称【英文标题】:TogetthenamefromtheIDofthevalueintheselectedrowindatagridview【发布时间】:2021-07-2919:47:18【问题描述】:我在gridview中隐藏Author_ID和Publisher_ID。我希望当我单击一行时,作者和发布者... 查看详情

datagridview

datagridview.CurrentCell.RowIndex;是当前活动的单元格的行的索引DataGridView1.CurrentRow.Index获得包含当前单元格的行的索引 datagridview.SelectedRows是选中行的集合datagridview.SelectedColumns是选中列的集合datagridview.SelectedCells是选中单元格的集... 查看详情

如何在 DataGridView 中获取选定的 DataRow?

】如何在DataGridView中获取选定的DataRow?【英文标题】:HowDoIGettheSelectedDataRowinaDataGridView?【发布时间】:2009-05-2123:27:39【问题描述】:我有一个绑定到DataGridView的DataTable。我在DGV中启用了FullRowSelect。有没有办法将所选行作为DataRo... 查看详情

如何在 Eclipse 的代码辅助弹出窗口中更改当前选定行的颜色?

】如何在Eclipse的代码辅助弹出窗口中更改当前选定行的颜色?【英文标题】:HowtochangethecolorofthecurrentlyselectedlineinacodeassistpopupinEclipse?【发布时间】:2011-05-2301:44:12【问题描述】:我最近下载了Eclipse3.6,一切正常,但有一个问题... 查看详情

迭代时,选定网格行的索引为 -1

】迭代时,选定网格行的索引为-1【英文标题】:Indexis-1onselectedrowsofgridwhileiterating【发布时间】:2013-01-1203:23:54【问题描述】:我的要求是遍历网格的所有选定行并在数据源上设置一个具有给定值的字段。我有以下代码并遍历ken... 查看详情

winformc#datagridview选中行急!!!

introws=dataGridView1.indexrows;//获得选种行的索引stringstr=dataGridView1.rows[rows].cells[num].text;//获取第rows行的索引为num列的值我写的这样可以获取选种的行,列的值!问题是indexrow这个属性居然没有...但是有selectedrows选中行的集合我现在要... 查看详情

c#获取datagridview选中行的行数

dataGridView的数据是从数据库里获取的;现在要通过button对选中行进行操作;所以要获取选中行的行数和具体列数据inti=this.dataGridView1.CurrentRow.Index;//获取你选中的行编号stringname1=this.dataGridView1["name1",i].Value.ToString();... 查看详情

.net中在控件datagridview获取当前选中行中的数据怎么写?

参考技术A首先,在绑定的时候,要设置一个DataKeys,DataGridView.datakeys=newstring"绑定的数据库id的名字";然后再intid=DataGridView.DataKeys[e.RowIndex].Value.ToString();这就可以获取当前行的id,就可以根据id做你想要的 参考技术BDataGri... 查看详情

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

获取总行数:dataGridView1.Rows.Count;获取当前选中行索引:inti=this.dataGridView1.CurrentRow.Index;获取当前选中列索引:intj=this.dataGridView1.CurrentCell.ColumnIndex;DataGridView的几个基本操作:1、获得某个(指定的)单元格的值:dataGridView1.Row[i].Ce... 查看详情

winformdatagridviewcheckbox全选问题

...考一下,十分感谢!!我推测你应该是使用DataSet绑定到DataGridView的,当按下全选按钮时,通过更改DataSet(DetaTable)中的值来达到选中的目的,由于第一行是当前行,当前行的编辑没有结束之前是不会更新到DataGridView上的。你可... 查看详情

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

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

密码正确后从 DataGridView 中删除选定的行

】密码正确后从DataGridView中删除选定的行【英文标题】:DeleteselectedrowsfromDataGridViewafterpasswordiscorrect【发布时间】:2015-07-0208:02:16【问题描述】:在用户以另一种形式输入正确密码后,我想从连接到Access数据库的datagridview中删除... 查看详情

wpf的datagrid中如何获取当前被选定的行的第一个单元格的值?

点击哪一行,就获得哪一行的编号参考技术AprivatevoiddtList_PreviewMouseDoubleClick(objectsender,MouseButtonEventArgse)varitem=this.dtList.SelectedItem;varid=(DataRowView)this.dtList.SelectedItem;intbh=Convert.ToInt32(id["编号"]);MessageBox.Show(bh.ToString());//这样绝... 查看详情

如何取消选择 DataGridView 控件中的所有选定行?

】如何取消选择DataGridView控件中的所有选定行?【英文标题】:HowtodeselectallselectedrowsinaDataGridViewcontrol?【发布时间】:2011-05-1721:54:00【问题描述】:当用户单击控件的空白(非行)部分时,我想取消选择DataGridView控件中的所有选... 查看详情

datagridview 中选定的组合框值问题

】datagridview中选定的组合框值问题【英文标题】:SelectedComboboxvalueissueindatagridview【发布时间】:2015-06-1217:25:04【问题描述】:我有一个带有组合框的datagridview表。现在我想检查在选中一行时是否选择了组合框值。if(combobox.Selected... 查看详情

从 DataGridView 选定的单元格中获取文本

】从DataGridView选定的单元格中获取文本【英文标题】:GettextfromDataGridViewselectedcells【发布时间】:2010-10-1723:19:12【问题描述】:我有一个DataGridView,其中包含来自包含数据的数据库文件的单元格。基本上,我想从DataGridView中的sel... 查看详情

获取选定行的 ExtJS4 可编辑网格返回空

】获取选定行的ExtJS4可编辑网格返回空【英文标题】:ExtJS4editablegridgettingselectedrowreturnsempty【发布时间】:2011-08-1512:07:08【问题描述】:尝试使用CellEditing插件在网格上获取选定的行索引(然后设置记录的另一个字段值),但getS... 查看详情