将多个数据表(不同的结构)添加到Gridview中

时间:2017-04-29 07:54:09

标签: c# winforms gridview datatable

在我的程序中,我需要合并(复制或任何可行的工作)两个具有不同结构的数据表合为一体,并将其作为GridView的数据源。 第一个DataTable将总是有一行被添加,但第二个DataTable将有多行。 问题是:当第一个DataTable的行添加时,它将是GridViews数据源(向用户显示一切都很好)并且用户开始逐个插入第二个数据行,每次添加到第二个数据表,Gridview必须刷新和显示新行(全部合并在一起) 我已经尝试了很多方法,但他们都有一些问题! 我试过的最后一个代码就是这个:

public partial class Main : Form1
{
    DataTable DT1 = new DataTable();
    DataTable DT2 = new DataTable();

private void Form1_Load(object sender, EventArgs e)
    {
        DT1.Columns.Add("@number", typeof(int));
        DT1.Columns.Add("@name", typeof(string));
        DT1.Columns.Add("@date", typeof(string));
        DT1.Columns.Add("@tel", typeof(string));

        DT2.Columns.Add("@piece", typeof(string));
        DT2.Columns.Add("@descrip", typeof(string));
        DT2.Columns.Add("@accessories", typeof(string));
        DT2.Columns.Add("@damage", typeof(string));
    }

private void button1_Click(object sender, EventArgs e)
    {
        DT1.Rows.Add(T1.Text, T2.Text, T3.Text, T4.Text);
        DT2.Rows.Add(T5.Text, T6.Text, T7.Text, T8.Text);
        DT1.AcceptChanges();
        DT1.Merge(DT2);
        Gridview1.DataSource = DT1;
    }

private void button2_Click(object sender, EventArgs e)
    {
        DT2.Rows.Add(T5.Text, T6.Text, T7.Text, T8.Text);
        DT1.Merge(DT2);
        Gridview1.DataSource = DT1;
    }

当用户填写文本时,Button1将触发 每次用户在文本中插入新数据,Button2将Trriger 任何建议都欢迎

0 个答案:

没有答案