自訂GridView的凍結功能-Part II

自訂GridView的凍結功能-Part II

前文提要

我們實作好這個Class後,接著我們新增一個WebSite,然後加入參考,選擇這個Class的dll檔

如果成功的話,我們工具箱就會出現在我們做的GridView控制項了....

 

接下來我們將其拖曳進來,設定我們連結的DB,讓其有資料(這部份就不加贅述了)

我們在畫面放2個Button,一個是凍結窗格用,另一個是凍結欄位用的

畫面大概是像醬子

pic

 

那這邊我們要來實作這個Button Click

首先是Frozen Header

'開始做凍結窗格測試
        '1先做凍結Header
        If GridView1.HeaderRow.CssClass = FrozenGv.GridViewControl.GridView.FrozenVerticalCssClass Then

            GridView1.HeaderRow.CssClass = ""
            Button1.Text = "Frozen Header"
        Else
            If (GridView1.HeaderRow IsNot Nothing) Then

                GridView1.HeaderRow.CssClass = FrozenGv.GridViewControl.GridView.FrozenVerticalCssClass
                Button1.Text = "UnFrozen Header"
            End If


        End If

 

再來是Frozen Column

 

'開始做凍結窗格測試
        '2凍結第二欄
        If (GridView1.HeaderRow IsNot Nothing) Then

            For i As Integer = 0 To GridView1.HeaderRow.Cells.Count - 1
                If i < 2 Then
                    GridView1.HeaderRow.Cells(i).CssClass = FrozenGv.GridViewControl.GridView.FrozenAllCssClass
                Else
                    GridView1.HeaderRow.Cells(i).CssClass = FrozenGv.GridViewControl.GridView.FrozenVerticalCssClass
                End If

            Next

        End If

        For Each gr As GridViewRow In GridView1.Rows
            For j As Integer = 0 To 2 - 1
                gr.Cells(j).CssClass = FrozenGv.GridViewControl.GridView.FrozenHorizontalCssClass
            Next

        Next

 

 

實作以上這個,就可以達到我們的功能

各位有興趣的話,可以下載以下的範例程式,FrozenGridView是我們的Class,FrozenGvExample是我們的範例程式

FrozenGridView   FrozenGvExample

 


reference

Real World GridView: Excel-like Frozen Headers for ASP.NET 2.0