1

ですから、私が現在行っている方法よりも、これを行うためのより良い方法があるに違いないことはわかっています。ユーザーが並べ替えやフィルタリングなどを行える剣道タイプのページがあります。dataSource オブジェクトを掘り下げることで、並べ替えとフィルターを抽出し、それらを作成した新しい dataSource に適用するのに十分な情報を見つけたので、それをサーバーに送信して Excel ファイルを作成できます。これで、適用されたフォーマットを取得するだけで済みます。これが私がこれまでに持っているものです。

dataSource = $("#grid").data("kendoGrid").dataSource;
filters = dataSource.filter();
sorts = dataSource.sort();
options = dataSource.options;//not sure if this is what I need
allData = dataSource.data();
query = new kendo.data.Query(allData);
kendoDataSource = query;        

if(filters && sorts) {
    kendoDataSource = kendoDataSource.filter(filters).sort(sorts).data;
}else if(filters) {
    kendoDataSource = kendoDataSource.filter(filters).data;
}else if(sorts) {
    kendoDataSource = kendoDataSource.sort(sorts).data;
}else{
    kendoDataSource = kendoDataSource.data;
}

これにより、kendoDataSource 配列を繰り返し処理し、配列のすべての値 (json オブジェクト) を文字列化して、フィルターと並べ替えに関してユーザーが見ているものを正確に得ることができます。ただし、日付フィールドには元の dataSource でいくつかの書式設定が適用されており、javascript/jQuery でこれらすべての書式設定オプションをプログラムで適用する方法がわかりません。

4

0 に答える 0