private void btnShengCheng_Click(object sender, EventArgs e)
        {
            int count = stuBLL.SelectStudentCount();    //获取学生数
            DataTable dt = stuBLL.SelectStudent(this.cbNianJi.Text).Tables[0];  //获取dataTable
            DataColumn zkzh = new DataColumn("准考证号",typeof(string));    //创建新列
            dt.Columns.Add(zkzh);   //添加到dataTable中
            //循环往新列中添加数据
            for (int i = 0; i < count; i++) 
            {
                //获取随机准考证号
                string number = stuBLL.GetZkzh(cbRiQi.Text, cbNianJi.Text, cbKeMu.Text);
                //往新列里添加数据
                DataRow row = dt.NewRow();
                row[3] = number;
                dt.Rows.Add(row);
            }
            dgvZkzh.DataSource = dt;
        }
这段代码 本意是想往已经有数据的DataTable里,动态添加第4列 准考证号码 列。 已经获取了准考证号了,按照我这样写,它是在数据的最后一行的第4列添加的数据,并非我想的 从第一行第4列开始依次添加求助,如何能从第一行开始添加

解决方案 »

  1.   


    private void btnShengCheng_Click(object sender, EventArgs e)
            {
                int count = stuBLL.SelectStudentCount();    //获取学生数
                DataTable dt = stuBLL.SelectStudent(this.cbNianJi.Text).Tables[0];  //获取dataTable
                DataColumn zkzh = new DataColumn("准考证号",typeof(string));    //创建新列
                dt.Columns.Add(zkzh);   //添加到dataTable中
                //循环表的所有行.
                fearch(datarow row  in da.rows) 
                {
                    //获取随机准考证号
                    string number = stuBLL.GetZkzh(cbRiQi.Text, cbNianJi.Text, cbKeMu.Text);
                    //往新列里添加数据
                      row[3] = number;
                    dt.Rows.Add(row);
                }
                dgvZkzh.DataSource = dt;
            }你试一下看行不行.
      

  2.   


    private void btnShengCheng_Click(object sender, EventArgs e)
            {
                int count = stuBLL.SelectStudentCount();    //获取学生数
                DataTable dt = stuBLL.SelectStudent(this.cbNianJi.Text).Tables[0];  //获取dataTable
                DataColumn zkzh = new DataColumn("准考证号",typeof(string));    //创建新列
                dt.Columns.Add(zkzh);   //添加到dataTable中
                //循环表的所有行.
                fearch(datarow row  in dt.rows) 
                {
                    //获取随机准考证号
                    string number = stuBLL.GetZkzh(cbRiQi.Text, cbNianJi.Text, cbKeMu.Text);
                    //往新列里添加数据
                      row[3] = number;
                }
                dgvZkzh.DataSource = dt;
            }
    你只是要将以前有的行再多添加一列并赋值是吧.只要给新添加的列赋值就行了.不用再将行添加到表中了.