动态添加GridView行
c#代码:
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { BindGrid(); } } private DataTable ReadGridView() { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("ProductID", typeof(string))); dt.Columns.Add(new DataColumn("ProductName", typeof(string))); dt.Columns.Add(new DataColumn("CategoryID", typeof(string))); for (int i = 0; i < this.GridView1.Rows.Count; i++) { dr = dt.NewRow(); dr[0] = this.GridView1.Rows[i].Cells[0].Text.Trim(); dr[1] = this.GridView1.Rows[i].Cells[1].Text.Trim(); dr[2] = this.GridView1.Rows[i].Cells[2].Text.Trim(); dt.Rows.Add(dr); } return dt; } protected void Button1_Click(object sender, EventArgs e) { DataTable dt = ReadGridView(); //this.GridView1.DataSource = dt; //this.GridView1.DataBind(); DataRow row = dt.NewRow(); row.ItemArray = new object[] { "oec2003", "oec2003", "oec2003" }; dt.Rows.InsertAt(row, 0); dt.AcceptChanges(); this.GridView1.DataSource = dt; this.GridView1.DataBind(); } private void BindGrid() { string str = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ToString(); using (SqlConnection con = new SqlConnection(str)) { SqlCommand cmd = new SqlCommand("SELECT top 1 [ProductID], [ProductName], [CategoryID] FROM [Products]", con); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); sda.Fill(ds); this.GridView1.DataSource = ds.Tables[0].DefaultView; this.GridView1.DataBind(); sda.Dispose(); ds.Dispose(); } } }
html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>无标题页</title> </head> <body> <form id="form2" runat="server"> <div> <asp:Button ID="Button3" runat="server" OnClick="Button1_Click" Text="Button" /> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID"> <Columns> <asp:BoundField DataField="ProductID" HeaderText="ProductID" InsertVisible="False" ReadOnly="True" SortExpression="ProductID" /> <asp:BoundField DataField="ProductName" HeaderText="ProductName" SortExpression="ProductName" /> <asp:BoundField DataField="CategoryID" HeaderText="CategoryID" SortExpression="CategoryID" /> </Columns> </asp:GridView> </div> </form> </body> </html>
数据库连接字串
<connectionStrings> <add name="NorthwindConnectionString" connectionString="Data Source=FENGWEI;Initial Catalog=Northwind;User ID=sa;Password=1234" providerName="System.Data.SqlClient"/> </connectionStrings>
![](https://images.cnblogs.com/cnblogs_com/oec2003/219566/o_qrcode_for_gh_1a8c0bee3c6c_344.jpg)
微信公众号:不止dotNET
作者: oec2003
出处: http://oec2003.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则 保留追究法律责任的权利。
作者: oec2003
出处: http://oec2003.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则 保留追究法律责任的权利。