我的usercontrol中有一个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 :(得分:0)
首先,您需要在dataGrid上设置AutoGenerateColumns="False"
,并可以设置这样的列 -
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding ColumnName1}"/>
<DataGridTextColumn Binding="{Binding ColumnName2}"/>
....
<DataGridTextColumn Binding="{Binding ColumnName7}"/>
</DataGrid.Columns>
</DataGrid>
在绑定中,您可以从dataTable提供要在dataGrid中显示的column names
。