【问题标题】:datagridview update [duplicate]datagridview更新[重复]
【发布时间】:2009-09-26 16:56:07
【问题描述】:

我有一个数据网格视图,其源是数据表。有订单和食物名称列。我将新值插入此 datagridview 并从表中删除。当我选择一行并删除它时,选定的颜色会移到顶部,如果我想再删除一个相同食物的订单,我必须每次重新单击它。我怎么解决这个问题? 顺便说一句,我在插入或从 sql 中删除后更新 datagridview,就像这样;

ds.Clear();
da.Fill(ds);
dataGridView2.DataSource = ds.Tables[0];

da 和 ds 是这样定义的;

 da = new SqlDataAdapter(sqlcommand);
 ds = new DataSet();

【问题讨论】:

    标签: c# sql database datagridview


    【解决方案1】:

    也许如果您在删除之前将当前选择的索引存储到一个变量中,然后在您的 DataSet 被填充后移动到该索引。

    【讨论】:

    • 如果我没记错的话,DataGridView.DataSource 和 DataSet.Tables[0] 将完全共享相同的参考。如果是这样,移动 DataSet.Tables[0].Rows[savedIndex] 应该可以完成这项工作。否则,Windows 窗体中还有一个对象由一个窗体实例拥有,它是 BindingContext[BindingSource/DataSource] 周围的东西,这将允许您使用 CurrencyManager,然后通过这个 CurrencyManager,您将能够获得该位置DataSource 中当前选定项/行的索引。
    • 我以为您想从数据源中执行此操作。但实际上,您可以随时获取 DataGridView 的 Rows 集合等,如您发布的链接中所述。重要的是你实现了你想做的事情。 =)
    猜你喜欢
    • 1970-01-01
    • 2010-12-23
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 2012-06-16
    • 1970-01-01
    相关资源
    最近更新 更多