2013-11-24 87 views
0

我在我的用户控件中有一个datagrid,我用后面的代码绑定了一个数据表。使用此代码:将数据网格绑定到数据表动态

conn.Open() 
    cmd = New OdbcCommand("select dum,I_name from tbl_items where H=1", conn) 
    Dim da As New OdbcDataAdapter(cmd) 
    Dim dt As New DataTable("head") 
    da.Fill(dt) 
    dgv_itemHead.ItemsSource = New DataView(dt) 
    conn.Close() 

和XAML是这样的:

<DataGrid AutoGenerateColumns="True" Height="154" HorizontalAlignment="Left" Margin="30,55,0,0" 
       Name="dgv_itemHead" VerticalAlignment="Top" Width="242" > 

    </DataGrid> 

我想在XAML来定义列和从代码中设置它们的数据后面。 我该怎么做?

回答

0

所有你需要设置您的数据网格AutoGenerateColumns="False",并可以设置列这样的第一 -

<DataGrid AutoGenerateColumns="False"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Binding="{Binding ColumnName1}"/> 
     <DataGridTextColumn Binding="{Binding ColumnName2}"/> 
     .... 
     <DataGridTextColumn Binding="{Binding ColumnName7}"/> 
    </DataGrid.Columns> 
</DataGrid> 

在绑定,您可以提供您想要DataGrid中从dataTable中显示column names