两个winform之间传数据方法,将datagridview数据传到另一个winform界面去,取出datagridview中选定的某行某列

本文介绍如何在两个Windows窗体(WinForm)应用之间传递数据,特别是从一个WinForm的DataGridView选择的数据到另一个WinForm的界面显示。主要方法是通过静态方法实现数据的跨窗口传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,方法一:在有数据的那个form上的定义

public static string str="";

然后再

            if (uccDataGrid1.SelectedRows.Count > 0)
            {
                str = uccDataGrid1.CurrentRow.Cells["列名"].Value.ToString();


再在接收数据的form里显示数据:

MessageBox.Show(FormCdxx.str);

之所以要定义成static 的原因是:如果为:

public string str = "";
可能会出现问题,非静态变量只能实例化对象后,才可以访问,如果该值为动态赋值的话,当别的窗口调用的时候,该值 str,一直是为"";所以说最好能设置为静态成员变量,用类来访问它。
 
方法二:
在有数据的那个form上做如下处理:
            if (uccDataGrid1.SelectedRows.Count > 0)
            {
                DataRow row = (this.uccDataGrid1.CurrentRow.DataBoundItem as DataRowView).Row;
                FormAddCdxx formaddcdxx = new FormAddCdxx(row);

然后在接收数据的form里做如下定义:
        DataRow datarow;

再定义构造函数:
        public FormAddCdxx(DataRow row)
        {
            InitializeComponent();
            datarow = row;
        }

好了,接下来就可以调用,可以将datagridview中选定的某行某列的值取出来。如下例子:
                txtId.Text = datarow["id"].ToString();
                txtCdmc.Text = datarow["cdmc"].ToString();
                txtCdcc.Text = datarow["cdcc"].ToString();
                txtCkmc.Text = datarow["ckmc"].ToString();
                txtTpmc.Text = datarow["tpxx"].ToString();
                cmbSjcd.Text = datarow["sjcd"].ToString();

 

参考文章:(其实就看了方法一,给自己的方法加另一个static而已,嘿嘿)

继续点我!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值