在openlaszlo内操作xml,下面给出的是一个这方面的示例(能对一个表格里面填数据,并且能对这些数据进行修改(在表格里面直接操作),删除(包括多个同时删除))
。。。。。。。。。。
<dataset name="dsData">
<DataInfos>
</DataInfos>
</dataset>
<datapointer name="dpPointData" xpath="dsPointData:/DataInfos/"/>
。。。。。。。。。
<xgrid width="558" x="2" height="138" id="pointTable" datapath="dsData:/DataInfos" fontsize="12" multiselect="false" showhlines="true">
<gridtext datapath="checkValue/text()" editable="false" sortable="false" width="50">选择
<checkbox value="$path{'checkValue/text()'}">
<method event="onvalue">
var nodes = this.datapath.data.getElementsByTagName('checkValue')[0];
var dp = new LzDatapointer();
dp.setPointer(nodes);
if(this.value == true){
dp.setNodeText(true)
}else{
dp.setNodeText(false)
}
</method>
</checkbox>
</gridtext>
<gridtext datapath="MarketDate'/text()" editable="true" width="120">日期</gridtext>
</xgrid>
。。。。。。。。。
var bgTime = child.getElementsByTagName(date)[0].childNodes[0].data;
//在表格里新增一条记录
。。。。。。
//删除操作
var data = dpPointData.data.childNodes;
for(var i = data.length ;i>=1 ;i--){
var child = data[i-1];
var checkValue = child.getElementsByTagName('checkValue')[0].childNodes[0].data;
if(checkValue == true){
check=true;
var dp = new LzDatapointer();
dp.setPointer(child);
dp.deleteNode();
}
}
var xmlData = dpPointData.addNode('DataInfo');
var xmlCheckValue = new LzDataElement('checkValue');
var xmlDate= new LzDataElement(“MarketDate');
xmlCheckValue.appendChild(new LzDataText("false"));
xmlDate.appendChild(new LzDataText("20070423"));
xmlData.appendChild(xmlCheckValue);
xmlData.appendChild(xmlDate);
}