日期:2014-05-17  浏览次数:20993 次

c#datagridview 添加行

string InName ;//一个每次单击传入的量 ,每次单击传入的都不一样
private void buttonAdd_Click(object sender, EventArgs e)
        {
             sqlDnn.con.Open();
            string sql = "SELECT CN_GUID,CN_S_NAME  FROM TN_SYS_FILE_CLASS WHERE  CN_S_NAME = '" + InName + "'";
            try
            {
                SqlDataAdapter tableFunction = new SqlDataAdapter(sql, sqlDnn.con);  //查询数据
                DataSet ds = new DataSet();
                tableFunction.Fill(ds, "TN_SYS_FILE_CLASS");
                dataGridViewPart.DataSource = ds.Tables["TN_SYS_FILE_CLASS"];
            }
            catch (Exception)
            {
                MessageBox.Show("载入部门列表失败!");
                this.Close();
                throw;
            }

但这样,每次单击只能显示一行数据,后面的数据总会覆盖前面的数据,请教,怎么使前面的数据不被覆盖,
一行一行的添加,,
datagridview c#

------解决方案--------------------
 dataGridViewPart.DataSource = ds.Tables["TN_SYS_FILE_CLASS"];每次都改变了
如果你想保留原来的数据  查询后  插入到已有的数据里
------解决方案--------------------
查询得到的一个表。把里面的数据取出来就行
            try
            {
                SqlDataAdapter tableFunction = new SqlDataAdapter(sql, sqlDnn.con);  //查询数据
                DataSet ds = new DataSet();
                tableFunction.Fill(ds, "TN_SYS_FILE_CLASS");
                DataTable dt = ds.Tables["TN_SYS_FILE_CLASS"];
                for(int i=0;i<dt.Rows.Count;i++)
               {
                  dgv.Rows.Add(dt.Rows[i]);
                }