Delphi 与 Intraweb 8 - TIWDBLookupComboBox - 主要细节
我正在使用 IW 8 和 Delphi 7 构建一个应用程序。应用程序是 3 层的。
1)在应用程序的数据模块上,我有几个关联的 TClientDatasets 和 TDataSources(设置主从关系)
2)在 IW 表单上,我有几个 TIWDBLookupComboBox,其数据集指向数据模块数据源。
我面临的问题:当我从 TIWDBLookupComboBox 之一中选择一个值时,数据集没有反应(我正在更改主数据集的索引,因此详细数据集也应该更改)。因此,我将 clientdatasets 保存到 xml 文件并将数据导入到 win32 应用程序中,以相同的方式设置所有主详细信息,瞧 - 一切正常。
所以我的问题是: TIWDBLookupComboBoxes 似乎不会移动数据集的内部光标?如果是这样,在 TIWDBLookupComboBoxes 的 OnChange 事件上,如果我将 reno 设置为我想要的值,我会遇到表单渲染问题吗?
我该如何解决这个问题?
I'm building an application using IW 8 and Delphi 7. Application is 3-tier.
1) on the app's datamodule I have several TClientDatasets and TDataSources associated(set on master-detail relationship)
2) on an IW form I have several TIWDBLookupComboBoxes with datasets pointed to datamodule datasources.
The problem I'm facing: when I select a value from one of the TIWDBLookupComboBoxes, the datasets don't react(I'm changing the index of the master dataset, so the detail dataset should also change). So I saved the clientdatasets to xml files and imported the data into a win32 application, set all the master details in the same manner, and voila - everything is ok.
So my question is: it seems that TIWDBLookupComboBoxes don't move the internal cursor of the datasets? If so, on the OnChange event of the TIWDBLookupComboBoxes, if I set the recno to what I want I'll have problems with forms rendering?
how can I solve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我通过使用简单的 IWComboBox 组件解决了这个问题,并在 OnChange 事件中将 RecNo 属性设置为组合框的索引+1(itemindex 基于 0)。其他解决方案是使用组合框的值对数据集进行过滤。
I resolved this by using simple IWComboBox components, and on the OnChange event setting up the RecNo property to the combobox's index+1(itemindex is 0 based). Other solution is to make a filter on the dataset with the combobox's value.