列に句読点がある場合、データの表示を拒否する DataGrid があります。結果のデータを DataTable に配置する次の SQL ステートメントがあります。
string statement = "SELECT TOP 200 [Test] AS [Primary key for Department records.] FROM [dbo].[Children]";
using (SqlDataAdapter adapter = new SqlDataAdapter(statement, connection))
{
adapter.Fill(dtResults);
}
エイリアスの.
文字が原因で、DataGrid は DataTable に含まれる情報を表示しません。私は試行錯誤を通じてこれを発見しました。そのような列でデータを表示するようにデータグリッドを取得するにはどうすればよいですか?
これはバインディング コードです。
dgResults.DataContext = myDataTable.AsDataView();
dgResults.AutoGeneratingColumn += new EventHandler<DataGridAutoGeneratingColumnEventArgs>(dataGrid_AutoGeneratingColumn);
dgResults.Visibility = Visibility.Visible;
private void dataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
//Sets the DataGrid's headers to be TextBlocks, which solves a problem whereby underscore characters in the header are ignored.
TextBlock block = new TextBlock();
block.Text = e.Column.Header.ToString();
e.Column.Header = block;
}