我一直在寻找几个小时但我无法找到问题的答案:我设置的ListGrid
类似于此处显示的 ListGrid componentsGrid = new ListGrid();
componentsGrid.setWidth(500);
componentsGrid.setHeight(224);
componentsGrid.setCellHeight(22);
componentsGrid.setDataSource(ComponentsXmlDS.getInstance());
componentsGrid.setAutoFetchData(true);
componentsGrid.setCanEdit(true);
componentsGrid.setModalEditing(true);
componentsGrid.setEditEvent(ListGridEditEvent.CLICK);
componentsGrid.setListEndEditAction(RowEndEditAction.NEXT);
componentsGrid.setAutoSaveEdits(false);
layout.addMember(componentsGrid);
//First try
componentsGrid.fetchData();
logger.log(Level.INFO, "Components: "+ componentsGrid.getResultSet().get(0).getAttribute("componentType"));
//Second try
logger.log(Level.INFO, "Components: "+ componentsGrid.getAllFields());
// Third try
logger.log(Level.INFO, "Components: "+ componentsGrid.getRecords());
(Link)。现在我正在使用XML-File作为数据源(默认行),就像在示例中一样。也可以在网格中添加和删除行。
因此,我希望将网格中的每个用户数据存储在数据存储(Google Datastore)中。所以我需要读取当前用户的所有行作为字符串。有什么好办法呢?我已经尝试了以下内容,但没有成功:
{{1}}
有人提示吗?非常感谢帮助。
答案 0 :(得分:0)
如果我理解您的要求,您想要读取网格的所有行并将其数据存储在数据库中。
我想你可以用:
getRecordList()
*返回此DataBoundComponent的基础数据作为RecordList。
您将能够在此列表中进行迭代,为每条记录提取所需的属性值,并将这些数据存储在数据库中。
或者按照您的说法使用getRecords()
方法,并迭代获得的ListGridRecord
数组。
要遍历RecordList,您必须将其转换为数组,例如使用大量虚拟对象和方法:
RecordList data = MyGrid.getRecordList();
for(Record record : data.toArray()){
MyDataObject obj = new MyDataObject()
obj.setId(record.getAttribute("thId"));
obj.setOne(record.getAttribute("anAttribute"));
obj.setTwo(record.getAttribute("anotherAttribute"));
obj.StoreToDb();
}