我有一个绑定到DataTable的DataGridView。在此表中有一些外键。然后我使用CellFormatting事件从另一个数据库表中获取每个外键的相应文本。
我想在用户点击标题时对DataGridView进行排序。自动排序有效,但不正确,因为它是在ValueMember(ForeignKey ID)上排序而不是在DisplayMember(文本)上排序。
我尝试使用SortCompare事件,但后来我发现它在使用DataSource属性的DataGridViews上不起作用。
如何做到这一点?
由于
答案 0 :(得分:1)
通过在初始语句中添加嵌套的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