SMART datagrid v.1 > Classes > TreeDataLoader
テキストやJson客体、もしくはXmlを読み取って データセットのデータ行達として追加する。
typeによってdataを処理する方式とoptionsに設定できるプロパティーが異なる。 下の表で説明する。optionsの中で"fillMode"、"fillPos"は"満たし方"テーブルを参考する。
type | data | options |
---|---|---|
'csv' | text | 'start': データとして読み取る始めの行の位置。デフォルト値は0. 'count': 読み取る行の数。0以下ならstartからすべての行。デフォルト値は-1. 'delimiter': フィールドを区分する文字。デフォルト値は','. 'quoted': trueなら、'"'(クォーテーションマーク)や'''(シングルクォーテーションマーク)で包まれた場合、両端を削除して読み取る。 'currency': trueなら、NUMBERフィールドの場合、数字、'.'、'-'、'+'以外の文字たちを削除して読み取る。 'filter': ロードの時適用するfilter数式。この数式を通過した行達たけ読み取る。 数式に使える変数は下のFilter変数たち参考。 例) 'values['product_id'] like 'n%'' => product_idが'n'で始まる行だけ読み取る。 'parentId': fillModeが'set'ではない時、追加する行達の親行rowId。指定しなければ最上位行で追加。 'treeField': ツリー階層の判断の時に使う値が入っている位置。 'needSorting': trueならツリーを構成する前にtreeFieldを基準として全体ソーティングする。 |
'json' | text | json | textの場合、先にJSON.parse()で客体化する。 'rows': dataの中で行で読み取るデータセットの位置。コンマで分離された経路で指定する。 'parentId': 上のcsv項目と同一。 下のJson Pathテーブル参考。指定しなければdataをjsonアレイとしてみなす。 'filter': 上のcsv項目と同一。 |
'xml' | text | DOM | textの場合、先にDOMParserやActiveXObjectを利用してXMLDocument客体でパースする。 'parentId': 上のcsv項目と同一。 'rows': dataの中で読み取るデータセットの位置。コンマで分離された経路で指定する。 下のXml Pathテーブル参考。指定しなければdataをjsonアレイとしてみなす。 'filter': 上のcsv項目と同一。 |
fillMode | 説明 |
---|---|
'set' | 既存の行達を削除した後満たす。 |
'append' | parentIdで指定した行の最後の子行の次に追加する。 |
'insert' | parentIdで指定した行のfillPos位置の子行の位置にインサートする。 |
path | 説明 |
---|---|
'' | 指定しないか空の文字列なら原本データをアレイで読み取る。 |
'row' | 原本データの'row'プロパティーをアレイとして読み取る。 |
'prop.row' | 原本データの'prop'プロパティーの'row'プロパティーをアレイで読み取る。 |
'prop[1].row' | 原本データの'prop'プロパティーがアレイで、その二番目客体の'row'プロパティーをアレイで読み取る。 |
'$[0].row' | 原本データがアレイでその一番目の客体の'row'プロパティーをアレイで読み取る。 |
path | 説明 |
---|---|
'' | 指定しないか空の文字列ならデータ行たちとして読み取ることができない。指定しなければ名が 'row'であるelement達を取得してくる。 |
'row' | 最上位element達の中で名前が'row'であるものたちを行として読み取る。 |
'prop.row' | 名前が'prop'である最上位element達の中で一番目のelementの子element達の中で名前が'row'であることたちを行で読み取る。 'prop[0].row'で指定したのと同一である。 |
'prop[1].row' | 名前が'prop'である最上位elementたちの中で二番目のelementの子element達の中で名前が'row'であるものたちを行で読み取る。 |
'$[0].row' | 原本データがアレイでその一番目の客体の'row'プロパティーをアレイで読み取る。 |
変数名 | 説明 |
---|---|
'no' | 現在読み取っている原本の行の位置。start値が足される。 |
'row' | 現在追加や修正中のデータセット行の番号。 |
'values' | 原本行のフィールドの値。'values['product_id']'と同じように使われる。 |
$('#load').click(function () {
$.getJSON('data/data.json', null, function (data) {
new DataLudi.DataLoader(dataset).load('json', data, {
fillMode: "append"
});
// もしくは、全域関数を利用する。
DataLudi.loadJsonData(dataset, data, {
fillMode: "update",
fillPos: 10,
});
});
});