Radstudio ListView 和 FireDac 绑定同步问题

Radstudio ListView and FireDac Binding Synch Issue

我有一个 table,它带有一个主键 (ID) 和一个我想绑定到 ListView 的唯一字段 (REF)。

使用 LiveBindings 创建 links 时使用:

1) (Table) * <-> 同步 (ListView)

2) (Table) ref -> Item.Text (ListView)

此外,link 与其他组件一起创建:

3) (Table) 参考 -> 文本 (ListBoxItem1)

如果 Table 的 IndexFieldNames 是 ID,则一切正常。

但我想按 REF 对记录进行排序,当我设置 IndexFieldNames = ref 时,所选 table 记录始终是 ListView 上的前一个所选项目,这意味着:

同时选中ListView.Item.Text = "Ref of Record no. 2" ListBoxItem1.Text = "Ref of Record no. 1".

我是实时绑定的新手,我是不是犯了什么错误?

我只有一个解决方法:

1) 不要连接列表视图的同步;

2) IndexFieldNames = ref

3) 内部事件 OnClick (ListView) 使用 Table.Locate 设置正确的点击记录。

在设置IndexFieldNames之前,您需要调用TBindSourceDB组件[=]的过程ResetNeeded 10=]