- - PR -
動的DataGridの作成
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-04-13 01:06
こんにちは。初めまして。初心者で申し訳ありませんがよろしくお願いします。
DataGridは, 例えば <asp:DataGrid> <Columns> <asp:BoundColumn DataField="WARR_ID" HeaderText="Warranty Code"> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle CssClass="lblAll"></ItemStyle> </asp:BoundColumn> <asp:TemplateColumn HeaderText="Visible"> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemTemplate> <asp:checkbox id=cbVisible Runat="server" checked='<%# DataBinder.Eval(Container, "DataItem(1)") %>' OnCheckedChanged='<% #DataBinder.Eval(Container, "DataItem(2)") %>'> </asp:checkbox> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> という風に、タグで作成するものだと思います。 その中でTemplateColumnなども使用したりしますが、 これを全てVBコード内で行いたいです。 しかし、どうしてもTemplateColumnの部分だけうまくいきません。 'テンプレートカラム Dim colTemp As New TemplateColumn Dim cb As New CheckBox colTemp.HeaderText = "HEADER" colTemp.HeaderStyle.HorizontalAlign = HorizontalAlign.Center 'この辺からどうしてもおかしくなってしまいます。 cb.Checked = DataBinder.Eval(dg.DataSource, "VISIBLE") cb.Attributes.Add("onclick", "javascript:CbClick('" & DataBinder.Eval(dg.DataSource, "SUB_ID")" & "');") colTemp.ItemTemplate = cbV @データがうまくバインドできない。 Aテンプレートカラムにコントロールを追加できない どうかよろしくお願いいたします。 |
|
投稿日時: 2004-04-14 15:16
こんにちは。
私のプロジェクトでも同じようなことをやりました。 こちらでも、「なるべく全部サーバサイドのコーディングで済ます」 というコンセプトで開発しています。 詳しくはまた書き込みしますが、ASPXのソースをいじらずに サーバ側だけでやる方法のひとつには、データをバインドした後で Datagrid1.Items(i).Cells(j).Controls.Add(...) のような形でコントロールを追加するとかありますが、これってどうでしょうか? >@データがうまくバインドできない。 >Aテンプレートカラムにコントロールを追加できない DataGridにデータをバインドする前はまだコントロールの実体が 出来ていないので、チェックボックスの操作や属性の設定などは出来ないと思います。 列のコントロールへのアクセスは、バインドした後にもう一周ループを回す必要が ある、のでしょうか。うちはそうしました… もう少し調べてもっとスマートなやり方があったらまた書き込みします。 とりあえず、何かの参考になるといいのですが。自信なさげでスミマセン |
|
投稿日時: 2004-04-26 10:47
もう解決しているかもしれませんが・・・。
こんなのが参考になるかも知れません。 http://support.microsoft.com/default.aspx?scid=kb;ja;306227 このHOWTOだと TemplateColumn の作成を Page_Load イベントで行うとなっていますが、私的には Page_Init で行うべきだと思います。また、実際そうしています。 なぜなら、ポストバックしてきた時のビューステート反映前に TemplateColumn は既に作成されているべきだからです。 間違っていたらごめんなさい。 |
|
投稿日時: 2004-04-26 11:04
今回はかめたろさんに教えて頂いたやりかたで何とかできました。
Coolieさんのやりかたも、すごく参考になりました。 御返答どうもありがとうございました。 データグリッドはあんまり複雑な事できなそうでいろいろ出来るものですよね。 奥が深いです!!!! |
1