动态添加gridview行【转:http://www.cnblogs.com/oec2003/articles/1069796.html】

本文介绍如何使用C#进行GridView控件的数据绑定及添加行操作,包括从数据库读取数据并显示在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代码
<% @ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"  %>

<! 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  runat ="server" >
    
< title > 无标题页 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:Button  ID ="Button1"  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 >
AddRow.rar

转载于:https://www.cnblogs.com/JemBai/archive/2008/09/01/1281250.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值