0

jQuery データ テーブルを使用してテーブルを作成しましたが、関数を実行するボタンが必要です。

これまでのところ、jquery 関数に入るボタンを取得できますが、常にパラメーター null を通過します。

GoodNumberId を関数に渡そうとしています。

function GetGoods() {

        $.post("GetGoods", function (GoodsDS) {
            var obj = jQuery.parseJSON(GoodsDS);
            var table = obj.Table;

            $('#demo').html('<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>');
            $('#TableWrapper').dataTable({
                "bJQueryUI": true,
                "sPaginationType": "full_numbers",
                "bProcessing": true,
                "bDeferRender": true,
                "aaData": table
             ,
                "aoColumns": [
                { "mDataProp": "GoodNumberId", "sTitle": "Goods ID" },
                { "mDataProp": "SerialNumber", "sTitle": "Serial Number" },
                { "mDataProp": "Make", "sTitle": "Make" },
                { "mDataProp": "Model", "sTitle": "Model" },
                { "mDataProp": "Description", "sTitle": "Description" },
                //{ "mDataProp": "IMEINumber", "sTitle": "IMEINumber" },
                { "mDataProp": "Condition", "sTitle": "Condition" },
               // { "mDataProp": "DistinguishingMarks", "sTitle": "DistinguishingMarks" },
               // { "mDataProp": "OtherFeatures", "sTitle": "OtherFeatures" },
                //{ "mDataProp": "Status", "sTitle": "Status" },
                { "mDataProp": "ItemStatus", "sTitle": "Item Status" },
                { "mDataProp": "Price", "sTitle": "Price" },
                { "mDataProp": "TransactionDate", "sTitle": "Transaction Date" },
                //{ "mDataProp": "TransactionTypeId", "sTitle": "TransactionTypeId" },
                {"mDataProp": "TransactionDescription", "sTitle": "Transaction" },
                { "mData": null,
                    "bSortable": false,
                    "mRender": function (GoodNumberId) { return '<input id="btnDispose" type="button" onclick="Dispose(' + GoodNumberId +')" value="Dispose" />'; }
                }   
                ]
            });
        });
    };

テーブル変数は次のようになります。

ここに画像の説明を入力

各ボタンが現在の行の ID を渡す必要がありますか?

4

1 に答える 1

2

mRender関数は 3 つのパラメーターを取ります。

function - 指定された関数は、DataTables が列のセルのデータを設定または取得する必要があるときに実行されます。この関数は次の 3 つのパラメーターを取ります。

{array|object} 行のデータ ソース (mData に基づく)

{string} 要求された型呼び出しデータ - これは、'filter'、'display'、'type' または 'sort' になります。

{array|object} 行の完全なデータ ソース (mData に基づくものではない)

したがって、最初のパラメーターは「mData に基づく」です。mData が null であるため、最初のパラメーターは null です。

これを試して:

{ 
  "mData": "GoodNumberId",
  "bSortable": false,
  "mRender": function (sourceData) 
     { return '<input id="btnDispose" type="button" onclick="Dispose(' 
           + sourceData +')" value="Dispose" />'; }
} 

編集 コメントごとにステータスを含めるには、これを試してください:

{ 
  "mData": "GoodNumberId",
  "bSortable": false,
  "mRender": function (sourceData, dataType, fullData) 
     { 
        if (fullData.Status == 'Disposed') // or whatever
            return '&nbsp';
        else
            return '<input id="btnDispose" type="button" onclick="Dispose(' 
           + sourceData +')" value="Dispose" />'; }
} 
于 2013-07-22T16:26:48.520 に答える