Jalle
Jalle

Reputation: 1622

Binding a DataTable to a DataGrid

XAML:

<DataGrid x:Name="grid1" AlternatingRowBackground="AliceBlue" AlternationCount="2" AutoGenerateColumns="False" HorizontalAlignment="Left"  Margin="10,51,0,0" VerticalAlignment="Top" Width="762" Height="480"   GridLinesVisibility="None"  />

Code:

DataTable dt = new DataTable();
          dt.Columns.Add("family");
          dt.Columns.Add("fund");
          dt.Rows.Add("XXX-C", "XXX");
          dt.Rows.Add("DDD-C", "DDD"); grid1.ItemsSource = dt.DefaultView;  

After running the code I get only empty grid, no col headers no row date. But still I see 2 empty rows (that represent 2 items in a table)

What am I missing here , please?

Upvotes: 0

Views: 52

Answers (1)

Xtr
Xtr

Reputation: 373

You specified AutoGenerateColumns="False" in the DataGrid definition without specifying any DataGridColumns. Either manually specify the columns or set AutoGenerateColumns="True".

<DataGrid x:Name="grid1" 
          AlternatingRowBackground="AliceBlue" 
          AlternationCount="2" 
          AutoGenerateColumns="False" 
          HorizontalAlignment="Left"  
          Margin="10,51,0,0" 
          VerticalAlignment="Top" 
          Width="762" 
          Height="480"   
          GridLinesVisibility="None">
    <DataGrid.Columns>
      <DataGridTextColumn Header="Family"
                          Binding="{Binding family}"/>
      <DataGridTextColumn Header="Fund"
                          Binding="{Binding fund}"/>
    </DataGrid.Columns>
  </DataGrid>

Upvotes: 1

Related Questions