Search 为Openbravo ERP的smartclient网格组件中的联接表定义高级标准
我是OpenBravo ERP系统的新手,所以如果我发布了一个明显的问题,我很抱歉 我在Openbravo ERP中创建了一个自定义MDI视图,添加了一些输入字段,用于在Smarclient的包含订单的listgrid中过滤产品名称。我已经创建了一个Order数据源,并将其绑定到Smartclient网格。我想要实现的是根据添加到输入文本字段中的产品名称过滤网格中的订单列表。我尝试了几种方法,但没有成功。 所以我开始质疑是否可以在网格的fetchData函数中的AdvancedCriteria中添加联接表 以下是我的代码片段:Search 为Openbravo ERP的smartclient网格组件中的联接表定义高级标准,search,smartclient,openbravo,Search,Smartclient,Openbravo,我是OpenBravo ERP系统的新手,所以如果我发布了一个明显的问题,我很抱歉 我在Openbravo ERP中创建了一个自定义MDI视图,添加了一些输入字段,用于在Smarclient的包含订单的listgrid中过滤产品名称。我已经创建了一个Order数据源,并将其绑定到Smartclient网格。我想要实现的是根据添加到输入文本字段中的产品名称过滤网格中的订单列表。我尝试了几种方法,但没有成功。 所以我开始质疑是否可以在网格的fetchData函数中的AdvancedCriteria中
isc.ELB_MainView.addProperties({
form: null,
grid: null,
initWidget: function () {
this.grid = isc.OBGrid.create({
setDataSource: function (ds, fields) {
var selectedFields = [],
fs = OB.Constants.FIELDSEPARATOR,
ident = OB.Constants.IDENTIFIER,
fieldNames = ['documentNo', 'documentStatus', 'orderDate', 'accountingDate', 'businessPartner'+fs+ident, 'currency'+fs+ident],
i, j;
for(i = 0; i < fieldNames.length; i++) {
for(j in ds.fields) {
if(ds.fields.hasOwnProperty(j) && j === fieldNames[i]) {
selectedFields.push(ds.fields[j]);
}
}
}
this.Super('setDataSource', [ds, selectedFields]);
this.fetchData();
}
});
this.form = isc.DynamicForm.create({
fields: [{name : "productName",
title: "Product Name",
type : "text",
width: '100%',
change: function(form, item, value, oldValue){
form.main.grid.invalidateCache();
form.main.grid.fetchData({
_constructor: 'AdvancedCriteria',
operator: 'and',
criteria: {
'fieldName': 'orderLineList.product.name',
'operator': 'equals',
'value': value
}
});
this.Super('change', arguments);
}}],
main: this
});
OB.Datasource.get('Order', this.grid, null, true);
this.addMember(this.form);
this.addMember(this.grid);
this.Super("initWidget", arguments);
}
});
Tnx提前发布。上发布了关于为listgrid数据源连接表的类似问题 以下是我的解决方案,它肯定会解决您的问题: 创建通过连接网格所需的表而创建的视图,并将其用作数据源