- PR -

DataGridのページングについて

1
投稿者投稿内容
みのる
大ベテラン
会議室デビュー日: 2003/07/03
投稿数: 100
投稿日時: 2004-03-23 10:08
こんにちは。

DataGridのページングについて質問です。

DataGridのページが10ページ以上になり、
ヘッダーに「1 2 3 4 5 6 7 8 9 10 ...」と表示されます。

「...」の部分をクリックした場合、
ヘッダーには「... 11 12 13 14 15 16 17 18 19 20 ...」
と表示されます。

ここまではいいのですが、
ページ数の12以降をクリックした場合、
ヘッダーに「1 2 3 4 5 6 7 8 9 10 ...」と表示されます。

1〜11ページのページングはうまくできます。

何が原因でしょうか?

参考書を見ると、10ページ以内のDataGridしか紹介されていなくて
困っています。

宜しくお願いします。
OpS
ベテラン
会議室デビュー日: 2003/12/09
投稿数: 50
投稿日時: 2004-03-23 11:56
引用:

みのるさんの書き込み (2004-03-23 10:08) より:
こんにちは。
DataGridのページングについて質問です。


こんにちは、ページ設定はどのように記述していますか。
その部分を投稿してください
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-03-23 12:08
もう一つ、
引用:

みのるさんの書き込み (2004-03-23 10:08) より:

ページ数の12以降をクリックした場合、
ヘッダーに「1 2 3 4 5 6 7 8 9 10 ...」と表示されます。


このとき表示されているページは、何ページの内容でしょうか?
また、ヘッダーのリンクでない部分は、どこでしょうか?たとえば、5ページ目を表示していたら「5」だけリンクではないですよね。
みのる
大ベテラン
会議室デビュー日: 2003/07/03
投稿数: 100
投稿日時: 2004-03-23 13:20
早速のレスありがとうございます。

●DataGridの記述は(不足部分があれば言ってください)

<asp:DataGrid id="dgAite" style="Z-INDEX: 129; LEFT: 24px; POSITION: absolute; TOP: 176px" tabIndex="5"runat="server" Width="480px" Height="72px" AutoGenerateColumns="False" EnableViewState="False"
OnSelectedIndexChanged="dgAite_SelectedIndexChanged" AllowPaging="True" OnPageIndexChanged="dgAite_OnPageIndexChanged" >

(省略)
<PagerStyle Height="19px" Font-Size="3.8mm" Position="Top" Mode="NumericPages"></PagerStyle>

</asp:DataGrid>

Public Sub dgAite_OnPageIndexChanged(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
'ページインデックスの変更
dgAite.CurrentPageIndex = e.NewPageIndex

'画面セット
frmSetDisplay() '←DataGridにDataBindする記述あり。
End Sub


●ページ数13をクリックしますと、4ページの内容が表示されます。
そして、リンクでないのは「4」です。


宜しくお願い致します。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-03-23 13:27
EnableViewStateをtrueにする。
あるいは
http://www.atmarkit.co.jp/fdotnet/dotnettips/070novspager/novspager.html
みのる
大ベテラン
会議室デビュー日: 2003/07/03
投稿数: 100
投稿日時: 2004-03-23 15:50
todoさんありがとうございます。

お蔭様で、ページコントロールできました。

EnableViewStateをtrueにする方法ではなく、
ページを保持する方法にしました。

元々隠しフィールドを使ってページコントロールしていたので、
以下の様に記述して11ページ以降のページコントロールを
行いました。

Private Sub Page_Load
  (省略)
  If Not IsPostBack Then
    Me.hdnPageIDX.Text = "0"

  Else
   Me.dgAite.CurrentPageIndex = Me.hdnPageIDX.Text

  End If
  (省略)
End Sub

DataGridPageChangedEventArgs)

  'ページインデックスの変更
  dgAite.CurrentPageIndex = e.NewPageIndex
  Me.hdnPageIDX.Text = e.NewPageIndex
  
  '画面セット
  frmSetDisplay()
 
End Sub

本当にありがとうございました。


1

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