【问题标题】:Updating the gridview in one form以一种形式更新网格视图
【发布时间】:2011-08-20 08:17:42
【问题描述】:

我对@9​​87654321@ 有一个小问题。

我有两种形式,一种形式的数据将由 DataGridView 填充。

当我们单击 gridview 的列标题时,另一个表单将打开并显示相应的列值。

我已经对 form2 中的数据进行了一些操作,所以在关闭 form2 之前,我想用这些详细信息更新 form1 的 gridview...

我在form1中看到了一些细节,例如事件处理程序附件,但我没有找到确切的答案。

【问题讨论】:

  • 非常感谢您的支持......

标签: c# .net data-binding datagridview


【解决方案1】:

Form 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); 
        }

    }

【讨论】:

  • 在form1中我需要添加任何东西..因为你在form2中提到了这两个......
【解决方案2】:

通过使用 DataGrid,您很可能像使用模型一样使用 DataTable。我会说将 DataTable 的参数传递给 form2 并在 form2 中操作相同的 DataTable 对象,因此对其行所做的更改并提交将自动反映在 form1 上。

【讨论】:

猜你喜欢
  • 2018-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
  • 2021-07-13
  • 2012-06-16
  • 1970-01-01
相关资源
最近更新 更多