OpenBravo ERP 시스템에서 초보자입니다. 명백한 질문을 게시하면 죄송합니다.Openbravo ERP 용 스마트 클라이언트 그리드 구성 요소의 조인 테이블에 대한 고급 기준을 정의하십시오.
Openbravo ERP에서 사용자 지정 MDI보기를 만들고 주문이 들어있는 Smarclient의 목록 그리드에서 제품 이름을 필터링하기위한 입력 필드를 추가했습니다. 주문 데이터 소스를 작성하고이를 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 : 여기
내 코드의 조각이다.