我的要求如下:
在我的 ASPX 页面中,我使用 fileUpload 从电子表格中导入数据并动态生成一个 ASP.NET 表。表格行和列的维度和数据由文件本身设置 - 这意味着我的应用程序在导入数据之前不知道行和列。
我想做的是将 jQuery DataTables 插件应用于我的动态生成的表。当用户单击页面上的 Import 按钮时,将生成该表。
我遇到的问题是格式化表格的 jscript 在表格可用之前运行,因此 DataTable 插件抱怨列。错误内容如下:
无法获取属性“aoColumns”的值:对象为空或未定义
我尝试将以下代码添加到我的 Button_Click 事件中,但它发生在加载表之前:
ClientScript.RegisterClientScriptBlock(Me.GetType(), "FormatTable", "FormatTable();", True)
脚本如下:
function FormatTable() { var oTable = $('#tblMyTable).dataTable({ "bJQueryUI": true, "sScrollY": "300px", "sScrollX": "100%", "sScrollXInner": "150%", "bScrollCollapse": true, "bPaginate": false }); new FixedColumns(oTable); };
我确保表格格式正确,包括 table、thead、tr、th、tbody、tr、td。当表格从后面的代码生成时,它被插入到服务器占位符控件中。
所以我的问题是:如何使用 jQuery DataTables 插件成功格式化服务器生成的表?非常感谢您的帮助。