C#之Gridview&dropdownlist控件应用

第一部份:前端代码:

<%@ Page Title="" Language="C#" MasterPageFile="MasterPageSys.master" AutoEventWireup="true" CodeFile="sysCustomCName.aspx.cs" Inherits="sysCustomCName" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">    
    <div class="container-fluid">              
        <ol class="breadcrumb">
          <li class="active">您的位置:</li>
          <li><a href="sysCustomInfo.aspx">客户信息编辑</a></li>
          <li><a href="sysCustomCName.aspx">客户联系人编辑</a></li>          
        </ol>
    </div>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
    <div class="container-fluid">
        <div class="col-md-1"></div>               
        <div class="col-md-10" style="font-size: small; text-align: center;"> 
          <div class="bg-primary">客户联系人编辑</div>
        <!--添加控件“GridView”,并设置属性 起始--> 
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"  DataKeyNames="cuContactID"
                AllowPaging="True"  EmptyDataText="没有数据记录!!"
                OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" 
                OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit" 
                OnPageIndexChanging="GridView1_PageIndexChanging"
                OnRowDataBound="GridView1_RowDataBound"
                CssClass= "table table-striped table-bordered table-condensed" >
                <Columns>                    
                    <asp:BoundField DataField="cuContactID" HeaderText="序号" ReadOnly="True" SortExpression="cuContactID" InsertVisible="False" HeaderStyle-Width="60" ControlStyle-Width="60" >                        
                    </asp:BoundField>                    
                    <asp:TemplateField HeaderText="客户简称" HeaderStyle-Width="100" ControlStyle-Width="100">
                        <ItemTemplate>
                            <asp:HiddenField ID="hfID" runat="server" Value='<%# Eval("cuContactID") %>' />
                        <%# Eval("customName")%>                            
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:HiddenField  Value='<%#Eval("cuContactID") %>' ID="hfID" runat=server/>
                            <asp:HiddenField ID="hfcustomID" runat="server" Value='<%# Eval("customID") %>' />
                            <asp:DropDownList ID="ddlcustomID" runat="server" EnableViewState="True" AppendDataBoundItems="False" AutoPostBack="False" >                            
                            </asp:DropDownList>
                        </EditItemTemplate>
                    </asp:TemplateField>                                     
                    <asp:BoundField DataField="cuConName" HeaderText="姓名" SortExpression="cuConName" HeaderStyle-Width="100" ControlStyle-Width="100" >                        
                    </asp:BoundField>
                    <asp:BoundField DataField="cuConDust" HeaderText="职务" SortExpression="cuConDust" HeaderStyle-Width="80" ControlStyle-Width="80" >                        
                    </asp:BoundField>
                    <asp:BoundField DataField="cuConMob" HeaderText="手机" SortExpression="cuConMob" HeaderStyle-Width="100" ControlStyle-Width="100" >                        
                    </asp:BoundField>
                    <asp:BoundField DataField="cuConTel" HeaderText="座机" SortExpression="cuConTel" HeaderStyle-Width="100" ControlStyle-Width="100" >                       
                    </asp:BoundField>
                    <asp:BoundField DataField="cuConMail" HeaderText="邮箱" SortExpression="cuConMail" HeaderStyle-Width="100" ControlStyle-Width="100" >                        
                    </asp:BoundField>
                    <asp:BoundField DataField="cuConQQ" HeaderText="QQ" SortExpression="cuConQQ" HeaderStyle-Width="100" ControlStyle-Width="100" >                        
                    </asp:BoundField>
                    <asp:BoundField DataField="cuConRemark" HeaderText="备注" SortExpression="cuConRemark" HeaderStyle-Width="200" ControlStyle-Width="200" >                        
                    </asp:BoundField>
                    <asp:CommandField HeaderText="删除" ShowDeleteButton="True" HeaderStyle-Width="40" HeaderStyle-HorizontalAlign="Center" ControlStyle-Width="40" >                        
                    </asp:CommandField>
                    <asp:CommandField HeaderText="编辑" ShowEditButton="True" HeaderStyle-Width="60" HeaderStyle-HorizontalAlign="Center" ControlStyle-Width="60" >                        
                    </asp:CommandField>                    
                </Columns>
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                <SortedAscendingCellStyle BackColor="#E9E7E2" />
                <SortedAscendingHeaderStyle BackColor="#506C8C" />
                <SortedDescendingCellStyle BackColor="#FFFDF8" />
                <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
            </asp:GridView>            
        <!--添加控件“GridView”,并设置属性 结束-->
        </div>
        <div class="col-md-1"></div>
        </div>
    <div class="container-fluid" style="text-align: center; margin-top: 20px;">
        <asp:Button ID="BtnNewCustom" runat="server" Text="新增客户" PostBackUrl="sysCustomNew.aspx" />        
        <asp:Button ID="BtnEditCAdd" runat="server" Text="编辑收货地址" PostBackUrl="sysCustomCAdd.aspx" />        
    </div>   

