ASP Repeater でDataTables ( http://datatables.net/ )の FixedHeader 関数 ( http://datatables.net/extras/fixedcolumns/ ) を使用します。
ページが読み込まれると、リピーター/テーブルは表示されません。ユーザーは、データバインドされるリピーターのドロップダウンリストで項目を選択する必要があります。
スクリプトは、scriptmanager に 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-button を追加しました。この後、次の行をスクロールしようとすると失敗します。
fnSumScroll: function (f, e) {
var d = f[e]; <--
...
(固定ヘッダーを再作成するかどうかは関係ありません。(新しい FixedHeader...))
また、asp ポストバック fixedHeaderList.fnUpdate() の後に、FixedHeader オブジェクトで fnUpdate を実行しようとしました。
しかし、それはjavascriptエラーにつながるだけです:
'$lineinfo' is undefined
アイデアはありますか?