2016-08-14 12 views
0

exporter 플러그인과 함께 Dojo EnhancedGrid를 사용하고 있습니다. 그리드에는 표시된 필드와 편집 가능한 필드가 많이 있습니다. editable에는 저장소에 실제 값 대신 "displayValue"를 표시하기 위해 하나의 DateTextBox와 Formatter가 첨부 된 두 개의 FilteringSelects가 있습니다. 예를 들어 여기 내 공급 업체 필드 : 나는 CSV 문자열을 내보낼 때, 나는 문자열의 SupplierName 대신 공급 업체 ID를 얻을 수DOJO CSVWriter가 표시 데이터를 가져 오지 않습니다.

{field: 'SupplierId', name: 'Supplier', editable: editable, widgetClass: FilteringSelect, width: 6, 
    widgetProps: { 
     store: comboSupplierStore, 
     searchAttr: 'name', 
     labelAttr: 'name' 
    }, 
    formatter: function(data, rowIndex) { /*[kgf]*/ 
     /*alert("data "+data)*/ 
     var genId = 'supplier_' + rowIndex; 
     var store = this.widgetProps.store; 
     var attr = "name"; 

     setTimeout(function() { 
      store.fetchItemByIdentity({ 
        identity: data, 
        onItem: dojo.partial(displayValue, genId, store, attr) 
      }); 
     }, 50); 
     /*for now return a span with a predetermined id for us to populate.*/ 
     return '<span id="' + genId + '"></span>'; 
    } 
}, /*Next field, and so on...*/ 

(내가 도장 포럼에 [KGF]에서 포맷을 복사).

grid.exportGrid('csv', function(str){ 
    /*I do something with the string */ 
} 

누군가가 수출이 포매터를 "무시"왜 나를 확인하는 데 도움이 수 없습니다 : 나는 내가 CSV 문자열로 내보낼 onclick 이벤트를 정의하는 버튼이 ?

답변

0

당신은, 포맷터의 ID를 반환하지 있는가에 id가 'supplier_'접두사입니다

'<span id="' + genId + '"></span>'; 

:

VAR에 GenID = 'supplier_'+ rowIndex에;

+0

아니요. 'supplier_'+ rowIndex는 공급 업체의 실제 ID가 아닙니다. rowIndex는 EnhancedGrid를 채우는 데 사용 된 저장소의 데이터 행 인덱스입니다. 각 행에는 다른 공급 업체가 포함될 수 있으며 동일한 SupplierId를 포함하는 여러 행이있을 수 있습니다. 이 그리드는 구매 수요를 나타냅니다. –