- PR -

テーブルの行と列のカウントをするには?

1
投稿者投稿内容
BELL
会議室デビュー日: 2005/07/13
投稿数: 11
投稿日時: 2007-08-10 15:01
ASP.NET(VB)で開発をしております。

【状況】
  1.<asp:table id="tblTEST" runat="server"></asp:table>でテーブルを作成
  2.作成したテーブルに対してプロシージャー側で
    '1行追加
    Dim myRow As New TableRow
    'セル追加
    Dim myCell0 As New TableCell
    Dim myCell1 As New TableCell

    myCell0.Text = "日付"
    myCell1.Text = "番号"

    myRow.Cells.Add(myCell0)
    myRow.Cells.Add(myCell1)

    'ROW追加
    tblTEST.Rows.Add(myRow)

    テーブルにデータを追加(実際はデータベースからデータを取得して追加)

  3.テーブルにデータが追加され画面に表示される
  4.別のボタンを押した際にテーブルの内容をCSV形式にしたい為
    With lstrCSV
      For Row_Cnt = 0 To tblTEST.Rows.Count - 1
        For Col_cnt = 0 To tblTEST.Rows(Row_Cnt).Cells.Count - 1
          .Append(tblTEST.Rows(Row_Cnt).Cells(Col_cnt).Text & ",")
        Next
        .Append(ControlChars.CrLf)
      Next
    End With

    と記入しました。

 【ご質問事項】

   その際に、tblTEST.Rows.Countと記入しても「件数が0」になってしまいます。
   テーブルを作成するプロシージャー内で同じ事を記入した場合は正しい件数が
   取得出来ます。

   なぜ画面表示後に別のボタンを押してテーブルの件数を取得出来ないのでしょうか?

 ご存じの方お見えでしたらご教授いただきたくお願い申し上げます。




Katze
ベテラン
会議室デビュー日: 2005/11/01
投稿数: 74
お住まい・勤務地: 1台でも せんだい
投稿日時: 2007-08-10 17:15
はずしてるかもしれませんが、

引用:
4.別のボタンを押した際にテーブルの内容をCSV形式にしたい為


ここでボタンが押されたことによりPostBackが発生し、tblTESTが設置した状態、つまり行がない状態に戻るためtblTEST.Rows.Countが0になるのではないでしょうか?

# データベースからデータを取得して行の追加をおこなうなら
# DataGridやDataViewを使ったほうがいいような気がしますが...


[ メッセージ編集済み 編集者: Katze 編集日時 2007-08-10 17:19 ]
1

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