动态添加网格列
Add grid columns dynamically
我创建了一个具有单一数据源的表单: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();
}
还有一件事,我计划添加另一个名为 "Remove details" 的按钮,它将删除第二个数据源并且网格应该 return 到其初始状态。
至少我在正确的轨道上吗?我能得到一些关于这个的提示吗?
您是否考虑过只将它们添加到表单中,而不是动态添加 datasource/fields/etc,但在需要时禁用连接的数据源?在我看来像是一个 simpler/cleaner 解决方案。
看这里:
http://olondono.blogspot.com/2008/06/how-to-enable-or-disable-joined.html
我创建了一个具有单一数据源的表单: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();
}
还有一件事,我计划添加另一个名为 "Remove details" 的按钮,它将删除第二个数据源并且网格应该 return 到其初始状态。
至少我在正确的轨道上吗?我能得到一些关于这个的提示吗?
您是否考虑过只将它们添加到表单中,而不是动态添加 datasource/fields/etc,但在需要时禁用连接的数据源?在我看来像是一个 simpler/cleaner 解决方案。
看这里: http://olondono.blogspot.com/2008/06/how-to-enable-or-disable-joined.html