このようなデータ テーブルがあり、データ テーブルの行にノックアウトの観測可能なプロパティを持たせたいと考えています。データテーブルの行を「クリック」してデータバインドできるようにするための最良の方法は何ですか。datatables ノックアウト バインディングを見たことがありますが、ajax ソースをサポートしていないようです。foreach および template バインディングを使用してテーブルを作成し、datatables で DOM からテーブルを初期化しようとしたアイデアはありますが、バインディングが削除されるため、クリックしても何もしません。また、遅いようです。AJAX または JS Array を使用したいと考えています。
{
"bDeferRender" : true,
"bProcessing" : true,
"sDom": '<"top"r>t<"bottom"lp><"clear">',
"oLanguage" : {
"sLoadingRecords" : " ",
"sProcessing" : processDialog
},
"sAjaxSource":'/get_statistics',
"sAjaxDataProp": 'landing_page_statistics',
"fnServerParams": function (aoData) {
aoData.push({"name": "start_date", "value": startDateEl.val()});
aoData.push({"name": "end_date", "value": endDateEl.val()});
},
"aoColumns" : [
{"mData" : "status", "sWidth": "6%"},
{"mData" : "name"},
{"mData" : "url"},
{"mData" : "pageViews", "sWidth": "15%"},
{"mData" : "leads", "sWidth": "5%"},
{"mData" : "convRate", "sWidth": "12%"}
],
"fnRowCallback": function (nRow, aData, iDisplayIndex) {
renderDataTableRow(nRow, aData, iDisplayIndex);
},
"fnFooterCallback" : function (nFoot, aData, iStart, iEnd, aiDisplay) {
renderDataTableTotalsRow(nFoot, aData, iStart, iEnd, aiDisplay);
},
"fnDrawCallback": function( oSettings ) {
// status tooltips
$('.lp-status').tooltip();
}
}