Gwt 空listgrid记录原因
我的客户端代码如下所示,其中我将向服务器发送一些数据以打印输出。但是当它从服务器返回时,我得到一个空的listgrid记录。原因是什么 以下是该问题的屏幕截图Gwt 空listgrid记录原因,gwt,smartgwt,smartgwt-pro,Gwt,Smartgwt,Smartgwt Pro,我的客户端代码如下所示,其中我将向服务器发送一些数据以打印输出。但是当它从服务器返回时,我得到一个空的listgrid记录。原因是什么 以下是该问题的屏幕截图 if (fieldName.equals("Approve")) { IButton button = new IButton(); button.setHeight(18); button.setWidth(65); button.setTitle("Approve"); button.addClickHandler(new Click
if (fieldName.equals("Approve"))
{
IButton button = new IButton();
button.setHeight(18);
button.setWidth(65);
button.setTitle("Approve");
button.addClickHandler(new ClickHandler()
{
public void onClick(ClickEvent event)
{
DebugTools.print("SOID " + record.getAttribute("supplierOrderID") + " SODID" + record.getAttribute("sodID")+" sordID "+record.getAttribute("sordID"));
approveProduct(record.getAttribute("supplierOrderID"), record.getAttribute("sodID"),record.getAttribute("sordID"));
}
private void approveProduct(String supplierOrderID, String sodID, String sordID)
{
Record record = new Record();
record.setAttribute("supplierOrderID", supplierOrderID);
record.setAttribute("sodID", sodID);
record.setAttribute("sordID",sordID);
historyGrid.addData(record, callback);
}
DSCallback callback = new DSCallback()
{
@Override
public void execute(DSResponse response, Object rawData, DSRequest request)
{
Record[] records = response.getData();
if (records != null && records.length > 0)
{
Record record = records[0];
JavaScriptObject js = record.getJsObj(); JSONObject json = new JSONObject(js); System.out.println(" records.length " + records.length); for (int i = 0; i < records.length; i++) { Record recordd = records[i];
JavaScriptObject jss = recordd.getJsObj();
JSONObject jsonn = new JSONObject(jss);
System.out.println(jsonn.toString());
}
}
}
};
我还附上了该问题的快照问题出在服务器端,您正在从服务器端向客户端发送一个空的
DSResponse
,因此在客户端,您得到的是零长度记录数组
返回有效的DSResponse
,其中包含新添加记录的所有信息
请看一看
必须阅读在开发模式下是否有任何异常记录?感谢您的评论。这很有帮助。。现在把我的代码保持原样,只是想避免那个空记录,我需要做的是。我会感谢你的帮助。为什么不呢?请告诉我如何从客户端调用
add()
方法。数据是否添加到数据库中?您正在使用ds.xml文件吗?干杯!!。。。我有一个按钮,点击该按钮将触发此方法approveProduct(..)。在这个方法中,我有一个addData方法,它将请求发送到服务器..historyGrid.addData(record,callback);关于你的第二个评论。是的,我正在将数据添加到数据库中。但现在我只想在控制台中打印数据已更新,但没有出现我在屏幕截图中显示的问题
public DSResponse add(DSRequest dsRequest) throws Exception
{
DSResponse dsResponse = new DSResponse();
Long user_idlong = SessionUtills.getSessionUser(dsRequest.getHttpServletRequest());
System.out.println("sodID " + dsRequest.getFieldValue("sodID").toString());
System.out.println("PRODUCT APPROVED !!!!!!!!!!!!!" + " SUPPLIER ORDER ID " + dsRequest.getFieldValue("supplierOrderID").toString());
return dsResponse;
}