別のクラスから行を追加/削除/編集するためにDataSetアクセスする方法TablesData
私は持っていてWinForm、私は追加しました
DataGridViewdataGridView1DataSetdataSet1- それらをバインドします
BindingSource
すべてのデータは XML に保存されます
すべて正常に動作します。いくつかのテスト プロジェクトを作成しましたが、すべて正常に動作します
DataGridViewしかし、別のクラスからデータ行を追加する可能性をテストしようとすると、 !!!!に変更が表示されません
だから私は持っていForm1てdataGridView1、dataSet1両方ともpublic
私が行った他のクラス内で
var esf = new Form1();
DataRow pl = esf.dataSet1.Tables["MyItems"].NewRow();
pl["Type"] = type;
pl["Name"] = true;
esf.dataSet1.Tables["MyItems"].Rows.Add(pl);
そして、私が追加すると
esf.dataSet1.WriteXml(esf.XmlSettingsFile);
ファイルが正しく保存されます。
しかし、それは他のデータを上書きします
フォーム内の元のデータと同じものを使用しているように感じますが、メイン フォームDataSet内の元のデータにアクセスする必要がありますDataSet
dataSet1aspublic staticにアクセスして編集データを追加できるようにする必要がありますが、そうすると Visual Studio でエラーが発生します。フォームのビジュアル ビューで!?!
助言がありますか