JAVA代码如下:
response.setContentType("text/xml; charset=UTF-8");
String query = request.getParameter("query");
XS03Service xs03Service = ServiceFactory.getInstance().getXS03Service();
List list = xs03Service.getSalesList(query);
StringBuffer jsonStr = new StringBuffer("");
jsonStr.append("{data:");
jsonStr.append("[\r\n");
for(Iterator iterator=list.iterator();iterator.hasNext();){
AbstractYwSalesmain sales = (AbstractYwSalesmain)iterator.next();
//jsonStr.append("{id:").append("'"+sales.getSalesid()+"',");
jsonStr.append("{salesid:").append("'"+stringNullProcess(sales.getSalesid())+"',");
jsonStr.append("poser:").append("'"+stringNullProcess(sales.getPoser())+"',");
jsonStr.append("netprice:").append(sales.getNetamount()+",");
jsonStr.append("mrsaleprice:").append(floatNullProcess(sales.getMrsaleprice())+",");
jsonStr.append("amount:").append(sales.getAmount()+",");
jsonStr.append("scalar:").append(sales.getScalar()+",");
jsonStr.append("balance:").append(sales.getBalance()+",");
if(iterator.hasNext())
jsonStr.append("updatetime:").append("'"+sales.getUpdatetime()+"'},");
else
jsonStr.append("updatetime:").append("'"+sales.getUpdatetime().toString().substring(0, 10)+"'}");
}
jsonStr.append("\r\n]}");
log.debug(jsonStr);
PrintWriter out = response.getWriter();
out.println(jsonStr.toString());
out.flush();
out.close();
下面是JSP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page contentType="text/html; charset=utf-8" %>
<%
String query = (String)request.getAttribute("query");
//String returnid = (String)request.getAttribute("returnid");
%>
<br>
this.focus();<br>
var gridmorebook;<br>
Ext.onReady(function(){<br>
var proxy=new Ext.data.HttpProxy( {url:'/rmbcs/xs03.op?method=salesList&query=<%=query%>'}); <br>
// create the data storenew Ext.data.Store<br>
var reader = new Ext.data.JsonReader({<br>
// idProperty:'id',<br>
fields: [<br>
//{name: 'id',type:'string'},<br>
{name: 'salesid',type:'string'},<br>
{name: 'poser',type:'string'},<br>
{name: 'netprice', type: 'string'},<br>
{name: 'mrsaleprice', type: 'string'},<br>
{name: 'amount', type: 'string'},<br>
{name: 'scalar', type: 'string'},<br>
{name: 'balance', type: 'string'},<br>
{name: 'updatetime', type: 'string'}<br>
]<br>
});<br>
var store2 = new Ext.data.Store({<br>
proxy:proxy,<br>
reader:reader<br>
});<br>
// alert(store2.length());<br>
store2.load();<br>
alert(store2);<br>
// create the Grid<br>
gridmorebook = new Ext.grid.GridPanel({<br>
//deferRowRender:false,<br>
store: store2,<br>
columns: [<br>
{header: "销售单编号", width: 160, sortable: true, dataIndex: 'salesid',align:'center'},<br>
// {id:'salesid',header: "销售单编号", width: 160, dataIndex: 'id',align:'center'},<br>
{header: "收银员", width: 120, dataIndex: 'poser',align:'center'},<br>
{header: "销售码洋", width: 100, dataIndex: 'netprice',align:'center'},<br>
{header: "销售折扣", width: 120, dataIndex: 'mrsaleprice',align:'center'},<br>
{header: "销售实洋", width: 100, dataIndex: 'amount',align:'right'},<br>
{header: "销售数量", width: 100, dataIndex: 'scalar',align:'right'},<br>
{header: "支付方式", width: 80, dataIndex: 'balance',align:'right'},<br>
{header: "销售日期", width: 80, dataIndex: 'updatetime',align:'right'}</p>
<pre><code> ],
height:400,
width:860,
header: false
});
gridmorebook.render('gridDiv2');
/**
gridmorebook.store.on("load",function(){
alert(store2.length);
gridmorebook.getSelectionModel().selectRow(1);
gridmorebook.getSelectionModel().selectFirstRow();
gridmorebook.getView().focusEl.focus();
}
)**/
//gridmorebook.getView().focusEl.focus();
/**
gridmorebook.on("keydown",function(e){
if(e.keyCode==13){
Ext.Ajax.request({
url: '/rmbcs/xs03.op?method=itemthinsert',
success: function(data){
if(data.responseXML.getElementsByTagName("enough")[0].firstChild.data==0){
alert('此商品可退数量不足!');
}else{
parent.grid.getStore().reload();
parent.netamount.value=data.responseXML.getElementsByTagName("netamount")[0].firstChild.data;
parent.amount.value=data.responseXML.getElementsByTagName("mianamount")[0].firstChild.data;
parent.partid.focus();
parent.partid.select();
}
parent.win.destroy();
},
failure: function(data){
alert("false");
},
headers: {
'my-header': 'foo'
},
params: { id: gridmorebook.getSelectionModel().getSelected().data.id,scalar:1}
});
}
})**/
</code></pre>
<p>});</p>
<p>
后台out的数据怎么不能在前面显示?
[color=red] debug输出如下:
{data:[
{salesid:'2009041509285702',poser:'',netprice:5.0,mrsaleprice:0,amount:5.0,scalar:1,balance:现金支付,updatetime:'2009-04-15'}
]}[/color]