【问题标题】:Sort a DataGridView by DisplayMember按 DisplayMember 对 DataGridView 进行排序
【发布时间】:2010-05-24 09:05:34
【问题描述】:

我有一个绑定到 DataTable 的 DataGridView。在这个表中有一些外键。然后我使用 CellFormatting 事件从另一个数据库表中为每个外键获取相应的文本。

我想在用户单击标题时对 DataGridView 进行排序。自动排序有效但不正确,因为它是在 ValueMember(外键 ID)上而不是在 DisplayMember(文本)上排序。

我尝试使用 SortCompare 事件,但后来得知它不适用于使用 DataSource 属性的 DataGridViews。

如何做到这一点?

谢谢

【问题讨论】:

    标签: winforms


    【解决方案1】:

    通过在初始语句中添加嵌套选择语句来解决此问题。

    从这里:

    SELECT id, column1, column2, column3_fk 
    FROM   db_table
    

    到这里:

    SELECT id, column1, column2, column3_fk, 
           (
             SELECT DESC FROM db_table2 
             WHERE id = db_table1.column3_fk
           ) AS fk_description 
    FROM   db_table1
    

    【讨论】:

      猜你喜欢
      • 2012-05-10
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多