- PR -

DataGrid ItemTemplateに追加したtext.boxの色指定について

1
投稿者投稿内容
年寄り
会議室デビュー日: 2002/12/14
投稿数: 4
投稿日時: 2003-10-24 13:28
再提します。VS.NET2003使用。
表記のText.Boxに対し、ある条件時に入力不可とすると共に、backcolorを変えたいのですが方法がわかりません。入力不可については、ReadOnlyプロパティーに対しデータ連結する事により解決しています。同じ方法で、BackColorプロパティーに対し色指定を行えないかと思っているのですが

カスタム連結式を使って試しているので、その内容とHTMLの内容を記載します。

IIF(DataBinder.Eval(Container, "DataItem.ReadOnly2") = 1,"#C0C0C0","#FFFFFF")

HTMLに展開されたもの
<ItemTemplate>
<asp:TextBox id=tbSu2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ご注文数2") %>' Width="50px" BackColor='<%# IIF(DataBinder.Eval(Container, "DataItem.ReadOnly2") = 1,"#C0C0C0","#FFFFFF") %>' ReadOnly='<%# DataBinder.Eval(Container, "DataItem.ReadOnly2") %>'>
</asp:TextBox>
</ItemTemplate>

実行時のエラーメッセージは”指定されたキャストは有効ではありません。”です。

以上 よろしくお願いします。
Valhalla
ベテラン
会議室デビュー日: 2002/09/03
投稿数: 53
投稿日時: 2003-10-24 20:15
>BackColor='<%# IIF(DataBinder.Eval(Container, "DataItem.ReadOnly2") = 1,"#C0C0C0","#FFFFFF") %>'

DataBinder.Evalがobject型を返すからではないでしょうか?

あと、BackColorはColor型です。"#FFFFFF"→System.Drawing.Color.Whiteとか。

[ メッセージ編集済み 編集者: Valhalla 編集日時 2003-10-24 20:16 ]
年寄り
会議室デビュー日: 2002/12/14
投稿数: 4
投稿日時: 2003-10-25 08:09
ご指摘の通りに実行したら、出来ました。
ありがとうございました。今後、も少し勉強します。
1

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