tianxiazone 发表于 2022-11-23 16:41:07

在两个不同的Form窗体中的DataGridView数据“传递”数据,高手


我想做一个选型软件,软件主体是这样,首先加载主页,同时再加载页面4 ,页面为datagridview控件空表格,然后在有选择的选页面1,页面2,页面3等,在页面1里,有加载的是excel表格到datagridview中,同时我把需要的数据添加到,页面4的datagridview空表格中,如果都加载好了,我在生成所需的Excel表格。

现在的问题是这样,我先在主页中加载了页面4

主页
public Home()
      {
            InitializeComponent();
      }
      public void ExcelAdd()
      {
            ExcelAdd page4 = new ExcelAdd();//实现页面跳转
            page4 .Show();
         
      }

然后我需要在 页面1,页面2,页面3中,把datagridview把选中的数据加载到页面4中,但是没有办法直接加载,像这样
page4.dataGridViewExcelAdd.Rows.Add(b, b, b, b, b, b, b, b, b);
如果是在一个方法l里是可以这样用的,
public void buttonAdd(object sender, EventArgs e)
      {
            ExcelAdd page4 = new ExcelAdd();//实现页面跳转

            ds.Show();
            string[] str = new string;

            for (int i = 0; i < dgvData.Rows.Count; i++)
            {
                string[] b = new string;
                if ((bool)dgvData.Rows.Cells.EditedFormattedValue == true)
                //这里判断复选框是否选中
                {
                  b = dgvData.Rows.Cells.Value.ToString();
                  b = dgvData.Rows.Cells.Value.ToString();
                  b = dgvData.Rows.Cells.Value.ToString();
                  b = dgvData.Rows.Cells.Value.ToString();
                  b = dgvData.Rows.Cells.Value.ToString();
                  b = dgvData.Rows.Cells.Value.ToString();
                  b = dgvData.Rows.Cells.Value.ToString();
                  b = dgvData.Rows.Cells.Value.ToString();
                  b = dgvData.Rows.Cells.Value.ToString();

                  
                  page4.dataGridViewExcelAdd.Rows.Add(b, b, b, b, b, b, b, b, b);
                  
                }
            }
      }

我现在没有啥思路,求教论坛的有没有大神,帮忙给解决一下,也可以付一些费用帮助解决。

ibcadmin 发表于 2022-11-24 18:12:19

把窗体当成变量传递
页: [1]
查看完整版本: 在两个不同的Form窗体中的DataGridView数据“传递”数据,高手