- PR -

DataGridのページ番号について

1
投稿者投稿内容
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2004-10-22 09:44
ASP.NET-DataGridを利用し、あるデータの一覧を表示しています。その際、DataGridのページング機能を使いページ番号を表示しています。この時、ページ番号とページ番号の間の幅を広げたいのですが、ページ番号のFontを変更するしかないのでしょうか?
下記URLに記載してある情報を元にいろいろ試してみたのですが、DataGridコントロールのページ移動ボタンの場合はうまくいくのですが、ページ番号の場合は 1 と 2 の間にはスペースが入るのですが、それ以降23456・・・の間にはスペースが入ってくれません。どなたかご存知の方いらっしゃいましたら、情報のご提供ください。よろしくお願い致します。

http://atmarkit-www.atmarkit.co.jp/fdotnet/dotnettips/072modpager/modpager.html

Private Sub DataGrid_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid.ItemCreated

If((e.Item.ItemType = ListItemType.Pager)) Then
Dim lblTest As Label

lblTest = new Label
lblTest.Text = " "

Dim pager As TableCell
pager = CType(e.Item.Cells(0) ,TableCell)
pager.Controls.AddAt(1,lblTest)
End If
End Sub

[ メッセージ編集済み 編集者: SE卵 編集日時 2004-10-22 09:46 ]

[ メッセージ編集済み 編集者: SE卵 編集日時 2004-10-22 09:47 ]
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2004-10-22 11:05
こんな感じでどうでしょ。
コード:
    Private Sub DataGrid1_ItemCreated(ByVal sender As Object, _
                                      ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) _
                             Handles DataGrid1.ItemCreated
        If e.Item.ItemType = ListItemType.Pager Then
            Dim ctrl As Control
            Dim type As System.Type = (New LiteralControl()).GetType

            For Each ctrl In CType(e.Item.Cells(0), TableCell).Controls
                If ctrl.GetType.Equals(type) Then
                    Dim val As String = CType(ctrl, LiteralControl).Text
                    CType(ctrl, LiteralControl).Text = val.Insert(0, "-")
                End If
            Next
        End If
    End Sub


# SPACEの替わりに解りやすく"-"にしました。
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2004-10-22 11:50
えんぞ@見習さん、ありがとうございました。なんとか出来そうです。ページ切り替えしたときにちょっと不具合があったため、えんぞ@見習さんのものにちょっと手を加えました。DataGridLinkButton・LiteralControl・Labelの3つがTypeで返ってくるみたいですね。なぜわざわざこんなに分けているのかは不明ですが、本当に助かりました。ありがとうございます。

Private Sub DataGrid1_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemCreated
If((e.Item.ItemType = ListItemType.Pager)) Then
Dim ctrl As Control
Dim type As System.Type = (New LiteralControl()).GetType
Dim ltype As System.Type = (New Label()).GetType

For Each ctrl In CType(e.Item.Cells(0), TableCell).Controls
If ctrl.GetType.Equals(type) Then
Dim val As String = CType(ctrl, LiteralControl).Text
CType(ctrl, LiteralControl).Text = val.Insert(val.Length, " ")
ElseIf ctrl.GetType.Equals(ltype) Then
Dim val As String = CType(ctrl, Label).Text
CType(ctrl, Label).Text = val.Insert(0, "  ")
ElseIf ctrl.GetType.Name.Equals("DataGridLinkButton") Then
Dim val As String = CType(ctrl, LinkButton).Text
CType(ctrl, LinkButton).Text = val.Insert(0, "  ")
End If
Next

End If
End Sub
1

スキルアップ/キャリアアップ(JOB@IT)