0

我正在使用 WPF 数据绑定到数据集来显示表的内容。
SELECT 语句不能返回任何记录,并且数据表不会从中获取任何元数据。然后 WPFDataGrid被最小化,没有列。
我知道可以专门查询表的元数据,但我正在检查是否有速记方法。

如果查询为空,我如何仍然获取列信息?

人们喜欢看代码所以这里是
目前我有:

<DataGrid AutoGenerateColumns="True" EnableRowVirtualization="True" 
    ItemsSource="{Binding Path=SelectedUserTable, Mode=TwoWay}"  Name="userTablesContentGrid"
    RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Stretch">            
</DataGrid>

在我的视图模型中。调用 DisplayUserTable 加载SelectedUserTable属性

public void DisplayUserTable(string tableName)
{
    if (!UserTablesDataSet.Tables.Contains(tableName))
    {
        FillTable(tableName);
    }
    SelectedUserTable = UserTablesDataSet.Tables[tableName];
    InvokePropertyChanged("SelectedUserTable");
}

private void FillTable(string tableName)
{
    UserTablesDataAdapter.SelectCommand = new SqlCommand(string.Format("SELECT * FROM [{0}]", tableName), _conn);
    UserTablesDataAdapter.Fill(UserTablesDataSet, tableName);
}
4

1 回答 1

1

发出 DataAdapter.FillSchema 命令。

UserTablesDataAdapter.FillSchema(UserTablesDataSet, SchemaType.Mapped);
于 2012-07-26T11:14:57.303 回答