- PR -

Winアプリ DataGrid の DataGridBoolColumn について

投稿者投稿内容
とっと
大ベテラン
会議室デビュー日: 2004/03/25
投稿数: 197
投稿日時: 2004-08-11 13:30
 ご返答ありがとうございます。

>これはTipsそのままでカスタマイズしていないということですかね。

そうですね、書き方が分かりにくくて申し訳ありませんでした。以後気を付けます。

で、試した結果

 記載したコードの中のDataGridTextBoxColumn と DataGridBoolColumn のMappingName を入れ替えて DataGridBoolColumn に先のSQL文のABC フィールド(String型)を指定してTrueValue="ABCフィールドの値" と記述するとその値のレコードのチェックボックスにチェックが入りました。したがってTrueValueプロパティが値をきちんと受取れていないのだと思います。もう少しで出来そうですので頑張ってみます。

ありがとうございました。
とっと
大ベテラン
会議室デビュー日: 2004/03/25
投稿数: 197
投稿日時: 2004-08-11 13:52
お世話になります。やっと出来ました。

先のSQLで
>strSQL = strSQL & "SELECT ABC , "
>strSQL = strSQL & " BBB " ← Oracle Number型 1 or 0
>strSQL = strSQL & " FROM Table "

BBBフィールドの値のデータ型を調べた結果、Decimal型で受取っている事が分かりました。
で、元のSQLを以下のように

strSQL = strSQL & "SELECT ABC , "
strSQL = strSQL & " TO_CHAR(BBB) "
strSQL = strSQL & " FROM Table "

と一旦BBBフィールドをStringに変換して

Dim chkFlg As New DataGridBoolColumn
chkFlg.MappingName = "TO_CHAR(BBB)"
chkFlg.TrueValue = "1"  
chkFlg.FalseValue = "0"
chkFlg.AllowNull = False

とすることによって無事解決しました。

いろいろとお手を煩わしましてすいませんでした。
ありがとうございました。
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-08-11 14:09
>strSQL = strSQL & " TO_CHAR(BBB) "
strSQL = strSQL & " TO_CHAR(BBB) AS BBBSTR"

>chkFlg.MappingName = "TO_CHAR(BBB)"
chkFlg.MappingName = "BBBSTR"

別名をつけたほうがいいですよ。
出来てよかったですね。

_________________
えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12
えムナウのプログラミングのページ Blog1 Blog2
とっと
大ベテラン
会議室デビュー日: 2004/03/25
投稿数: 197
投稿日時: 2004-08-11 15:51
お世話になります。

>別名をつけたほうがいいですよ。

そうですね、そうします。

いろいろ値を確認しながらやってみると、だいぶん仕組みが解りました。

いろいろとアドバイス頂き、ありがとうございました。

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