更新於 2021/04/21閱讀時間約 2 分鐘

GridView + DataTables.js

如果想要在GridView控制項上套用DataTables.js的話有以下幾種方式。

一、純顯示用的GridView
由於DataTables使用上需要套在完整的table格式中, 使用GridView會沒有thead的部分,將無法套用。
這時請在後端你的Gridview DataBound區塊加入以下程式碼:
If (e.Row.RowTye = DataControlRowType.Header) Then
e.Row.TableSection = TableRowSection.TableHeader
End If

二、有控制項的Gridview
有控制項的GridView則不適用「一」的方法,由於控制項有Postback的問題,在Postback後,DataTables並不會再重新initiate一次,這時不要更改後端code,直接用前端JS加入thead。判斷方式如下
$(document).ready( function() {
bindDataTable();
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(bindDataTable);
})
Function bindDataTable() {
if (document.getElementById(”% YourGridViewID.ClientID %”).rows.length 1) { $(”#YourGridViewID”).prepend($(”thead/thead”).append($(”#YourGridViewID”).find(”tr:first”))).DataTable });
}
註:套用時記得要引用css & js喔。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.