tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDataGridの表示形式のやり方
記事No973
投稿日: 2004/07/12(Mon) 16:46
投稿者kiki
[OSのVer]:Windows XP   [VBのVer]:VB.NET 2003 

DataGridで表示されている形式を変更するには

'DataGridTableStyleの取得
Dim ts As DataGridTableStyle
ts = DataGrid1.TableStyles("DataTable1")

'"Column1"のDataGridTextBoxColumnを取得
'"Column1"は数値データ
Dim cs1 As DataGridTextBoxColumn
cs1 = CType(ts.GridColumnStyles("Column1"), DataGridTextBoxColumn)
'値の書式を地域通貨として指定する
cs1.Format = "c"

サンプルなんですけど、これでカンマ区切りに変更してくれるのでしょうか?

それともう一つお聞きしたいことがあります。
ts = DataGrid1.TableStyles("DataTable1")の()の中は何を指定してあげればよいのでし
ょう・・・
DataTableを指定すればよいと書かれていますが、DataTableの意味がわかりません(汗)
これは、DataGridのDataMemberと同じことなのでしょうか?
Selectクエリを実行し、結果を格納する場所のことですよね?
格納する場所というのは、DataSetのことなのでしょうか?
さっぱりわかりません。。。Data…って付く言葉多すぎる(激汗)

DataGrid1.TableStylesの所でコンパイルエラーになってしまい困っています。

どうすればよいのでしょうか。教えてください

[ツリー表示へ]
タイトルRe: DataGridの表示形式のやり方
記事No979
投稿日: 2004/07/14(Wed) 10:08
投稿者るしぇ
>DataTableを指定すればよいと書かれていますが、DataTableの意味がわかりません(汗)
分からないならヘルプ(MSDN)を『DataTable』でキーワード検索すればいいだけじゃ
ないですか?ちなみにオンラインヘルプでは↓
hhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemDataDataTableClassTopic.asp

DataSet は複数の DataTable を格納できます。図示するなら↓
hhttp://www.atmarkit.co.jp/fdotnet/basics/adonet04/adonet04_01.html

DataGrid には DataSet でも DataTable でも(DataView でも)表示できますので
どのようなデータをセットしているかで設定も変わってきます。複数のテーブルを
表示する必要が無いのであれば、(特に初心者なら) DataSet から、表示したい
DataTable を1つ取り出してから DataGrid に表示するのが良いでしょう。

DataGrid には複数のテーブルを表示できますので当然、TableStyles も複数
設定することができます。ですから、
>ts = DataGrid1.TableStyles("DataTable1")の()の中は何を指定してあげればよいのでしょう・・・
TableStyles を特定できるインデックスか、作成した TableStyles の名前
(自由に指定もできる)を指定します。
hhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformsgridtablestylescollectionclassitemtopic.asp

設定の仕方は色々ありますけど、とりあえずこんな感じで。
    Private Sub Test()
        Dim wDataSet As New System.Data.DataSet()
        Dim wDataTable As New System.Data.DataTable()
        Dim ts As New System.Windows.Forms.DataGridTableStyle()
        Dim wColumnName As String

        'ここで wDataTable に表示させたい DataTable を指定して下さい。
        'wDataTable = wDataSet.Tables(?)
        'ここで書式変更したいフィールドの名称を指定して下さい
        'wColumnName = wDataTable.Columns(?).ColumnName

        With Me.DataGrid1
            .DataSource = wDataTable
            ts = .TableStyles(wDataTable.TableName)
        End With

        '"Column1"のDataGridTextBoxColumnを取得
        '"Column1"は数値データ
        Dim cs1 As System.Windows.Forms.DataGridTextBoxColumn
        cs1 = CType(ts.GridColumnStyles(wColumnName), DataGridTextBoxColumn)
        '値の書式を地域通貨として指定する
        cs1.Format = "c"
    End Sub

[ツリー表示へ]