これで、選択したグリッドビューのデータをテキストボックスに読み込む方法はわかりましたが、どのようにして選択した場所情報を更新し、ファイル内に配置し、選択した場所をファイルから削除することもできます。xmlファイルの情報を選択して更新するには
これは私が現在、データグリッド
ds.ReadXml("Database.xml");
string filter = "";
filter = "userdata" + " LIKE '*" + "u" + "*'";
DataView dv = new DataView(ds.Tables[0]);
dv.RowFilter = filter;
dataGridView1.DataSource = dv;
dataGridView1.Columns[4].Visible = false;
にロードする方法と、私はこれが私のxmlです
if (e.RowIndex >= 0)
{
DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
Nametb.Text = row.Cells["name"].Value.ToString();
Locationtb.Text = row.Cells["Location"].Value.ToString();
Infotb.Text = row.Cells["Info"].Value.ToString();
dayvisitcb.Text = row.Cells["Dayvisited"].Value.ToString();
}
クリックさによってはその上のテキストボックスに読み込む方法です
<root>
<place>
<Name>home</Name>
<Location>x-292 z 277</Location>
<Info>home</Info>
<Dayvisited>10</Dayvisited>
</place>
<place>
<Name>town</Name>
<Location>x 990 z-2485</Location>
<Info>gas station</Info>
<Dayvisited>12</Dayvisited>
</place>
<place>
<Name>crossing</Name>
<Location>x 90 z-2998</Location>
<Info>working stiff</Info>
<Dayvisited>11</Dayvisited>
</place>
</root>
このファイルにはランダムな名前が含まれ、数百の場所が含まれます。しかし、私はグリッドに場所をロードし、場所を選択して詳細をテキストボックスに入力して編集しますが、リストに追加するだけで、選択した場所を更新したり削除したりすることはできません。
私は使いたい方法です。それを作る方法があるので、私はbindingnavigator +が単にbindingSource1.AddNew()であるので、ボタンの更新を行うことができます。私はそれをテキストボックスの代わりに文字列にバインドさせることができますか?より柔軟性があります。だから私はaddnewそれは私が価値を与えた文字列から更新します。これが意味を持つならば。 –
バインディングナビゲータを非表示にして、テキストボックスでbindingSource1.AddNew()を呼び出す独自のボタンを作成し、TextBox.Textにあなたが気にしていた文字列を入力することができます。文字列は不変であるため、文字列値に直接バインドすることはできません。クラスのインスタンスのプロパティにバインドします。私の例では、それはデータグリッドとテキストボックスです。それを超えて、あなたは自分自身である。 – rene