动态为数据库中的每一列添加标签和文本框,并绑定到gridcontrol选定的行

时间:2019-02-11 13:12:51

标签: wpf vb.net

我有一个带有一个组合框的表单,该表单包含数据库中表的名称,方法是选择将gridcontrol itemssource设置为该表的任何表,并显示该表中的所有记录。 我需要做的是,我需要为所选表中的每一列添加一个标签和一个文本框,并将值绑定到gridcontrol中的所选行。

这段代码为我提供了有关所选表中列的正确信息:

       tabeleK3 = selectQuery("DESCRIBE " & comboBox.SelectedItem("TABLE_NAME"))
    For Each row As DataRow In tabeleK3.Rows
        Console.WriteLine(row.Item("Field") & " - " & row.Item("Type"))
    Next row

这是我的一张桌子的输出:

ip - varchar(15)
timestamp - int(11) unsigned
knt - varchar(7)
tip - int(11)
tem - int(11)

对于这5列,我需要添加文本框和标签(列的名称)。文本框应绑定到gridcontrol,这是gridcontrol代码:

      tabeleK2 = selectQuery("select * from " & comboBox.SelectedItem("TABLE_NAME"))
      gridData.ItemsSource = tabeleK2  

1 个答案:

答案 0 :(得分:0)

您可以在XAML标记的DataGrid中添加DataGridTemplateColumn

<DataGrid x:Name="gridData">
    <DataGrid.Columns>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Text="label..." />
                        <TextBox Text="{Binding YourField}" />
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>