- PR -

datagridのヘッダ部へデータバインド

1
投稿者投稿内容
はっちん
会議室デビュー日: 2006/02/06
投稿数: 9
投稿日時: 2006-03-01 22:47
いつも参考にさせていただいております。
質問がありますので、ご存知の方がいらっしゃいましたら
ご教授お願い致します。

■■やっている事■■
データセットにデータを充填し、データグリッドへ表示しています。

■■やりたい事■■
データグリッドのヘッダ部を動的に設定したいため、データセットのデータをデータグリッドの「ヘッダ部」へ表示させたいと思っています。
現在は、「DataBinder.Eval(Container.DataItem, "名称1")」を使用して
データグリッドのヘッダ部に表示させようと試みています。
しかし、ヘッダ部にデータが表示されません。
<ItemTemplate>のラベルにはデータを表示できるのですが、<HeaderTemplate>のラベルにはデータが表示されません。
データセットのデータをヘッダ部に表示させることは出来ないようでしょうか??

■■現在のソース■■
'' データセットにデータグリッドのヘッダに表示するデータを格納するカラムを追加
dsResult.Tables("名称").Columns.Add("名称1")
'' 追加したカラムにヘッダ名称を格納
dsResult.Tables("名称").rows(0).item("名称1") = "名称"

'' データバインド
With Me.datagrid
.DataSource = dsResult
.DataMember = dsResult.Tables("名称").TableName
.DataBind()
.Visible = True
End With

'' HTML
<asp:datagrid id="datagrid"・・・>
<Columns>
<asp:TemplateColumn>
<HeaderStyle HorizontalAlign="Center">
</HeaderStyle>
  <ItemStyle Font-Size="X-Small" HorizontalAlign="Center">
  </ItemStyle>
<HeaderTemplate>
<asp:Label ID="lbl1" runat="server"
text='<%# DataBinder.Eval(Container.DataItem, "名称1") %>' />
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lbl2" runat="server"
text='<%# DataBinder.Eval(Container.DataItem, "名称1") %>' />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>



[ メッセージ編集済み 編集者: はっちん 編集日時 2006-03-01 22:48 ]
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-03-02 12:34
DataGridColumn.HeaderTextプロパティに代入するのがよいでしょう。

DataGrid1.Columns[0].HeaderText = "ヘッダ1";
はっちん
会議室デビュー日: 2006/02/06
投稿数: 9
投稿日時: 2006-03-08 23:24
todoさん返信ありがとうございました。

教えていただいた通りHeaderTextプロパティに値を設定することで
解決することができました。

HeaderTextプロパティに設定するタイミングは、
データバインドより前に行いました。
データバインドより後に設定するのはNGみたいです。
1

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