0

私は 2 つの DataGridView を持っています。私の考えは、データを XML に保存し、再起動時にファイルからロードすることでした。単純な場合は問題ありません (dgvAccounts は DataGridView です)。

   DataTable dtusers = new DataTable("Users");
   DataColumn col1 = new DataColumn("ID");
   DataColumn col2 = new DataColumn("Key");
   dtUsers.Columns.Add(col1);
   dtUsers.Columns.Add(col2);
   if (File.Exists("user.xml"))
         dtUsers.ReadXml("user.xml");
   dgvAccounts.DataSource = dtUsers;     
   ....
   dtUsers.WriteXml("user.xml");  

しかし、他の DataGridView では、DataSource から取得したい DataTable は常に null です (dgvActions は DataGridView です)。

   DataGridViewTextBoxColumn dgvcolA5 = new DataGridViewTextBoxColumn();
   DataGridViewComboBoxColumn dgvcolA6 = new DataGridViewComboBoxColumn();
   dgvActions.Columns.Add(dgvcolA5);
   dgvActions.Columns.Add(dgvcolA6);
   DataTable dtActions = (DataTable)dgvActions.DataSource;
   dtActions.WriteXML("actions.xml");

また、事前に DataTable を作成して dgvActions.DataSource として追加しようとしましたが、結果は同じです。

誰かが DataGridView の DataTable を作成するのを手伝ったり、データを保存してロードする他の方法を提案したりできますか?

ありがとう

アンドレ

4

1 に答える 1

0

最初にデータテーブルを設定してから、最初の例のようにデータソースとして設定するとどうなりますか (その後、データソースから null データテーブルを取得しません)。

   DataTable dtActions = new DataTable();
   //Set DataTable columns here
   dtActions.WriteXML("actions.xml");
   dgvActions.DataSource = dtActions;
于 2013-03-25T13:25:49.030 に答える