2

私は .NET と C# の初心者なので、簡単に解決できる問題 (?) に行き詰まっています。

Xml-File を DataSource として使用しています。そのデータを DataGridView に表示することができました。ダブルクリックすると、編集マスクとして機能する新しいフォームが開きます。しかし、編集フォームで [OK] ボタンを押したときに、DataSet エントリを編集フォームに渡し、それを DataGridViews の基になる DataSource に同期させるにはどうすればよいでしょうか。

これは私がこれまでに持っているものです:

メインフォーム:

public partial class Main : Form
{
    private DataSet dataSet;
    private EditForm editForm;

    public Main()
    {
        InitializeComponent();
    }

    private void readXmlFile(object sender, EventArgs e)
    {
        // bind DataGridView to Xml file data
        this.dataSet = new DataSet();
        this.dataSet.ReadXml("data.xml");

        DataTableCollection tables = this.dataSet.Tables;
        DataView view1 = new DataView(tables[0]);

        BindingSource source1 = new BindingSource();
        source1.DataSource = view1;
            source1.Filter = "type = 'editable'";
        gridView.DataSource = source1;
    }

    private void gridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {
        DataGridView grid = (DataGridView)sender;
        DataRow row = ((DataRowView)grid.Rows[e.RowIndex].DataBoundItem).Row;

        this.editForm = new EditForm(row);
        editForm.ShowDialog();
    }
}

これは私の編集フォームです:

public partial class EditForm : Form
{
    DataRow dataRow;

    public EditForm(DataRow dataRow)
    {
        InitializeComponent();

        this.dataRow = dataRow;
            textBoxHeadline.DataBindings.Add("Text", this.dataRow, "headline");
    }

    private void buttonOk_Click(object sender, EventArgs e)
    {
        // update DataGridView and DataSet?
    }
}
4

0 に答える 0