Обновление gridview в одной форме - PullRequest
1 голос
/ 20 августа 2011

У меня небольшая проблема с DataGridView .

У меня есть две формы, в одной форме данные будут заполнены DataGridView.

Когда мы нажмем на заголовок столбца вида сетки, откроется другая форма с соответствующими значениями столбца.,

Я провел некоторые манипуляции с данными в форме2, поэтому перед закрытием формы2 я хочу обновить сетку вида form1 этими деталями ...

Я видел некоторые детали, такие как прикрепление обработчика событий в форме1,но я не нашел точного ответа.

Ответы [ 2 ]

1 голос
/ 20 августа 2011

Код формы 2

    public event EventHandler<UpdatedEventArgs> updateEvent;

    public class UpdatedEventArgs : EventArgs
    {
        public string SomeVal { get; set; } // create custom event arg for your need
    }

    protected virtual void OnFirstUpdateEvent(UpdatedEventArgs e)
    {
        if (updateEvent != null)
            updateEvent(this, e);
    }


    private void button1_Click(object sender, EventArgs e)
    {
        UpdatedEventArgs eventData = new UpdatedEventArgs(); 
        eventData.SomeVal = "test"; // set update event arguments, according to your need

        OnFirstUpdateEvent(eventData);
    }

    public Form2()
    {
        InitializeComponent();
    }

Код формы 1

    public Form1()
    {
        InitializeComponent();

        Form2 form2 = new Form2();
        form2.updateEvent += new EventHandler<Form2.UpdatedEventArgs>(form2_updateEvent); // create event handler to update form 1 from form 2
        form2.Show();
    }

    void form2_updateEvent(object sender, Form2.UpdatedEventArgs e)
    {
        if (e != null && e.SomeVal != null)
        {
            // Do the update on Form 1 
            // depend on your event arguments update the grid  
            //MessageBox.Show(e.SomeVal); 
        }

    }
0 голосов
/ 20 августа 2011

Работая с DataGrid, вы, скорее всего, используете DataTable как модель.Я бы сказал, как передать параметр DataTable в form2 и манипулировать тем же объектом DataTable в form2, чтобы изменения, внесенные в его строки и зафиксированные, автоматически отражались в форме 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...