SMART datagrid v.1 > Classes > DataLoader
テキストや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': ロードの時に適用するfiter数式。この数式を通過した行たちだけ読み取る。 数式に使える変数は下のFilter変数達参考。 例) 'values['product_id'] like 'n%'' => product_idが'n'で始まる行だけ読み取る。 |
'json' | text | json | textの場合、まずJSON.parse()で客体化する。 'start': データで読み取る最初の行の位置、デフォールト値は0. 'count': 読み取る行の数。0以下ならstartからすべての行。デフォールト値は-1. 'rows': dataの中で行で読み取るデータセットの位置。コンマで分離された経路で指定する。 下のJson Pathテーブル参考。指定しなければdataをjsonアレイとしてみなす。 'filter': 上のcsv項目と同一。 |
'xml' | text | DOM | textの場合、まずDOMParserやActiveXObjectを利用してXMLDocument客体でパースする。 'start': データで読み取る最初の行の位置、デフォールト値は0. 'count': 読み取る行の数。0以下ならstartからすべての行。デフォールト値は-1. 'rows': dataの中で行で読み取るデータセットの位置。コンマで分離された経路で指定する。 下のXml Pathテーブル参考。指定しなければdataをjsonアレイとしてみなす。 'filter': 上のcsv項目と同一。 |
fillMode | 説明 |
---|---|
'set' | 既存の行たちを削除した後満たす。 |
'append' | 最後の行の次に追加する。 |
'insert' | fillPos位置にインサート追加する。 |
'update' | fillPos位置からoverwriteする。 |
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,
});
});
});