- PR -

チェックボックスの初期表示について

1
投稿者投稿内容
まいどん
会議室デビュー日: 2007/03/28
投稿数: 13
投稿日時: 2007-05-28 19:12
C# + ASP.NETを勉強していまして、
DBから取得した値(varchar型で0か1で持っています)を元にして
0だったらチェックボックスにチェック状態で初期表示させたいのですが、
やり方が分かりません。

<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox runat="server" ID="check_box1" Text="true" />
Checked='<%# Eval("CHECKED") %>' />
</ItemTemplate>
</asp:TemplateField>

と書いてみたのですが、Evalの所でキャストエラーが起こります。
このCHECKEDをTRUE,FALSEの文字列にしてみてもだめです。
<%# %>の中でIF文等で判定してbool型に変換するか
RowDataBoundの中でbool型に変換するかを考えたのですが、どちらもやり方が分からずに
完全に行き詰まってしまいました。

何か他に簡単なやり方があるようでしたらご教授下さい。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-05-28 19:48
bool.TrueString と、bool.FalseString を、いっかい出力してみてみ。大文字小文字に注意っちゅうことで


しかし、varchar で 0/1 ?
SQL Server なら、bool 型もあるんじゃ?
_________________
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2007-05-28 19:52
boolというかbitで定義してたらboolに変換してくれたんじゃなかったかな。

自分で書き換えるなら、下で説明してるカスタムバインドでメソッド呼び出しの
あたりが参考になるかも。
http://dotnetfan.org/blogs/dotnetfanblog/articles/692.aspx
まいどん
会議室デビュー日: 2007/03/28
投稿数: 13
投稿日時: 2007-05-30 10:33
SQLServerの項目をBit型にする事で解決出来ました。
どうもありがとうございました。
1

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