阅读 149

GridView数据修改、删除,修改控件TextBox和DropDownList,删除ShowDeleteButton=true提示删除确认[asp.net基础]

GridView列表中直接在当前行可修改、删除是很方便的,类似与winform的直观。本示例就是借助GridView自带修改删除功能,实现TextBox和DropDownList控件的结合,DropDownList的数据来自数据库,并选中可选项。ShowDeleteButton=true实现删除时,使用DeleteText实现删除前的提示框确认。

图示:

编辑前

编辑后的编辑图示

删除确认对话框


gridviewUp.aspx代码:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="gridviewUp.aspx.cs" Inherits="gridviewUp" %>




    
    


    
’ /> <%# Eval("zhiweiName")%> ’ /> ’ /> <%# Eval("card")%> ’ runat="server" Width="150px" />
gridviewUp.aspx.cs代码:



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;

public partial class gridviewUp : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            dataBind();
        }
    }

    /// 
    /// 绑定数据
    /// 
    private void dataBind()
    {
        DB _db = new DB();
        string _sql = "select a.*,b.zhiweiName from gridviewTestTable a,zhiwei b where  a.zhiweiID=b.ID";

        DataTable _DT = _db.GetDt(_sql);

        GridView1.DataSource = _DT;
        GridView1.DataBind();
    }

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        dataBind();
    }

    /// 
    /// “编辑”按钮按下时,将当前行设置为可编辑状态
    /// 
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        dataBind();
    }

    /// 
    /// “更新”按钮按下时,保存当前行的更改
    /// 
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        string id = ((HiddenField)GridView1.Rows[e.RowIndex].FindControl("hfID")).Value;
        string zhiwei = ((DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlZhiwei")).SelectedValue;
        string card = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("tbcard")).Text;

        string sql = "update gridviewTestTable set card=’" + card + "’,zhiweiID=’" + zhiwei + "’ where id=" + id;

        DB _db = new DB();

        int flag = _db.RunSql(sql);

        if (flag == 1)
        {
            GridView1.EditIndex = -1;
            dataBind();
        }
        else
        {
            Response.Write("修改异常!");
            Response.End();
        }
    }

    /// 
    /// “取消”按钮按下时,取消当前行的编辑状态
    /// 
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        dataBind();
    }

    /// 
    /// “删除”按钮按下后,删除当前行
    /// 
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        string id = ((HiddenField)GridView1.Rows[e.RowIndex].FindControl("hfID")).Value;

        string sql = "delete from  gridviewTestTable where ID=" + id;

        DB _db = new DB();

        int flag = _db.RunSql(sql);

        if (flag == 1)
        {
            GridView1.EditIndex = -1;
            dataBind();
        }
        else
        {
            Response.Write("删除异常!");
            Response.End();
        }

    }

    /// 
    /// 行绑定时的处理,其中包括DropDownList的可选项绑定,和选中当前可选项
    /// 
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowState == DataControlRowState.Edit) //判断当前行是否是“编辑”行
        {

            DropDownList ddlZhiwei = (DropDownList)e.Row.FindControl("ddlZhiwei");

            //绑定DropDownList数据
            DB _db = new DB();
            string _sql = "select * from zhiwei order by ID";

            DataTable _DT = _db.GetDt(_sql);

            ddlZhiwei.DataSource = _DT;
            ddlZhiwei.DataTextField = "zhiweiName";
            ddlZhiwei.DataValueField = "ID";
            ddlZhiwei.DataBind();
            //

            //选中DropDownList
            ddlZhiwei.SelectedValue = ((HiddenField)e.Row.FindControl("hfZhiwei")).Value;
            //

        }
    }
}
直接复制以上代码还不能完全运行,还需要数据库操作类DB,。



数据库是两个表,数据列表和职位列表。

gridviewTestTable表:

zhiwei表:

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