我把从表里查询出来的数据放到了dataset里面 然后再填充进datagridview中 
现在问题是 如果我的datagridview中本来就有几行数据的 我不想把它替换掉 
而是要把查询结果增加到这个datagridview的下面 
要怎么做?

解决方案 »

  1.   

    分别遍历dataset和datagridview 就可以了
      

  2.   

    定义一个新的dataset,然后遍历原来的两个dataset中的数据重新绑定...这是我,作为一个新手的思路...
      

  3.   

    是这样的 form1中按一个添加按钮 弹出窗口form2 然后在form2中选择了要添加的项之后 确定添加到form1中的datagridview中 
     比如说第一次添加的时候只选了一条记录  确定后发现还一条记录没选 又按添加按钮 弹出窗口form2 那么这么选择的数据 就会把原先已经添加到datagridview中的数据替换掉了
      

  4.   

    DataTable dt1 = (DataTable)dataGridView1.DataSource;DataSet dsNew = ...
    dt1.Merge(dsNew.Tables[0]);
    dataGridView1.DataSource = dt1;说明:先取得现有DataGridView的数据集。dsNew是“从表里查询出来的数据”。假设两个结果集结构一样,使用Merge就能合并两个DataTable。
      

  5.   


    .......
    自己都会往DGV里填数据里 还看不懂?
      

  6.   

    我做了一个简单的例子,在一个窗体内添加4个textbox控件,3个butten控件,3个datagridview控件,然后把下面的代码贴上,不难理解       
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            DataTable dt1 = new DataTable();
            DataTable dt2 = new DataTable();        private void Form1_Load(object sender, EventArgs e)
            {
                dt1.TableName = "student1";
                dt1.Columns.Add(new DataColumn("name"));
                dt1.Columns.Add(new DataColumn("age"));
                dt2.TableName = "student2";
                dt2.Columns.Add(new DataColumn("name"));
                dt2.Columns.Add(new DataColumn("age"));
            }
            private void button1_Click(object sender, EventArgs e)
            {
                string name = textBox1.Text.Trim();
                int age = Convert.ToInt32(textBox2.Text.Trim());
                DataRow dr = dt1.NewRow();
                dr["name"] = name;
                dr["age"] = age;
                dt1.Rows.Add(dr);//.InsertAt(dr, 0);
                dataGridView1.DataSource = dt1;
            }        private void button2_Click(object sender, EventArgs e)
            {
                string name = textBox3.Text.Trim();
                int age = Convert.ToInt32(textBox4.Text.Trim());
                DataRow dr = dt2.NewRow();
                dr["name"] = name;
                dr["age"] = age;
                dt2.Rows.Add(dr);//.InsertAt(dr, 0);
                dataGridView2.DataSource = dt2;
            }        private void button3_Click(object sender, EventArgs e)
            {
                DataTable dt3 = new DataTable();
                dt3.TableName = "student3";
                dt3.Columns.Add(new DataColumn("name"));
                dt3.Columns.Add(new DataColumn("age"));
                for (int i = 0; i < dt1.Rows.Count; i++)
                {
                    DataRow dr = dt3.NewRow();
                    dr.ItemArray = dt1.Rows[i].ItemArray;
                    dt3.Rows.Add(dr);
                }
                for (int j = 0; j < dt2.Rows.Count; j++)
                {
                    DataRow dr = dt3.NewRow();
                    dr.ItemArray = dt2.Rows[j].ItemArray;
                    dt3.Rows.Add(dr);
                }
                dataGridView3.DataSource = dt3;
            }
        }
    }
      

  7.   

    1.主窗体,buttonAdd是添加按钮。    public partial class FormMain : Form
        {
            public static DataSet ds;
            public FormMain()
            {
                InitializeComponent();
            }
            private void FormMain_Load(object sender, EventArgs e)
            {
                System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("Server=localhost;Database=test;Integrated Security=SSPI;");
                System.Data.SqlClient.SqlDataAdapter sa = new System.Data.SqlClient.SqlDataAdapter("select * from table1", con);
                ds = new DataSet();
                sa.Fill(ds);
                dataGridView1.DataSource = ds.Tables[0];
            }
            private void buttonAdd_Click(object sender, EventArgs e)
            {
                FormSub2 FormSub2 = new FormSub2();
                FormSub2.Show();
            }
        }2.添加选择的子窗体    public partial class FormSub2 : Form
        {
            public FormSub2()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                DataRow dr1 = FormMain.ds.Tables[0].NewRow();
                dr1["name"] = "张三";
                dr1["age"] = "8";
                FormMain.ds.Tables[0].Rows.Add(dr1);
            }       
        }说明:ds是全局属性,任何窗体对ds的修改,都立刻反应到FormMain的dataGridView1上。button1_Click是个追加记录的例子。也可以用我上面提到的Merge方法。