DataGrid と DataTable (カラムをXAMLで作成する版) [- DataGrid と DataTable]
DataGridと、DataTableを使ってデータを表示する。
※ カラムをXAMLで作成する版
■XAML
<DataGrid x:Name="dgridList" CanUserAddRows="False" AutoGenerateColumns="False" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="205" Margin="16,192,0,0" VerticalAlignment="Top" Width="863">
<DataGrid.Columns>
<DataGridTextColumn Header="IP Address" Width="90" Binding="{Binding Date}" IsReadOnly = "true"/>
<DataGridTextColumn Header="PortNo" Width="90" Binding="{Binding Time}" IsReadOnly = "true"/>
</DataGrid.Columns>
</DataGrid>
☆「AutoGenerateColumns="False" ItemsSource="{Binding}"」が重要
■CS
メンバ
// DataTable宣言
private DataTable m_dtableList;
// DataTableにカラム追加
m_dtableList = new DataTable("DataGridTest");
m_dtableList.Columns.Add(new DataColumn("IPAddress", typeof(string)));// 文字列
m_dtableList.Columns.Add(new DataColumn("Port", typeof(int)));// 数値
// データ追加
DataRow newRowItem;
for (int i = 0; i < 10; i++)
{
newRowItem = m_dtableList.NewRow();
newRowItem["IPAddress"] = "IP=" + i.ToString();
newRowItem["Port"] = i.ToString();
m_dtableList.Rows.Add(newRowItem);
}
// データグリッドに、データテーブルをバインド
dgridList.DataContext = m_dtableList;
dgridList.Items.Refresh();