- PR -

GridViewのPagerTemplateへ配置したコントロールへのアクセス

1
投稿者投稿内容
.Net Beginner
会議室デビュー日: 2007/08/31
投稿数: 5
投稿日時: 2007-08-31 13:47
お世話になります。

現在GridViewを配置し、PagerTemplateにTextBoxを貼り付け入力した値により、
PageIndexを変更させようとしています。

Footerに配置したコントロールであれば、FooterRowに対してFindConteolを実行することで
参照が可能なのですが、PagerTemplateの場合の参照方法が不明で苦慮しております。

過去ログを参照しましたが、C#でのソースしか見つけることができず、
VBに置き換えた場合のソースがよく分からずにいます。

何卒ご教示下さいますよう、お願いいたします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-08-31 16:01
VB も C# もそう変わらないと思うんだけれど、どのあたりがわかりませんでしたか?
参考にしようとした URL を教えてください。
_________________
かるあ のメモスニペット
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-08-31 17:13
引用:

.Net Beginnerさんの書き込み (2007-08-31 13:47) より:

過去ログを参照しましたが、C#でのソースしか見つけることができず、VBに置き換えた場合のソースがよく分からずにいます。


http://www.masahiko.info/it/archives/000388.html

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2007-09-01 06:48
以下のコードが参考になるかと。

コード:

Protected Sub GoToPage_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim txtGoToPage As TextBox = DirectCast(sender, TextBox)

Dim pageNumber As Integer
If Integer.TryParse(txtGoToPage.Text.Trim(), pageNumber) _
AndAlso pageNumber > 0 _
AndAlso pageNumber <= Me.gvCustomers.PageCount Then
Me.gvCustomers.PageIndex = pageNumber - 1
Else
Me.gvCustomers.PageIndex = 0
End If
End Sub

Protected Sub GvCustomers_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
Dim gridView As GridView = DirectCast(sender, GridView)

If e.Row.RowType = DataControlRowType.Pager Then
Dim lblTotalNumberOfPages As Label = DirectCast(e.Row.FindControl("lblTotalNumberOfPages"), Label)
lblTotalNumberOfPages.Text = gridView.PageCount.ToString()

Dim txtGoToPage As TextBox = DirectCast(e.Row.FindControl("txtGoToPage"), TextBox)
txtGoToPage.Text = (gridView.PageIndex + 1).ToString()

Dim ddlPageSize As DropDownList = DirectCast(e.Row.FindControl("ddlPageSize"), DropDownList)
ddlPageSize.SelectedValue = gridView.PageSize.ToString()
End If
End Sub




C# => VBへの変換はこのサイトが便利です。
http://www.developerfusion.co.uk/utilities/convertcsharptovb.aspx

_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集

[ メッセージ編集済み 編集者: Access 編集日時 2007-09-01 06:58 ]
.Net Beginner
会議室デビュー日: 2007/08/31
投稿数: 5
投稿日時: 2007-09-01 15:19
>皆様

試行錯誤の結果、GridViewのBottomPagerRowプロパティを使用することで解決されました。

以下、ソースの一部です。
Dim PagerRow as GridViewRow = GridView1.BottomPagerRow
Dim PagterText = CType(PagerRow.Cells(0).FindControl("TextBox1"), TextBox).Text
GridView1.PageIndex = PagerText

大変参考になりました。
ありがとうございました。
1

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