SMART datagrid v.1 > Classes > DataLoader

Back  Forward

DataLudi.DataLoader.load  method

读取文本或JSON对象或XML,并将其添加为数据组的数据行。 

根据type,处理data的方式和可以设置在options的属性将会不同。 下列表格中,将会进行说明。有关options中的"fillMode"、"fillPos",请参考"填充方式"表格。 

function load (type: String, data: Object|String, options: Object): Number;
Returns
Number
Parameters
type - String. required.
data - Object|String. required.
options - Object. required.
Table-1  数据加载
typedataoptions
'csv'text'start': 读取为数据的起始行位置。默认值是0
'count': 将会读取的行的数量。如果小于0,就会是从start到所有行。默认值是-1
'delimiter': 字段分隔符。默认值是','。
'quoted': 如果为true,当使用'"'(双引号)或'''(单引号)而括起时,将会清除两端后,进行读取。
'currency': 如果为true,就会在NUMBER字段的情况,将会清除数字、'.'、'-'、'+'后,进行读取。
'filter': 当fillMode不是'update'时,将会被适用的filter表达式。只读取通过这个表达式的行。
有关可以被用于表达式的变量,请参考下列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项目相同。
Table-2  填充方式
fillMode说明
'set'先清除现有行之后,再进行填充。
'append'添加到最后一行之后。
'insert'插入在fillPos位置。
'update'fillPos位置开始覆盖。
Table-3  JSON Path
path说明
''如果没有指定或为空字符串,就会将源数据读取为数组。
'row'将源数据的'row'属性读取为数组。
'prop.row'将源数据的'prop'属性的'row'属性读取为数组。
'prop[1].row'源数据的'prop'属性为数组,并且将其第二个对象的'row'属性读取为数组。
'$[0].row'源数据为数组,并且将其第一个对象的'row'属性读取为数组。
Table-4  XML Path
path说明
''如果没有指定或为空字符串,就无法读取为数据行。如果没有指定,就会获取名称为'row'的元素。
'row'只从顶级元素中的、名称为'row'的,读取为行。
'prop.row'只从名称为'prop'的顶级元素中的、第一个元素的子元素中的、名称为'row'的,读取为行。

与通过'prop[0].row'而指定的方式相同。
'prop[1].row'只从名称为'prop'的顶级元素中的、第二个元素的子元素中的、名称为'row'的,读取为行。
'$[0].row'源数据为数组,并且将其第一个对象的'row'属性读取为数组。
Table-5  Filter变量
变量名称说明
'no'当前读取的原行的位置。将会加以start值。
'row'当前添加或修改的数据组的行号。
'values'原行的字段值。被用于如同'values['product_id']'
Code -1
    $('#load').click(function () {
        $.getJSON('data/data.json', null, function (data) {
    		new DataLudi.DataLoader(dataset).load('json', data, {
    		    fillMode: "append"
    		});
    		// 或,使用全函数(total function)。
    		DataLudi.loadJsonData(dataset, data, {
    		    fillMode: "update",
    		    fillPos: 10,
    		});
    	});
    });
See Also
DataSet
Examples
加载CSV数据
加载JSON数据
加载XML数据