- PR -

ページ移動の出来るDatagrid内のCheckBox

1
投稿者投稿内容
Qちゃん
常連さん
会議室デビュー日: 2003/06/27
投稿数: 36
投稿日時: 2005-02-18 18:15
1ページの行数が固定で、ページ移動のできるDatagridで、
CheckBoxのカラムを作成しました。
(CheckBoxはHTMLで作成し、他のカラムは・・.aspx.vbでDataTableにカラムを追加していきました。)
そこで問題発生なのですが、ページを移動した際にチェックボックスがクリアされてしまいます。
ページを移動しても、チェックボックスがクリアされないようにするにはどのようにしたらよいでしょうか?

初歩的な質問ですが、よろしくお願いします。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2005-02-18 18:29
引用:

Qちゃんさんの書き込み (2005-02-18 18:15) より:
(CheckBoxはHTMLで作成し、他のカラムは・・.aspx.vbでDataTableにカラムを追加していきました。)


???
つまり、DataGridのテンプレート列にCheckBoxを挿入した、ということですかね?

とりあえず過去ログ見ましょう。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15567&forum=7
この辺から見ていくといいかも。
_________________
まゆりん @ わんくま同盟
Blog る。
Qちゃん
常連さん
会議室デビュー日: 2003/06/27
投稿数: 36
投稿日時: 2005-02-18 19:24
まゆりんさん、早速返答ありがとうございます。
過去ログを読んでみたのですがどうしてもわからない点があります。

DataGridを下記のようにして作りました。
HTMLで・・・・
<asp:datagrid ・・・・
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="chkMeisai" runat="server" AutoPostBack=true Checked='<%# DataBinder.Eval(Container, "DataItem.CHK") %>'></asp:CheckBox>
</ItemTemplate>
<FooterTemplate>
<asp:label id="lblPageCount" runat="server"></asp:label>
</FooterTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Visible="False" NextPageText="" PrevPageText="" Font-Size="2"></PagerStyle>
</asp:datagrid>

aspx.vbで・・・・
'テーブルのカラム名の設定
DT.Columns.Add(New DataColumn("CHK", GetType(Boolean)))
DT.Columns.Add(New DataColumn("品番", GetType(String)))
'テーブルの項目の設定(DSはSQLで取得したデータのDataSet)
Dim intCnt As Integer
For intCnt = 0 To DS.Tables("SUBHIN").Rows.Count - 1
  DR = DT.NewRow()
  Dim RowView As DataRowView = DS.Tables("SUBHIN").DefaultView(intCnt)
  DR("CHK") = False
  DR(0) = CM.SetByte(Trim(RowView("HINCD").ToString()), 20)
  DT.Rows.Add(DR)
Next

この場合、チェックボックスとは別に"CHK"というカラムが出来て、"True"というデータが表示されているのですが、その列を消す(チェックボックスのみにする)にはどうしたらよいのでしょうか?
上記では、チェックボックスはHTMLで作成しましたが.aspx.vb内でも、チェックボックスを作成することは出来るのでしょうか?
Lin
ベテラン
会議室デビュー日: 2004/11/08
投稿数: 50
投稿日時: 2005-02-18 21:12
引用:

Qちゃんさんの書き込み (2005-02-18 19:24) より:
この場合、チェックボックスとは別に"CHK"というカラムが出来て、"True"というデータが表示されているのですが、その列を消す(チェックボックスのみにする)にはどうしたらよいのでしょうか?
上記では、チェックボックスはHTMLで作成しましたが.aspx.vb内でも、チェックボックスを作成することは出来るのでしょうか?



AutoGenerateColumnsがTrueになっているんでしょう。

HTMLで作成した、とは、HTMLビューに直接書いた、ということでしょうか。
通常はデザイン画面からDataGridを右クリックでプロパティビルダを選択して
列の項目で、追加、削除します。
テンプレート列を挿入したら、右クリックからテンプレートの編集メニューが
選べるようになります。そこでチェックボックスを挿入します。
1

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