- - PR -
GridViewの行数が取得できない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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-03-19 13:20
自己解決です。
GridView1.DataKeys().Count を行う事で、現在、表示しているGridViewの行数を取得できるようになりました。 また、ページング処理に対しても、対応できることがわかりました。 データバインドのソースをSQLDATASOUCEではなく、テーブルアダプターから 取得したテーブルで行っているからでしょうか。 |
1