踏上.NET的路程,菜鸟碰到的第一个问题,mark一下函数
问题:不一样窗体dataGridView之间的数据传递,经过数据绑定实现(假设Form2中的数据要传递到Form1中):this
1. 定义一个类,存放dataGridView的数据;spa
2. 在Form2中定义dataGridView数据列表,并将数据存放进去;code
3.From2中定义返回绑定数据的函数,返回绑定数据;orm
4. Form1中初始化Column;blog
5. 在Form1中出发Form2,在结束后将From2返回的绑定数据传到Form1中的dataGridView中,完成数据传递。get
From1代码:string
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication11 { public partial class Form1 : Form { BindingSource source = new BindingSource(); public Form1() { InitializeComponent(); Column1.DataPropertyName = "_ID"; Column2.DataPropertyName = "_Name"; Column3.DataPropertyName = "_Value"; } private void button1_Click(object sender, EventArgs e) { Form2 dd = new Form2(); if (dd.ShowDialog() == DialogResult.OK) { source.Clear(); source = dd.returnValue(); dataGridView1.DataSource = source; } } } }
Form2代码:it
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication11 { public partial class Form2 : Form { List<DataGrid> dd = new List<DataGrid>(); public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { dd.Clear(); for (int i = 0; i < dataGridView1.Rows.Count-1; i++) { DataGrid aa = new DataGrid(); aa._ID = dataGridView1.Rows[i].Cells[0].Value.ToString(); aa._Name = dataGridView1.Rows[i].Cells[1].Value.ToString(); aa._Value = dataGridView1.Rows[i].Cells[2].Value.ToString(); dd.Add(aa); } this.DialogResult = DialogResult.OK; this.Close(); } public BindingSource returnValue() { BindingSource source = new BindingSource(); source.Clear(); foreach (DataGrid data in dd) { source.Add(data); } return source; } } }
定义类代码:io
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace WindowsFormsApplication11 { class DataGrid { public string _ID { get; set; } public string _Name { get; set; } public string _Value { get; set; } } }