有一個非常棘手的解決方法基於hidding列。
請按照以下步驟初始化表格。 首先定義 「aoColumns」:與四列:
"aoColumns": [
{ "sTitle": "Id", "mData": "id" },
{ "sTitle": "Label" "mData": "label" },
{ "sTitle": "Type", "mData": "type" },
{ "sTitle": "Name" ,"mData": "name" }]
然後定義AJAX源,例如,對於第一個單選按鈕的情況下:
"sAjaxSource" : "/getFirstAjaxSource";
表初始化後,設置3和4柱(你的情況「類型」和「名稱」)使用jQuery,所以你會看到只有第一和第二列是不可見的:
$(function(){
oTable.fnSetColumnVis(2, false);
oTable.fnSetColumnVis(3, false);
})
然後在點擊處理函數使用followi ng邏輯。
第一個按鈕:
jQuery('#first').live('click',function() {
oTable.fnSettings().sAjaxSource = "/getFirstAjaxSource";
oTable.fnSetColumnVis(0, true);
oTable.fnSetColumnVis(1, true);
oTable.fnSetColumnVis(2, false);
oTable.fnSetColumnVis(3, false);
});
第二個按鈕:
jQuery('#second').live('click',function() {
oTable.fnSettings().sAjaxSource = "/getSecondAjaxSource";
oTable.fnSetColumnVis(0, false);
oTable.fnSetColumnVis(1, false);
oTable.fnSetColumnVis(2, true);
oTable.fnSetColumnVis(3, true);
});
不要忘了在AJAX源添加虛假值隱藏的列。
感謝Smiter的快速回復。 – RageshAK