DisplayMember对DataGridView进行排序
问题描述:
我有一个绑定到DataTable的DataGridView。在这个表中有一些外键。然后,我使用CellFormatting事件从另一个数据库表中为每个外键获取相应的文本。DisplayMember对DataGridView进行排序
我想在用户单击标题时对DataGridView进行排序。自动排序工作但不正确,因为它是在ValueMember(ForeignKey ID)上排序,而不是在DisplayMember(文本)上排序。
我试过使用SortCompare事件,但后来我发现它不适用于使用DataSource属性的DataGridViews。
这怎么办?
谢谢
答
通过在初始语句中添加一个嵌套的select语句来解决这个问题。
从这:
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