简体   繁体   中英

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?

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>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM