通过委托实现--主窗体DataGridView上选中数据,刷新子窗体上对应的各值

这篇博客介绍了如何通过委托来实现在主窗体的DataGridView选择数据后,动态更新子窗体上的对应值。在子窗体中定义了设置界面值的方法,主窗体定义了一个无返回值的委托,并在显示子窗体时将子窗体的设置方法传入委托中。当DataGridView的行获得焦点时,调用委托并传入选中行对应的PhoneNum对象,从而实现数据的刷新。这是一个关于窗体传值和委托应用的实例。
摘要由CSDN通过智能技术生成

 //子窗体中设置界面值的方法 ,传入的PhoneNum为 包含各值的对象

public void SetForm(PhoneNum pn)

        {
            cbbType.SelectedValue = pn.PTypeId;
            txtName.Text = pn.PName;
            txtNum.Text = pn.PNum;
            txtHomeNum.Text = pn.PHomeNum;

        }


//主窗体中定义委托,无返回值,传入PhoneNum对象

delegate void ShowFormNum(PhoneNum pn);

//定义私有成员为 该委托类型
        private ShowFormNum sfn;



//当主窗体中显示子窗体时,将子窗体方法传入 委托对象中

FormAddUpdate fau = new FormAddUpdate();
            sfn = fau.SetForm; //将FormAddUpdate 窗体中控件赋值的方法SetForm传入委托中
            fau.Show();

//这是DataGridView的行获得焦点事件,调用委托,传入该行对应的PhoneNum对象

if (dgvNum.SelectedRows.Count > 0)
                {
                    PhoneNumBLL bll = new PhoneNumBLL();
                    int pid = Convert.ToInt32(dgvNum.SelectedRows[0].Cells[0].Value);
                    sfn(bll.GetPhonNumById(pid));   // GetPhonNumById为业务逻辑层中通过ID获得PhoneNum对象的方法
                }


到此,功能实现完毕!  

个人学习记录用!~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值