data上提供的loadData方法加载数据,如果加载的数据需要保存需要把加载的数据设置为新增的状态
可以在action的java方法中返回Table前,遍历Table设置行状态
代码如下:

	public static Table loadDataRQ(){
		String ksql = "select rq.* from AP_RQ rq where rq.fName like '%aa%'";
		Table table = KSQL.select(ksql, null, "/appdemo/test/data", null);
		table.getProperties().put(Table.PROP_NAME_ROWID, "rq");
		Iterator<Row> rows = table.iterator();
		while (rows.hasNext()) {
			Row row = rows.next();
			row.setState(ModifyState.NEW);
		}
		return table;
	}

如果没有在Table中设置,loadData后也可以遍历data中的数据设置,但是不推荐这样做,数据多时遍历数据性能会慢
代码如下:

		var loadData = this.comp("loadData");
		var grid = this.comp("grid4");
		var options = {};
		options.context = this.getContext();
		options.action = "loadDataRQ";
		options.callback = function(data) {
			if (data.state) {
				loadData.loadData(data.response);
				grid.refresh();			
			} else {
				Request.errorMessage(resultData, "执行失败!", null, null);
			}
		};
		var result = biz.Request.sendBizRequest(options);
		loadData.each(function(options){
			options.data.setRowState(options.row, Data.STATE.NEW);
		});
		loadData.first();

需要注意的是loadData后调用data的first(),默认游标定位到第一行上,这样关联的data保存操作的按钮默认就会变亮