簡體   English   中英

空listgrid記錄原因

[英]Empty listgrid record cause

我的客戶端代碼如下,我將一些數據發送到服務器以僅打印輸出。 但是,當它從服務器返回時,我得到一個空的listgrid記錄。 是什么原因造成的。

這是問題的屏幕截圖

在此處輸入圖片說明

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());
                                        }
                                    }
                                }
                            };

在服務器端,我的add方法目前非常簡單,在這里我只是打印從客戶端收到的數據

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;

}

我也附上了問題的鏡頭

問題出在服務器端,您將從那里將空的DSResponse發送回客戶端,因此在客戶端,您得到的是零長度記錄數組。

返回一個有效的DSResponse ,其中包含新添加的記錄的所有信息。


請看看

必須閱讀處理數據源請求的基本邏輯流程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM