状況:
こんにちは!WPF ツールキットの DataGrid に MS Access データベースを設定しようとしています。
これが私が今持っているものです(動作します):
//Load the datagrid with the database
private void LoadDataGrid(string filename, string path)
{
string databaseConn = "Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + path + "\\" + filename,
tableName ="";
OleDbConnection conn = null;
DataTable schemaTable,
table = new DataTable();
try
{
conn = new OleDbConnection(databaseConn);
try
{
conn.Open();
schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new object[] { null, null, null, "TABLE" });
tableName = "[" + schemaTable.Rows[0].ItemArray[2].ToString() + "];";
string sqlQuery = "SELECT * FROM " + tableName;
OleDbCommand command = new OleDbCommand(sqlQuery, conn);
OleDbDataReader reader;
reader = command.ExecuteReader();
table.Load(reader);
DataGrid_.ItemsSource = table.DefaultView;
}
catch (Exception ex)
{
System.Windows.MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
}
catch (Exception ex)
{
System.Windows.MessageBox.Show(ex.Message);
}
}
上記のコード サンプルは、MS Access データベースを利用して WPF ツールキットの DataGrid を読み込みます。
私がやりたいことは、最初に DataGrid に列を挿入できるようにすることです。この列は、行番号を書き込むために使用されます。私がうまくいくと思うのは、テーブル変数 ( DataTableオブジェクト) を変更することです。
質問:
では、テーブル変数に列を挿入し、その新しい列に各行の行番号を追加し、データベースからのすべてのデータを DataGrid に含めるにはどうすればよいでしょうか?