大概のアプリケーションでグリッドに表示する初期データをサーバーから取得して満たすことになる。 サーバーから伝送されるデータの形式はいろいろいるが 今回のサンプルではCSV形式でセーブされているデータを扱う。
値たちがコンマで区切りされた一つ以上の行を持つテキストファイルをCSVと呼ぶ。 区切り文字はコンマの他にtab、また、他の文字である場合もあり、各値たちが""で包まれた場合もある。 また、最初のいくつの行は実際の行ではなく、カラムの名や目録など全体のデータについてのメタ情報達で満たされている場合もある。
SMART datagridのデータDataLoaderは上のすべての場合に対応してcsvファイルでセーブされたデータを グリッドのデータセット行達として取得することができる。 loadメソッドで詳しい内容を参考する。
$.ajax({
url: "/repo/grid/resource/data/orders.csv",
dataType: 'text',
success: function (data) {
new DataLudi.DataLoader(dsMain).load("csv", data, {
start: 1, // 二番目の行からデータ行として読み取る。
count: 500 // 最大500行だけ読み取る。
});
}
});
サーバーから取得したデータをDataLoader.loadの呼び出しでDataSetにロードする時、基本的には 既存のデータをすべて削除して新しいデータで満たす。 しかし、loadの呼び出しの時fillModeの設定によって既存のデータを修正するか、追加することができる。
$.ajax({
url: "/repo/grid/resource/data/orders.csv",
dataType: 'text',
success: function (data) {
var row = grdMain.focusedIndex().rowIndex;
if (row < 0) row = 0;
new DataLudi.DataLoader(dsMain).load("csv", data, {
start: 1,
count: 500,
fillMode: 'insert', // 'insert', 'append', 'update', 기본은 'set'
fillPos: row
});
}
});
下のボタンをクリックすると10行をロードした後 各、現在の位置にインサートしたり、 最後の行の次に追加したり、 現在の行の位置から10行だけ修正する。