当前位置:编程学习 > C#/ASP.NET >>

datagridview 动态添加行

  DataTable dt =....
for (int i = 0; i < dt.Columns.Count; i++)
           {
               
               DataGridViewTextBoxColumn txt = new DataGridViewTextBoxColumn();
               txt.HeaderCell = chk;
              txt.HeaderText = dt.Columns[i].ToString ();
            
              gridHouse.Columns.Add(txt);
             
                           
           }
   for (int j = 0; j < dt.Rows.Count; j++)
               {
                   DataRow dr = dt.NewRow();
                  gridHouse.Rows.Add();      //怎么添加行         
                   
               } --------------------编程问答-------------------- 往DataTable 里加

dt.Rows.Add(dt.NewRow());  --------------------编程问答-------------------- datagridview本身就是可以编辑的控件,最后一行就有一个*号,就可以编辑了。
例如数据表有3条记录,显示在DataGridView控件会有4行,第4行前面有*号,你编辑后,必须要编码实现更新。
修改、添加、删除都需要有,这是一个例子:

    SqlConnection sqlConn = new SqlConnection("data source=(local); initial catalog=JWInfo; integrated security=SSPI");
    SqlCommand selCmd = new SqlCommand("Select * from 学生信息", sqlConn);
    
    sqlDa = new SqlDataAdapter(selCmd);
    SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(sqlDa);
    
    sqlDa.Fill(sqlDs, "学生信息");
    DataGridView1.DataSource = sqlDs.Tables("学生信息");



更新逻辑:

    sqlDsChanged = sqlDs.GetChanges();
    if ((sqlDsChanged != null)) {
        sqlDa.Update(sqlDs, "学生信息");
        sqlDs.AcceptChanges();
        
        if ((Op == OpType.Add)) {
            MessageBox.Show("记录添加成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        else if ((Op == OpType.Update)) {
            MessageBox.Show("记录更新成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }


--------------------编程问答-------------------- 我这个列是动态的
引用 2 楼 computerfox 的回复:
datagridview本身就是可以编辑的控件,最后一行就有一个*号,就可以编辑了。
例如数据表有3条记录,显示在DataGridView控件会有4行,第4行前面有*号,你编辑后,必须要编码实现更新。
修改、添加、删除都需要有,这是一个例子:

C# code

    SqlConnection sqlConn = new SqlConnection("data source=(lo……
--------------------编程问答-------------------- 列动态生成,怎么添加行记录谢谢 --------------------编程问答-------------------- 一样的道理!
你动态生成的,也是要创建DataTable,为DataTable动态添加列,然后才能添加行。
最后将datagridview绑定到datatable上。这种情况下,你在datagridview中编辑数据后。
可以调用DataTable.AcceptChange() --------------------编程问答-------------------- 在表头的列上加了复选框 --------------------编程问答--------------------     for (int j = 0; j < dt.Rows.Count; j++)
           {   
               DataRow dr = dt.Rows[j]; 
               for (int h = 0; h < dt.Columns.Count; h++)
               {
                   DataGridViewColumn dtColumn = new DataGridViewColumn();
                   dtColumn.Name  = dr[h].ToString();
                   gridHouse.Rows.Add(dtColumn);

                  
               }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,