データセットへの 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);
}