这里我正在asp.net页面中使用jquery数据表插件
我当前正在使用一个根据用户操作在页面中刷新的表。用户可以输入搜索字符串,表格将在新的 DIV 中打开并显示结果。我在初始化表后无法正常工作。我尝试过使用 fnDestroy 以及 fnClearTable,但遇到了一些不同的问题。
使用 fnClearTable 时,尝试重新加载表时出现此错误:
“DataTables 警告(表 id = 'add_assets_table'):无法重新初始化 DataTable。 要检索此表的 DataTables 对象,请不向 dataTable() 函数传递任何参数,或将 bRetrieve 设置为 true。或者,要销毁旧表并创建新表,请将 bDestory 设置为 true(请注意,可以通过 API 对配置进行大量更改,这通常要快得多)。”
最佳答案
if (typeof oTable == 'undefined') {
oTable = $('#example').dataTable( {
"aaData": [
/* Reduced data set */
[ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ],
[ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
[ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
[ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
[ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ],
[ "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", 1.8, "A" ],
[ "Gecko", "Firefox 2", "Win 98+ / OSX.2+", 1.8, "A" ],
[ "Gecko", "Firefox 3", "Win 2k+ / OSX.3+", 1.9, "A" ],
[ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ],
[ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ],
[ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ],
[ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ]
],
"aoColumns": [
{ "sTitle": "Engine" },
{ "sTitle": "Browser" },
{ "sTitle": "Platform" },
{ "sTitle": "Version", "sClass": "center" },
{
"sTitle": "Grade",
"sClass": "center",
"fnRender": function(obj) {
var sReturn = obj.aData[ obj.iDataColumn ];
if ( sReturn == "A" ) {
sReturn = "<b>A</b>";
}
return sReturn;
}
}
]
} );
}
else {
var dataset = [
/* Reduced data set */
[ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ],
[ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
[ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
[ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
[ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ],
[ "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", 1.8, "A" ],
[ "Gecko", "Firefox 2", "Win 98+ / OSX.2+", 1.8, "A" ],
[ "Gecko", "Firefox 3", "Win 2k+ / OSX.3+", 1.9, "A" ],
[ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ],
[ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ],
[ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ],
[ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ]
];
oTable.fnClearTable(0);
oTable.fnAddData(dataSet);
oTable.fnDraw();
}
fnClearTable() 用于清除表格。 fnAddData() 用于添加新数据集。 fnDraw()重绘表结构。
关于asp.net - 如何在jquery数据表插件中重新加载数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6967673/