</asp:Content>

第二部份:后端代码

using System;
using System.Collections.Generic;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class sysCustomCName : System.Web.UI.Page
{
    int reValue;//用于保存返回值。返回值为-1(用户名存在),0(失败),1(成功),2(用户名不存在)
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            GridviewBind();           
        }
    }
    public void GridviewBind()
    {
        //DDLcustomID.Items.Clear();
        //实例化公共类的对象
        DB db = new DB();
        //定义SQL语句
        string sqlstr = "SELECT BaCuContact.cuContactID,BaCuContact.customID, BaCuContact.cuConName, BaCuContact.cuConDust,BaCuContact.cuConMob,BaCuContact.cuConTel,BaCuContact.cuConMail,BaCuContact.cuConQQ,BaCuContact.cuConRemark,BaCustom.customName FROM BaCuContact INNER JOIN BaCustom ON BaCuContact.customID = BaCustom.customID order by BaCuContact.customID";
        //实例化数据集DataTable用于存储查询结果
        DataTable dt = db.reDt(sqlstr);        
        //绑定DropDownListt控件
        GridView1.DataSource = dt;//设置数据源,用于填充控件中的项的值列表        
        GridView1.DataBind();//将控件及其所有子控件绑定到指定的数据源
        
    }

    //分页 选择、编辑、更新功能
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        //分页功能:设置相关属性。在源视窗中手动添加 AllowPaging = "True"   PageSize = "10"
        GridView1.PageIndex = e.NewPageIndex;
        GridviewBind();
    }
    protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
    {
        GridView1.SelectedIndex = e.NewSelectedIndex; //实现选择功能
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;  //实现编辑功能
        GridviewBind();
       
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;//实现取消编辑功能
        GridviewBind();
    }
    
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        DB db = new DB();       
        string cuContactID = ((HiddenField)GridView1.Rows[e.RowIndex].FindControl("hfID")).Value;
        string customID = ((DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlcustomID")).SelectedValue;
        string cuConName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
        string cuConDust = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString();
        string cuConMob = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString();
        string cuConTel = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString();
        string cuConMail = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString();
        string cuConQQ = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[7].Controls[0])).Text.ToString();
        string cuConRemark = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[8].Controls[0])).Text.ToString();                                   
        string cmdStr = "UPDATE BaCuContact SET customID='" + customID + "',cuConName = '" + cuConName + "', cuConDust = '" + cuConDust + "', cuConMob = '" + cuConMob + "', cuConTel = '" + cuConTel + "', cuConMail = '" + cuConMail + "', cuConQQ = '" + cuConQQ + "', cuConRemark = '" + cuConRemark + "' WHERE cuContactID='" + cuContactID + "'";
        reValue = db.sqlEx(cmdStr);
        if (reValue == 1)
        {
                        
            GridView1.EditIndex = -1;
            GridviewBind();
        }
        else if (reValue == 0)
        {
            Response.Write("<script>alert('更新客户联系人资料失败!!');</script>");
        }
        
    }
    //删除功能
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        DB db = new DB();        
        string cmdStr = "delete from BaCuContact where cuContactID='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
        reValue = db.sqlEx(cmdStr);
        if (reValue == 1)        {
                        
            GridView1.EditIndex = -1;
            GridviewBind();        }
        else if (reValue == 0)
        {
            Response.Write("<script>alert('删除操作失败!!');</script>");
            
        }
        
    }
    /// <summary>
    /// 行绑定时的处理,其中包括DropDownList的可选项绑定,和选中当前可选项
    /// </summary>
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow && ((e.Row.RowState & DataControlRowState.Edit) > 0))
            {

            DropDownList ddlcustomID = (DropDownList)e.Row.FindControl("ddlcustomID") as DropDownList;

            //绑定DropDownList数据
            DB db = new DB();
            string sqlddl = "SELECT [customID], [customName] FROM [BaCustom] ";
            DataTable dt = db.reDt(sqlddl);
            //绑定DropDownListt控件
            ddlcustomID.DataSource = dt;
            ddlcustomID.DataTextField = "customName";
            ddlcustomID.DataValueField = "customID";
            ddlcustomID.DataBind();
            //选中DropDownList
            ddlcustomID.SelectedValue = ((HiddenField)e.Row.FindControl("hfcustomID")).Value;
        }
        /// 删除操作的提示
        //如果是绑定数据行 
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
            {
                ((LinkButton)e.Row.Cells[9].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:" + e.Row.Cells[2].Text + "吗?')");
            }
        }
        /// 鼠标移到GridView某一行时改变该行的背景色        
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            //鼠标经过时,行背景色变 
            e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#00A9FF'");
            //鼠标移出时,行背景色变 
            e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");
            
        }

    }
}

猜你喜欢

转载自blog.csdn.net/li97203/article/details/81323303