【问题标题】:Getting row number of highlighted datatable row c#获取突出显示的数据表行的行号c#
【发布时间】:2015-11-13 19:47:56
【问题描述】:

我现在正在编写一个使用连接到 SQL 数据库的数据表的 C# 程序。我需要允许程序从程序和数据库中删除突出显示的行。现在我有一个关于按键删除的工作事件,它运行一个 SQL 命令来删除条目,但是,它删除了所有条目而不是选定的行(这是由于另一个问题)。基本上,我想知道如何返回当前突出显示的行。如果我可以返回那个号码,那么我可以继续我的程序。

例如,我在数据表的前 5 行中有数据,但我喜欢突出显示(通过单击)并删除第 3 行。如果我可以返回第三行,那么我可以根据一组不同的条件编写不同的 SQL 语句来处理。

谢谢。

【问题讨论】:

  • 你的表架构是什么?你的删除查询是什么?使用一些唯一的 ID 来告诉您要删除的行(例如 autoincremenet、sequence 或 guid)。你为什么不使用一些 ORM 来为你做查询?
  • 我认为大多数人会将 DataTable 绑定到某种网格并让其删除方法处理这些事情。我会给出建议,但你没有说是 winforms 还是 web forms 还是 mvc 或者你正在使用什么。 =)
  • 你能在..中展示你正在这样做的事件吗?还有你为什么不能在DataGrids's SelectedChanged 事件var selectedIndex = YourDataGrid.SelectedRows[0].Index; 上做这么简单的事情@ 谷歌在进行简单搜索时可以产生什么stackoverflow.com/questions/11260843/…
  • Methodman:我可以通过多种方式解决我的问题。首先是将 Datagridview selectionmode 更改为 FullRowSelect。这就是我想问的,但不知道该怎么说。设置好之后,我使用您提供的参考来编写其余代码,它现在可以工作了。谢谢。

标签: c# sql database datatable


【解决方案1】:

假设您使用Bindingsource 将数据加载到Datagridview

if(myBindingSource.Current != null)
{
  myBindingSource.RemoveCurrent();
  myBindingSource.EndEdit();
}

【讨论】:

    猜你喜欢
    • 2012-04-25
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 2015-08-04
    • 1970-01-01
    相关资源
    最近更新 更多