- PR -

GridViewの行数が取得できない

1
投稿者投稿内容
ニセイタ
常連さん
会議室デビュー日: 2009/02/27
投稿数: 24
投稿日時: 2009-03-19 11:56
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31317&forum=7&3
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30536&forum=7&4
を参照して、ボタン押下イベントタイミングで、
GridViewの行数を取得しようとしているのですが、
できません。
GridViewのRow.Countは必ず0になってしまいます。

ボタン押下タイミング(GridView外)

Protected Sub AdminEntryBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AdminEntryBtn.Click

For index As Integer = 0 To GridView1.Controls.Count -1

'Programmatically access the CheckBox from the TemplateField

Dim cb As CheckBox = CType(GridView1.Rows(index). _
FindControl("authority_level"), CheckBox)

'If it’s checked, delete it...
If cb.Checked Then
MsgBox("チェックがついてます" + index)

End If
Next


End Sub

というプログラムを走らせているのですが、そもそも、GridViewに
検索ボタン押下タイミングで、データバインドを行っているので、
データバインドはサーバープログラム側で行っております。

データソースの、テーブルのカウントは取得できておりますが、
そうすると、ページング遷移した時の表示されているGridViewの行数は
取得できませんよね。

あと、考えているのは、RowCreateD イベント時に、セッション変数に、
RowCountを蓄えといて、ページング時にRowCountをリセットして、
再度取得するとかです。

データソースオブジェクトを参照すべきなのでしょうか。
としても、データソースオブジェクトの正しい再取得、取得後のバインドしている
GridViewの行数取得は行う事ができるのでしょうか。

どなたか、ご教授いただけますと幸いです。
宜しくお願いいたします。

ニセイタ
常連さん
会議室デビュー日: 2009/02/27
投稿数: 24
投稿日時: 2009-03-19 13:20
自己解決です。

GridView1.DataKeys().Count
を行う事で、現在、表示しているGridViewの行数を取得できるようになりました。
また、ページング処理に対しても、対応できることがわかりました。


データバインドのソースをSQLDATASOUCEではなく、テーブルアダプターから
取得したテーブルで行っているからでしょうか。

1

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