■ VisualBasic+WPF+YAML #4:DataGridへの表示

VBからYMALファイルを読み込みたい。
前回記事:VisualBasic+WPF+YAML #3:DataGridへの表示 1



列ヘッダ・表示項目の設定

前回、データオブジェクトの内容がDataGridに表示できた。

列ヘッダであるが、"id"と"name"を "ID"、"名前" の列名で表示させたい。
また、subitems列は不要なので表示させたくない。

この場合、MainWindow.xamlのDataGridに DataGrid.Columns要素 を追加し、その中に DataGridTextColumn要素を追加する。
DataGridTextColumn要素が1項目(1列)に相当。
さらに、DataGridTextColumn要素に Header属性を追加し表示する列名を設定、また Binding属性に 表示する項目を指定する。
ここで指定する項目は DataGrid の ItemsSource で指定したデータオブジェクトが基準となる。

また、自動的に列生成しないように DataGrid要素に AutoGenerateColumns要素を追加しFalseを指定する。
MainWindow.xaml:
    <DataGrid ItemsSource="{Binding items}" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn Header="ID" Binding="{Binding id}" />
            <DataGridTextColumn Header="名前" Binding="{Binding name}" />
        </DataGrid.Columns>
    </DataGrid>
実行結果:


2データしか存在しないが、3行目に空白行が表示されている。
これを消すには DataGridに CanUserAddRows属性を追加しFalseを指定する。
また、よく見ると最左列に小さい余白が出来ている。
これは行ヘッダと思われ、これを消すには DataGridに HeadersVisibility属性を追加しColumn (列ヘッダのみ表示) を指定する。
    <DataGrid ItemsSource="{Binding items}" AutoGenerateColumns="False" CanUserAddRows="False" HeadersVisibility="Column">
実行結果:




次回記事:VisualBasic+WPF+YAML #5:DataGridへの表示 3

-- 以上 --


VisualBasic, WPF, YAML

0 件のコメント:

その他の記事