2016-08-14 4 views
0

エクスポータプラグインでdojoエンハンストグリッドを使用しています。 グリッドには多くの表示フィールドといくつかの編集可能フィールドがあります。 編集可能なアイテムの中には、実際の値の代わりに "displayValue"を表示するために、1つのDateTextBoxと2つのFilteringSelectsがあります。例えば は、ここに私のサプライヤーフィールドです:私は、CSV文字列をエクスポートする場合、私は文字列にSupplierNameの代わりに仕入先を取得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]からフォーマッタをコピーしました)。 私はCSV文字列にエクスポートするonClickイベントを定義したボタンがあります。

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

は、誰かが輸出国は、フォーマッタを「無視」なぜ私が見るのを助けるだろうか?

答えて

0

あなたは、フォーマッタでIDを返さないされていますidは 'supplier_' プレフィックスである

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

VARられたGenID = 'supplier_' + rowIndexに。

+0

いいえ、 'supplier_' + rowIndexはサプライヤの実際のIDではありません。 rowIndexは、EnhancedGridにデータを格納するために使用されたストアのデータ行のインデックスです。各行には異なるサプライヤを含めることができ、同じSupplierIdを含む複数の行が存在する可能性があります。このグリッドは購買需要を表します。 –

関連する問題