- PR -

DataGridTextBoxColumnの通貨表示ができない

1
投稿者投稿内容
diver
会議室デビュー日: 2004/09/01
投稿数: 5
投稿日時: 2005-01-12 16:23
VB.netで DataGridを使ったWindowsアプリケーションを開発しています。
DataGridに作ったTablestyles.GridColumnStylesのFormatプロパティに
"c"を設定し、データソースとなっているデータテーブルのカラムには
「12345」を設定しているのですが、どうしても「\12,345」の状態で表示されません。
DOBON.NETさんの情報も試してみたのですが「12345」で表示されてしまいます。

Format = "c" の文字が悪いのでしょうか・・・?
どなたか方法をご存知の方、ご教授お願いします。

以下が作成したソースです。
(この方法だと、そのまま「12345」と表示されてしまいます。)

Private Sub DataGrid_Set()
'テーブルスタイル作成
Dim objTs As New DataGridTableStyle()
Dim objCol1 As New DataGridTextBoxColumn()
objCol1.Format = "c"
objTs.GridColumnStyles.Add(objCol1)

'データグリッドにテーブルスタイル作成
DataGrid1.TableStyles.Add(objTs)

'データセットにデータテーブル作成
Dim objDs As New DataSet()
Dim objTb As New DataTable()
objTb.Columns.Add(New DataColumn())
objDs.Tables.Add(objTb)

'データグリッドとデータテーブル連結
DataGrid1.SetDataBinding(objDs.Tables(0), "")
With DataGrid1.TableStyles(0)
.MappingName = objDs.Tables(0).TableName
.GridColumnStyles(0).MappingName = _
objDs.Tables(0).Columns(0).ColumnName
End With

With objDs.Tables(0)
.Clear()
.Rows.Add(.NewRow())
.Rows(0)(0) = 123456
End With
End Sub

[ メッセージ編集済み 編集者: diver 編集日時 2005-01-12 16:42 ]
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-01-12 17:00
DataColumn.DataTypeはデフォルトではSystem.Stringで、
この場合当然文字列なので通貨形式の書式は無効になります。

DataColumnをDataTableに追加する際、
追加するDataColumnのDataTypeプロパティに任意の数値型を設定してやれば大丈夫だと思います。
diver
会議室デビュー日: 2004/09/01
投稿数: 5
投稿日時: 2005-01-12 17:24
Hongliangさん、早速のレスありがとうございます。
ご指摘のとおり、
objTb.Columns.Add(New DataColumn()) の部分を
objTb.Columns.Add(New DataColumn("", GetType(Long)))
として実行したら、きれいに \12,345で表示されました。
ありがとうございました。

[ メッセージ編集済み 編集者: diver 編集日時 2005-01-12 17:25 ]
1

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