SMART datagrid v.1 > Classes > GridDataSet

Back  Forward

DataLudi.GridDataSet.getModifiedRowObjects  method

DataRowState不是NONE的变更行返回为JSON对象数组。 

function getModifiedRowObjects (states: String|[String], valueCallback: Function, stateProp: String, stateNames: Object|[String], emptyValue: *): [Object];
Returns
[Object]
Parameters
states - String|[String].
DataRowState状态列表。 只指定一种状态,或指定多种状态为数组。 如果没有指定,就会返回非NONE的所有状态的行。
valueCallback - Function.
将会替代源字段值的回调函数。
function (ds: GridDataSet, row: Integer, rowObj: Object);
stateProp - String. 默认值为""row_state"".
指定状态值的属性名称。 如果指定为nullundefined,就会使用默认值"row_state"。 如果为空字符串,就不会添加该属性。
stateNames - Object|[String].
将会替代DataRowState常数值的状态名称。 可以是全部包含DataRowState的JSON对象或以"created"、"updated"、"deleted"、"createAndDeleted"顺序而包含名称的数组。 如果没有设置"createAndDeleted",就会被指定为"deleted"值。
emptyValue - *.
替代undefined字段值的值。
(当undefined字段为对象属性时, 将不会被包含在JSON.stringify。)
Code -1
    // 获取状态不是NONE的所有行。
    var rows = ds.getModifiedRowObjects();
    // or
    var rows = ds.getModifiedRowObjects(null);
Code -2
    // 获取状态为created的行。
    var rows = ds.getModifiedRowObjects(DataLudi.DataRowState.CREATED);
Code -3
    // 获取状态为created、deleted的行。
    var rows = ds.getModifiedRowObjects([DataLudi.DataRowState.CREATED, DataLudi.DataRowState.DELETED]);
Code -4
    // 可以根据需求,变更或添加所返回的行的值。
    var rows = ds.getModifiedRowObjects(null, function (ds, row, rowObject) {
        // 变更现有值
        rowObject["Addr"] += '_X';
        // 或添加新的属性。
        rowObject["row_id"] = row + 1;
    });
Code -5
    // 可以将状态属性名称指定为非"row_state"的其他名称,也可以将状态值指定为不同的值。
    var rows = ds.getModifiedRowObjects(null, null, '_state', ['c', 'u', 'd']);
Code -6
    // 将undefined的属性值指定为其他值。undefined的属性值将会从JSON.stringify()中移开。
    var rows = ds.getModifiedRowObjects(null, null, null, null, '');
See Also
DataRowState
getRowState
getRowObject
getRowObjects
getRow
getRows
JSON.stringify
Examples
数据行状态
网格数据组行