Cha*_*had 8 javascript jquery gridview datatables
我正在使用DataTables(datatables.net)来显示来自Ajax源的数据并且无法自定义它.我想做的一件事是添加一列,以便我可以为每一行提供一个"编辑"按钮.
与示例中最接近的是这里,但我无法使用ajax源代码.
目前,我正在使用以下代码来显示我的表:
fnServerObjectToArray = function ( aElements ){
return function ( sSource, aoData, fnCallback ) {
$.ajax( {
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": function (json) {
var a = [];
for ( var i=0, iLen=json.aaData.length ; i<iLen ; i++ ) {
var inner = [];
for ( var j=0, jLen=aElements.length ; j<jLen ; j++ ) {
inner.push( json.aaData[i][aElements[j]] );
}
a.push( inner );
}
json.aaData = a;
fnCallback(json);
}
} );
}
}
$(document).ready(function() {
$('#example').dataTable( {
"bProcessing": true,
"sAjaxSource": 'get_data.php',
"fnServerData": fnServerObjectToArray( [ 'username', 'email' ] )
} );
});
Run Code Online (Sandbox Code Playgroud)
Jov*_*SFT 11
为什么不在aoColumns中使用fnRenderFunction?举个例子:
aoColumns: [ { "bVisible": false} , null, null, null, null,
{ "sName": "ID",
"bSearchable": false,
"bSortable": false,
"fnRender": function (oObj) {
return "<a href='EditData.php?id=" + oObj.aData[0] + "'>Edit</a>";
}
}
]
Run Code Online (Sandbox Code Playgroud)
您可以使用它来格式化服务器端的值.
请参阅http://jquery-datatables-editable.googlecode.com/svn/trunk/ajax-inlinebuttons.html上的类似示例(忽略可编辑插件的特定设置)