c# winform datagridview内容在不同窗体间传输的问题

窗体1 Form_score,是一个弹出窗体,其中有一datagridview1,如下图:

窗体2 show_form,是一个用于显示的窗体,其中有一datagridview2。
可否将窗体1中的datagridview作为一个参数,
通过窗体1中的“预览”按键,整体传输到窗体2的datagridviw中?

必须通过窗体1中的按键来控制传输。

新手菜鸟一枚 从未完整系统学习c# 零零碎碎学习中 求各位大神指点!

在Form1里定义一个函数,该函数返回一个DataTable对象或一个DataSet对象。

Form2:
    public  DataTable dt = new DataTable();
    public Form2()
    {
       InitializeComponent();
       this.dataGridView1.DataSource = dt;
    }
    
Form1:
        public DataTable Getdata()
        {
            DataTable dt=new DataTable ();
          ....//这里你自己给dt填充数据,可从数据源获取,也可从datagridview上获取.因为平时是通过DataTable或DataSet给datagridview绑定数据源。
            return dt;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();
            Form1 f1 = new Form1();
            f2.dt = f1.Getdata();
        }

追问

给dt填充数据,从form1的datagridview上获取
我写的是:
DataTable dt = form1.DataSource as DataTable;

这样写不对么?

追答

可以的吧。不过你原先datagridview绑定的数据源就必须是一个DataTable,不然报错的。

但既然原先绑定的是DataTable,那你直接用这个DataTable就可以了。
dataGridView.DataSource = dt;
DataTable dt2 = dt;//这样不就可以了吗

温馨提示:内容为网友见解,仅供参考
无其他回答

c# winform datagridview内容在不同窗体间传输的问题
可从数据源获取,也可从datagridview上获取.因为平时是通过DataTable或DataSet给datagridview绑定数据源。 return dt; } private void button1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); Form1 f1 = new Form1(); f2.dt = f1.Getdata(); } ...

C# winform 中A窗口中有个datagridview,怎样在B窗口中刷新A窗口中的gi...
1、在A窗口中定一个公共的操作函数来操作自己的girdview。B窗口中就可以调用A窗口的这个函数。2、直接吧girdview定义为公共控件。这样B窗口就可以直接操作girdview

C#,form1中的dataGridView1的表内容,怎么样传到form2dataGridView1的表...
从Form1传递到Form2: 2个窗体即两个类,两个窗体间的数据传送,可以采用构造函数来实现。从Form2返回到Form1,并传递数据:实例化Form2后,打f2用ShowDialog()方法,然后等待f2关闭时再回传数据到Form1。实现步骤及代码:1:新建两个窗口: Form1,Form2;2:打开Form2,添加一个textBox:textBox1...

C#winform在一个窗体查询到的数据绑定到另一个窗体的datagridview...
因为你绑定的是新实例化的一个f2,而不是你之前已经有的Form2,你可以用f2.show()看看,f2里的datagridview里肯定是显示的。如果你想让你的Form2显示,可以将bs传过去,在Form2的load里绑定。

C# WinForm DataGridView显示SQL数据库的不同数据表时出现切换的...
DS.Clear(); 为啥要把dataset清了?dataset里面可以存多张表的,不需要清,根据表名或索引找就可以了。另外,你datagridview要设成自动生成列,在绑定数据之前需要清里一下之前绑的数据。

C# 语言单击DataGridView的行参数传递到另一个窗体
窗体加载的时候加上 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 选中的时候选中一行 不加的话默认就只能选中一个单元格 那么你想取第二个单元格的话 就越界了 希望采纳

(C#)怎样在一个窗口中调用另一个窗口中的dataGridView
VS帮你自动生成的构造函数,是没有参数的。你只需要在其中添加一个DataGridView参数。(这个你写在,调用窗口的构造函数中)记得在有DataGridView的窗口中实例化一下调用DataGridView的窗体,把DataGridView传递给将 调用它的窗体。这样就可以调用DataGridView了。以上的回答,是针对WinForm程序 ...

(C#)怎样在一个窗口中调用另一个窗口中的dataGridView ?
窗体A有个DataGridView,窗体B调用A,那么:把窗体A的DataGridView设置为public的 把窗体B的构造写为 public B(A a){ ...} 在A中newB的时候写new B(this).Show();这时 B中的a就可以访问到DataGridView了

c# winform A窗口的datagridview中click事件,如何把这行数据传到B窗口...
这样吧,兄弟,你不是可以在本页面得到值吗?TextBox.Text=dataset.tables[0].rows[0].Tostring+...你可以新建一个帮助类,里面把这些要获取的字段定义成公共静态变量。然后你就可以把值传给这个载体类 如:Class1.字段1=dataset.tables[0].rows[0].Tostring();...你试试,希望能够帮助你 ...

C# winform datagridview如何将选定行的值(一行或多行)赋值给另一窗体...
在你弹出的窗口中的选中事件中触发 子窗口:public delegate void InsertString(这里可以加参数变量);public event InsertString Insert;子窗口的datagridview中的选中事件或者任何你想触发的事件中 this.Insert(这里可以加参数变量);主窗口:子窗口.Insert += new 子窗口. InsertString(主窗口datagridview...

相似回答