在引导数据表中创建一个新行

对我来说,正在创建新行,但有些值是错误的。

我的jQuery DataTables列表:

$.ajax({ url: '@Url.Action("LoadEventChargesByUtility", "Vendor")', contentType: "application/json; charset=utf-8", datatype: "json", data: "{'stayiD':'" + stayi + "','datetime':'" + datetime + "','Groupid':'" + Groupid + "'}", type: "POST", // 'GET' or 'POST' ('GET' is the default) success: function (data) { data = JSON.parse(data); if (data != "No Items") { $('#tblevent').dataTable({ "sPaginationType": "full_numbers", "aaData": data, "bAutoWidth": false, "bDeferRender": true, "destroy": true, "aoColumns": [ { "mData": "SERVICETEXT", 'sTitle': 'Service Name' }, { "mData": "ITEMNAME", 'sTitle': 'Item Name' }, { "mData": "USGDATE", 'sTitle': 'Usage Date', 'bSortable': false, 'bSearchable': false, 'mRender': function (data, type, full) { return moment(data).format('DD/MM/YYYY'); } }, //{ // "mData": "INSDATE", 'sTitle': 'Insert Date', 'bSortable': false, 'bSearchable': false, 'mRender': function (data, type, full) { // return moment(data).format('ll'); // } //}, { "mData": "QUANTITY", 'sTitle': 'Quantity' }, { "mData": "UNITTEXT", 'sTitle': 'Unit' }, { "mData": "RATE", 'sTitle': 'RATE' }, { "mData": "AMOUNT", 'sTitle': 'AMOUNT' }, { "mData": "SID", 'sTitle': 'Edit', 'bSortable': false, 'bSearchable': false, 'mRender': function (data, type, full) { //return ' '; return ' '; } } ] }); $('#EventDeatils').modal(); } else { $('#tblevent >thead').remove(); $('#tblevent >tbody').remove(); var tr = 'No Records'; $('#tblevent >tbody').remove(); $('#tblevent').append(tr); } }, error: function (xhr, status, error) { var err = eval("(" + xhr.responseText + ")"); alert(err.Message); } }); 

在该使用日期USGDATE和上次编辑SID无法正常工作。 它在我创建新行时显示默认值。

我的新行添加如下:

 var t = $('#tblevent').DataTable(); t.row.add({ "SERVICETEXT": "service", "ITEMNAME": "item", "USGDATE": "date", "QUANTITY": "", "UNITTEXT": "", "RATE": "", "AMOUNT": "", "SID": "" }).draw().node(); 

在最后的SID细节需要出现,但它似乎是错误的。 如果我触发此function,则在中间添加新行,并且需要在顶部添加此新行。

我的HTML:

 

三个细节需要改变:

  1. 使用日期栏
  2. 最后一个SID需要改变

您应该添加实际数据而不是

元素。 例如,

 var t = $('#tblevent').DataTable(); t.row.add({ "SERVICETEXT": "Service Name", "ITEMNAME": "Item name", "USGDATE": "1995-12-25", "QUANTITY": "1", "UNITTEXT": "2", "RATE": "3", "AMOUNT": "4", "SID": "5" }).draw(); 

要在单元格中呈现单元格内容并显示元素,请对这些列使用mRender回调,类似于将其用于SID列的方式。