我创建了一个包含单个数据源的表单:InventJournalTable
。
我还在其上添加了一个网格,并在数据源中添加了两个字段:JournalType
和JournalId
ActionPane
有一个按钮,在其点击的事件处理程序中,我尝试执行以下操作:
1. add a new data source and join it with the current one on JournalId
2. add to fields from the newly added data source to the current Grid.
这就是我现在所拥有的...仅用于测试..我试图访问数据源并添加范围。它工作得很好,也许连接工作也正常,但我怎样才能添加这两个字段?
void clicked()
{
Query query;
QueryBuildDataSource qbdsInventJournalTable;
QueryBuildDataSource qbdsvwInventJournals;
super();
query = InventJournalTable_ds.query();
qbdsInventJournalTable = query.dataSourceTable(tableNum(InventJournalTable));
qbdsInventJournalTable.addRange(fieldNum(InventJournalTable, JournalType)).value(queryValue(InventJournalType::LossProfit));
qbdsvwInventJournals = qbdsInventJournalTable.addDataSource(tableNum(vwInventAdjJrnlCostAmount));
qbdsvwInventJournals.addLink(fieldNum(InventJournalTable, JournalId), fieldNum(vwInventAdjJrnlCostAmount, JournalId));
qbdsvwInventJournals.joinMode(JoinMode::OuterJoin);
//gridOverview.addDataField(
InventJournalTable_ds.executeQuery();
}
还有一件事,我计划添加另一个名为“删除详细信息”的按钮,它将删除第二个数据源,并且网格应该返回其初始状态。
我至少走在正确的轨道上吗?我可以得到一些关于此的提示吗?
答案 0 :(得分:5)
您是否只考虑在表单上添加数据源/字段等,而不是动态添加数据源/字段等,但是在需要之前禁用已连接的数据源?在我看来,这是一个更简单/更清洁的解决方案。
见这里: http://olondono.blogspot.com/2008/06/how-to-enable-or-disable-joined.html