- PR -

DataGripのTemplateの値の取得方法

1
投稿者投稿内容
うっち
会議室デビュー日: 2003/02/21
投稿数: 2
投稿日時: 2003-02-21 12:11
はじめまして。

DataGridにTemplateを配置し、ItemTemplateにはLabelを配置、EditItemTemplateには、
TextBoxを配置しました。
ItemDataBound時に、ItemTemplateに配置したLabelの値を取得し、値によって文字色等を
変更したいと考えていますが、うまく、取得することが出来ません。

Templateを配置していない場合は、
str = e.Item.Cells(0).Text
で、取得は出来ました。

ItemDataBound時に、ItemTemplateに配置したLabelの値を取得方法をお教えください。
よろしくお願いします。
否かっぺい
常連さん
会議室デビュー日: 2003/02/10
投稿数: 48
投稿日時: 2003-02-28 00:54
否かっぺいと申します。

CType(e.Item.Cells(0).FindControl("LabelのID"), Label).Text

で取得できますよ。
うっち
会議室デビュー日: 2003/02/21
投稿数: 2
投稿日時: 2003-02-28 15:44
否かっぺいさん
回答ありがとうございます。
以前、同じようにやってみたんですが、うまく取得する事が出来なかったんです。
もしかすると、どこかに間違いがあったかもしれません。
再度、確認してみます。
初心者34号
会議室デビュー日: 2006/03/27
投稿数: 1
投稿日時: 2006-03-27 17:56
質問からかなりの時間が経過していますが参考までに‥

WEBフォームのHTMLで、素直に
<ItemTemplate>
<asp:Label id="LabelのID" runat="server">
<%# databinder.eval(container.dataitem,"列名") %>
</asp:Label>
</ItemTemplate>
と記述すると、LabelのプロパティにはTextが存在しないので参照できません。

次の様に明示的にLabelにTextプロパティを記述することによって参照できました。
<ItemTemplate>
<asp:Label id="LabelのID" runat="server" text='
<%# databinder.eval(container.dataitem,"列名") %>'>
</asp:Label>
</ItemTemplate>

プログラムの方は否かっぺいさんの回答通りです。

[ メッセージ編集済み 編集者: 初心者34号 編集日時 2006-03-27 18:08 ]

[ メッセージ編集済み 編集者: 初心者34号 編集日時 2006-03-27 18:09 ]
1

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