GridView初级自定义应用 增删改查

 
using System; 
using System.Data; 
using System.Configuration; 
using System.Collections; 
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 Default5 : System.Web.UI.Page 
{ 
    DataTable dtTemp = new DataTable(); 
    protected void Page_Load(object sender, EventArgs e) 
    { 
        if (!IsPostBack) 
        { 
            databind();//一定要写成一个方法,不然不成功!!!! 
        } 
    } 
    protected void databind() 
    { 
        DataTable dt = new DataTable(); 
        string constr = "server=.;uid=sa;pwd=huwei;database=Km"; 
        string sql = "select * from km_info "; 
        SqlConnection conn = new SqlConnection(constr); 
        SqlCommand com = new SqlCommand(sql, conn); 
        SqlDataAdapter da = new SqlDataAdapter(com); 
        da.Fill(dt); 
        if (ViewState["dt"] == null)            //判断是内存中是否存在这张表 
        { 
            ViewState["dt"] = dt; 
        } 

        GridView1.DataSource = (DataTable)ViewState["dt"]; //让girdview数据源指定内存中的表,而不是读出来的dt,因为页面每次都要刷新,才能正确显示,所有每次都是原来内容,达不到修改后的效果 
        GridView1.DataBind(); 
        Label1.Text = DateTime.Now.ToString(); 

    } 


//点击编辑 
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 
    { 
        GridView1.EditIndex = e.NewEditIndex; 
        databind(); 
    } 
//点击更新 
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 
    { 
//        ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "a", "alert('" + ((TextBox)GridView1.Rows[GridView1.EditIndex].Cells[2].Controls[0]).Text + "');", true); 
        int id = Convert.ToInt32(((TextBox)GridView1.Rows[GridView1.EditIndex].Cells[1].Controls[0]).Text);//获取id行(主键) 
        dtTemp = (DataTable)ViewState["dt"]; 

        dtTemp.PrimaryKey = new DataColumn[] { dtTemp.Columns["km_id"] };//建立一个主键 
        DataRow row = dtTemp.Rows.Find(id);//找到主键等于id的行 
        row[1] = ((TextBox)GridView1.Rows[GridView1.EditIndex].Cells[2].Controls[0]).Text; 
        ViewState["dt"] = dtTemp; 
        GridView1.EditIndex = -1; 

        databind(); 
    } 

//点击取消 
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) 
    { 
        GridView1.EditIndex = -1; 
        databind(); 
    } 
    //删除 

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
    { 
        ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "a", "return confirm('确定删除否?');", true); 
        int n = e.RowIndex;//获取但前第几行 

        string id = GridView1.Rows[n].Cells[1].Text;//找到该行第一列(id)列 也就是主键 
        dtTemp = (DataTable)ViewState["dt"]; 

        dtTemp.PrimaryKey = new DataColumn[] { dtTemp.Columns["km_id"] };//建立一个主键 
        DataRow row = dtTemp.Rows.Find(id);//找到主键等于id的行 
        dtTemp.Rows.Remove(row); 
        ViewState["dt"] = dtTemp; 
        databind(); 

    } 

    //绑定数据时,表头显示背景图片 
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
        if (e.Row.RowType == DataControlRowType.Header) 
        { 
            e.Row.Attributes.Add("style", "background-image:url('App_Themes\\Office2003 Blue\\GridView\\gvGradient.gif')"); 
        } 
    } 
    //分页 
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
        GridView1.PageIndex = e.NewPageIndex; 
        databind(); 
    } 

} 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值