如题!在后台已经查出数据及显示好了!但是一但运行起来就不可以了!我试着挑了很久!也没有搞定!
JS脚本
var orderID=0;
function isOK()
{
if(Ext.Msg.confirm("",orderID,"",null))
{
return true;
}
else
{
return false;
}
}
function showEditorWindow() {
return "<a href='###' onclick='return isOK();' bgcolor='red'>发货</a>";
}
/**
* 发货记录格式
*/
var sentMerchandishRecord = new Ext.data.Record.create({
// 订单ID
name : 'OrderId'
}, {
// 产品编号
name : 'OrderCode'
}, {
// 产品名称
name : 'CreateDate'
}, {
// 订购数量
name : 'Qty'
}, {
name : 'sentMerchandish'
});
var sentMerchandishCM = new Ext.grid.ColumnModel([{
header : '订单ID',
width : 100,
dataIndex : 'OrderId',
sortable : true
}, {
header : '订单编号',
width : 100,
dataIndex : 'OrderCode'
}, {
header : '订购日期',
width : 100,
dataIndex : 'CreateDate'
}, {
header : '订购数量',
width : 100,
dataIndex : 'Qty'
}, {
header : '发出商品',
width : 100,
dataIndex : 'sentMerchandish',
renderer :showEditorWindow
}]);
var sentMerchandishProxy = new Ext.data.HttpProxy({
url : "sentMerchandishProxy.html?ActionID=1"// ID=1表示查询全部
});
var sentMerchandishStore = new Ext.data.JsonStore({
totalProperty : 'count',
root : 'SentManagers',
fields : sentMerchandishRecord,
pruneModifiedRecords : true,
proxy : new Ext.data.HttpProxy({
url : "sentMerchandishProxy.html?ActionID=1"// ID=1表示查询全部
})
});
var sentMerchandishGrid = new Ext.grid.GridPanel({
store : sentMerchandishStore,
cm : sentMerchandishCM,
title : '配送管理',
height : 180,
width : 500,
region : 'center',
frame : true,
loadMask : true,
stripeRows : true,
bbar : new Ext.PagingToolbar({
pageSize : 10,
store : sentMerchandishStore,
displayInfo : true,
displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg : "没有记录"
})
});
function showSelect() {
var cel = sentMerchandishGrid.getSelectionModel().getSelectedCell();
alert(cel);
}
var Tree = Ext.tree;
var treeClick = function(node) {
// 单击代替双击展开子节点
if (!node.isLeaf()) {
node.toggle();
}
selectNode = node;
typeid = node.id;
sentMerchandishStore.proxy = new Ext.data.HttpProxy({
url : 'sentMerchandishProxy.html?ActionID=' + node.id
});
sentMerchandishGrid.render();
sentMerchandishStore.reload();
sentMerchandishStore.load({
params : {
start : 0,
limit : 10
}
});
}
var tree = new Tree.TreePanel({
split : true,
region : 'west',
width : 200,
minSize : 175,
maxSize : 400,
collapsible : true,
useArrows : true,
autoScroll : true,
animate : true,
enableDD : true,
containerScroll : true,
margins : '0 0 0 5',
layoutConfig : {
animate : true
},
loader : new Tree.TreeLoader({
dataUrl : 'sentMerchandishProxy.html?ActionID=0'
})
});
var root = new Tree.AsyncTreeNode({
text : '订单状态',
draggable : false,
id : '0'
});
tree.setRootNode(root);
tree.on('click', treeClick);
sentMerchandishGrid.addListener('cellclick', cellclick);
function cellclick(grid, rowIndex, columnIndex, e) {
var record = grid.getStore().getAt(rowIndex); // Get the Record
var orderId = grid.getColumnModel().getDataIndex(0);
orderID = record.get(orderId);
}
后台:
private JSONObject displayDisplayGrid(int num) {
JSONObject json = new JSONObject();
int stateFlag = 2;
try {
List<Order> list = orderManager.findOrderByOrderStateFlag(num);
int count = list.size();
json.put("count", count);
if (count == 0) {
json.put("SentManagers", JSONObject.NULL);
return json;
}
JSONArray jsonArray = new JSONArray();
for (int i = 0; i < list.size(); i++) {
Order order = list.get(i);
Date createDate = order.getCreateDate();
JSONObject jsonobject = new JSONObject().put("OrderId",
order.getOrderId()).put("OrderCode",
order.getOrderCode()).put("CreateDate",
order.getCreateDate()).put("Qty", order.getQty()).put(
"sentMerchandish", "sentMerchandish");
jsonArray.put(i, jsonobject);
}
json.put("SentManagers", jsonArray);
System.out.println(json);
return json;
} catch (Exception ex) {
ex.getMessage();
}
return null;
}
这个只是处理jason对象的一个方法!请大家帮我看看!谢谢了
请大家给予指点!后台显示的数据格式是这样的:
{"count":1,"SentManagers":[{"Qty":10,"sentMerchandish":"sentMerchandish","OrderCode":"a00001","OrderId":1,"CreateDate":"2008-07-07 15:40:21.0"}]}
将var sentMerchandishRecord = new Ext.data.Record.create({
// 订单ID
name : 'OrderId'
}, {
// 产品编号
name : 'OrderCode'
}, {
// 产品名称
name : 'CreateDate'
}, {
// 订购数量
name : 'Qty'
}, {
name : 'sentMerchandish'
});
在每{}中多加一个mapping,值和name的相同,你再试试,改完如下
var sentMerchandishRecord = new Ext.data.Record.create({
// 订单ID
name : 'OrderId',mapping:'OrderId'
}, {
// 产品编号
name : 'OrderCode',mapping:'OrderCode'
}, {
// 产品名称
name : 'CreateDate',mapping:'CreateDate'
}, {
// 订购数量
name : 'Qty',mapping:'Qty'
}, {
name : 'sentMerchandish',mapping:'sentMerchandish'
});