承接上篇透過CSS設定,達到類似Excel凍結視窗的效果(固定上面、左邊表頭)

小喵這次想在ASP.NET中達到相同的效果。但是中間遇到了幾個狀況,要一一排除掉,小喵將排除的方式記錄如下:

1.首先這樣的方式並非標準的CSS語法,然而開WebForm的時候,aspx裡面都會加入一行來檢查是否是標準的格式,有這行會失敗,必須將此行刪除

2.其次,由於GridView所產生的HTML裡面,自動會加入一個DIV,這會導致CSS中的this.parentElement.offsetParent.parentElement.scrollLeft

取錯,要修正為

this.parentElement.offsetParent.offsetParent.scrollLeft

 

以下為範例:

首先在樣式表中加入CSS設定

.FixedTitleRow { position: relative; table-layout:fixed; top: expression(this.offsetParent.scrollTop-2); background-color:White; z-index: 10; } .FixedTitleRow th { text-overflow:ellipsis; overflow:hidden; white-space: nowrap; padding:2px; } .FixedTitleColumn { position: relative; left: expression(this.parentElement.offsetParent.scrollLeft-2); } .FixedDataColumn { position: relative; left: expression(this.parentElement.offsetParent.offsetParent.scrollLeft-2); }

接著新增aspx檔案,記得去除

小喵用北風的資料庫來當範例,GridView的內容如下

產生的結果畫面如下:

在GridView中使用CSS固定上、左表頭(似Excel凍結視窗)(限IE)

使用方式很簡單

  1. 固定左邊的資料行中,設定HeadStyle的CssClass=FixedTitleColumn,以及ItemStyle的CssClass=FixedDataColumn
  2. 整個GridView的HeadStyle設定CssClass=FixedTitleRow

這樣就完成了!!

相关文章:

  • 2021-06-12
  • 2022-12-23
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
猜你喜欢
  • 2022-12-23
  • 2021-09-28
  • 2021-11-26
  • 2021-11-27
  • 2021-05-17
  • 2021-08-13
  • 2021-12-09
相关资源
相似解决方案