Getting row number of highlighted datatable row c#
我现在正在编写一个使用连接到 SQL 数据库的数据表的 C# 程序。我需要允许程序从程序和数据库中删除突出显示的行。现在我有一个关于按键删除的工作事件,它运行一个 SQL 命令来删除条目,但是,它删除了所有条目而不是选定的行(这是由于另一个问题)。基本上,我想知道如何返回当前突出显示的行。如果我可以返回那个号码,那么我可以继续我的程序。
例如,我在数据表的前 5 行中有数据,但我喜欢突出显示(通过单击)并删除第 3 行。如果我可以返回第三行,那么我可以根据一组不同的条件编写不同的 SQL 语句来处理。
谢谢。
- 你的表模式是什么?你的删除查询是什么?使用一些唯一的 ID 来告诉您要删除的行(例如 autoincremenet、sequence 或 guid)。为什么不使用一些会为您查询的 ORM?
-
我认为大多数人会将 DataTable 绑定到某种网格,并让它的 delete 方法处理这些事情。我会给出建议,但你没有说是 winforms 还是 web forms 或者 mvc 或者你正在使用什么。 =)
-
你能在..中展示你正在这样做的事件吗?还有,你怎么不能在 DataGridss SelectedChanged 事件 var selectedIndex = YourDataGrid.SelectedRows[0].Index; 上做这么简单的事情,谷歌在做一个简单的搜索时能产生什么惊人的结果 stackoverflow.com/questions/11260843/
-
Methodman:我能够通过几件事来解决我的问题。首先是将 Datagridview selectionmode 更改为 FullRowSelect。这就是我试图问的问题,但不知道该怎么说。设置好之后,我使用您提供的参考来编写其余代码,它现在可以工作了。谢谢你。
假设您使用 Bindingsource 将数据加载到 Datagridview:
1 2 3 4 5
| if(myBindingSource.Current != null)
{
myBindingSource.RemoveCurrent();
myBindingSource.EndEdit();
} |