0

データセットへの WPF データ バインディングを使用して、テーブルの内容を表示しています。
SELECT ステートメントはレコードを返すことができず、データテーブルはこれからメタデータを取得しません。次に、WPFDataGridは列なしで最小化されます。
テーブルのメタデータを具体的に照会できることはわかっていますが、省略可能な方法があるかどうかを確認しています。

クエリが空の場合、どうすれば列情報を取得できますか?

人々はコードを見るのが好きなので、ここにあります
現在私は持っています:

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

私のViewModelで。SelectedUserTableプロパティをロードするために DisplayUserTable が呼び出されます

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 に答える