ASP.NET 徹底活用術のホームへ戻る

■ページ派生クラスを使用する ~dg4.aspx

 

DataGridのページングと並べ替えに必要な各種メソッドとプロパティを、ページ派生クラスに移動して集約します。新規クラス(MyBaseClass.vb)を作成したら、Public Class MyBaseClassに「Inherits System.Web.UI.Page」を追加してWebページのクラスを継承させます。さらに、ページングと並べ替え処理に必要なメソッドCreateDataViewUpdateColumnHeaderCreatePageArraySetButtonsMovePageSortExpression/SortOrderプロパティを追加します。

 

MyBaseClass.vb(ページ派生クラス)

 

Imports System.Data

Imports System.Data.OleDb

Imports System.Text.RegularExpressions

 

Public Class MyBaseClass

  Inherits System.Web.UI.Page

 

  Function CreateDataView(ByVal strSQL As String) As DataView

  ・・・

  End Function

 

  Sub UpdateColumnHeader(ByVal dg As DataGrid)

  ・・・

  End Sub

 

  Function CreatePageArray(ByVal dg As DataGrid) As ArrayList

  ・・・

  End Function

 

  Sub SetButtons(ByVal dg As DataGrid, ByVal btnFirst As Button, _

ByVal btnPrev As Button, ByVal btnNext As Button, _

ByVal btnLast As Button)

  ・・・

  End Sub

 

  Sub MovePage(ByVal dg As DataGrid, ByVal strDirection As String)

  ・・・

  End Sub

 

  Public Property SortExpression() As String

  ・・・

  End Property

 

  Public Property SortOrder() As String

  ・・・

  End Property

End Class

 

dg4.aspx.vbのコードビハインドから、ページ派生クラスを使用するには、Public Class dg4の「Inherits System.Web.UI.Page」を「Inherits MyBaseClass」に書き換えます。これで、ページ派生クラスに登録されているページングと並べ替えに必要なメソッドとプロパティが使用できます。

 

dg4.aspx.vbdg4.aspxのコードビハインド)

 

Public Class dg4

  Inherits MyBaseClass

 

  Private Sub Page_Load(...) Handles MyBase.Load

    ・・・          

  End Sub

  Private Sub DataGrid1_SortCommand(...) _

    Handles DataGrid1.SortCommand

   ・・・

  End Sub

  Private Sub DataGrid1_PageIndexChanged(...) _

    Handles DataGrid1.PageIndexChanged

    ・・・

  End Sub

  Public Sub Navigation_Command(...) Handles Navigation.Command

    ・・・

  End Sub

  Private Sub dropPages_SelectedIndexChanged(...) _

    Handles dropPages.SelectedIndexChanged

    ・・・

  End Sub

  Sub BindDataGrid()

    ・・・

  End Sub

End Class

 

ASP.NET 徹底活用術のホームへ戻る