我在 ASP 中继器上使用来自 DataTables ( http://datatables.net/ )的 FixedHeader 函数 ( http://datatables.net/extras/fixedcolumns/ )。
加载页面时,转发器/表不可见,用户必须在下拉列表中选择一个项目才能将转发器进行数据绑定。
脚本作为 ScriptReferences 添加到脚本管理器中。
<asp:ScriptReference Path="Scripts/jquery-1.9.1.min.js" />
<asp:ScriptReference Path="Scripts/jquery-ui-1.10.2.custom.min.js" />
<asp:ScriptReference Path="Scripts/jquery.blockUI.js" />
<asp:ScriptReference Path="Scripts/FixedHeader.min.js" />
当页面/回发完成时,启动表的代码使用:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
初始化:(只有表存在)
if ($('#myid').length > 0)
fixedHeaderList = new FixedHeader(document.getElementById('myid'), {
"offsetTop": 36
});
这工作得很好。
我在更新面板中添加了一个什么都不做的 asp 按钮,只是为了获得回发。在此之后,当我尝试滚动以下行时它会失败:
fnSumScroll: function (f, e) {
var d = f[e]; <--
...
(我是否重新创建了固定标题并不重要。(新的 FixedHeader ...))
我还尝试在 asp 回发之后对 FixedHeader-object 执行 fnUpdate,fixedHeaderList.fnUpdate()
但这只会导致 javascript 错误:
'$lineinfo' is undefined
有什么想法吗?