2017-07-25 12 views
1

jTableにajax呼び出しのレコードを埋めたいと思います。呼び出しを行うJQuery JTableの塗りつぶしテーブルにajaxコールのレコードがあります

{ 
"Result":"OK", 
    "Records":[ 
    {"PersonId":1,"Name":"Benjamin Button","Age":17,"RecordDate":"\/Date(1320259705710)\/"}, 
    {"PersonId":2,"Name":"Douglas Adams","Age":42,"RecordDate":"\/Date(1320259705710)\/"}, 
    {"PersonId":3,"Name":"Isaac Asimov","Age":26,"RecordDate":"\/Date(1320259705710)\/"}, 
    {"PersonId":4,"Name":"Thomas More","Age":65,"RecordDate":"\/Date(1320259705710)\/"} 
    ] 
} 

が機能:テキストフィールドからのパラメータのすべてが含まれる必要があるため

$("#btnSearchOffer").click(function() { 

    $.ajax({ 
     method: 'post', 
     url: '/SalesOfferInvoiceDeliveryNote/SearchOffers/', 
     data: { 
     cORAC_NUM: $("#inputORAC_NUM").val(), 
     cORAC_DAT_FROM: $("#inputORAC_DAT_FROM").val(), 
     cORAC_DAT_TO: $("#inputORAC_DAT_TO").val(), 
     cORAC_STA: $("#selectORAC_STA option:selected").val(), 
     iACCO_KEY: $("#hiddenACCO_KEY").val(), 
     iUSER_KEY: $("#hiddenUSER_KEY").val()   
     }, 
     success: function (response) { 

     if (response.Result === "OK") { 
      //here I would like to fill jTable with data (what I've tried here 
      //it's not working): 
      $('#tblOffers').jtable().listAction = response; 
     } 
     }, 
     error: function (response) { 
     alert(response); 
     } 
    }); 

    }); 

私は、ボタンを押すだけでJTableのを入力する必要があり レコードは次のように、JSON形式でありますAJAX呼び出しに:

表のようになります。

$('#tblOffers').jtable({ 
    title: 'Pregled ponudb', 
    paging: true, 
    pageSize: 20, 
    sorting: true, 
    defaultSorting: 'cORAC_NUM DESC', 
    actions: { 
     listAction: "/SalesOfferInvoiceDeliveryNote/SearchOffers/" 
    }, 
    messages: { 
     serverCommunicationError: 'Napaka!', 
     loadingMessage: 'Nalagam...', 
     noDataAvailable: 'Ni podatkov!' 
    }, 
    fields: { 
     cORAC_NUM: { 
     key: true,   
     title: 'Št. ponudbe' 
     }, 
     cORAC_DAT: { 
     title: 'Datum' 
     }, 
     cACCO_NME: { 
     title: 'Kupec' 
     }, 
     ORAC_GRO_SUM: { 
     title: 'Za plačilo' 
     } 
    } 
    }); 

答えて

2

loadメソッドを使用すると、listActionにデータを送信できます。以下は、例(asp.net WebフォームC#)のコードです。

クライアント側:

//Re-load records when user click 'Search Offer' button. 
$('#btnSearchOffer').click(function (e) { 
    e.preventDefault(); 
    $('#tblOffers').jtable('load', { 
     cORAC_NUM: $("#inputORAC_NUM").val(), 
     cORAC_DAT_FROM: $("#inputORAC_DAT_FROM").val() 
    }); 
}); 

そして、サーバ側では、データを受け取ることができます。

[WebMethod(EnableSession = true)] 
public static object SearchOffers(string cORAC_NUM, int cORAC_DAT_FROM, int jtStartIndex, int jtPageSize, string jtSorting) 
{ 
    //handle null for all parameters 
} 

私はあなたのすべてのパラメータを追加していません。コードを理解していただければ幸いです。助けが必要な場合は教えてください。

関連する問題