<%@ Page Title="" Language="C#" MasterPageFile="MasterPageSys.master" AutoEventWireup="true" CodeFile="sysCustomCAdd.aspx.cs" Inherits="sysCustomCAdd" %>
<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="sysCustomCAdd.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="cuRecAddID"
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="cuRecAddID" HeaderText="序号" ReadOnly="True" SortExpression="cuRecAddID" 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("cuRecAddID") %>' />
<%# Eval("customName")%>
</ItemTemplate>
<EditItemTemplate>
<asp:HiddenField Value='<%#Eval("cuRecAddID") %>' ID="hfID2" runat=server/>
<asp:HiddenField ID="hfcustomID" runat="server" Value='<%# Eval("customID") %>' />
<asp:DropDownList ID="ddlcustomID" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlcustomID_SelectedIndexChanged" >
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="收货人" HeaderStyle-Width="100" ControlStyle-Width="100">
<ItemTemplate>
<asp:HiddenField ID="hfID3" runat="server" Value='<%# Eval("cuRecAddID") %>' />
<%# Eval("cuConName")%>
</ItemTemplate>
<EditItemTemplate>
<asp:HiddenField Value='<%#Eval("cuRecAddID") %>' ID="hfID4" runat=server/>
<asp:HiddenField ID="hfcuRecAddID" runat="server" Value='<%# Eval("customID") %>' />
<asp:DropDownList ID="ddlcuContactID" runat="server" >
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="cuRecAdd" HeaderText="收货地址" SortExpression="cuRecAdd" HeaderStyle-Width="300" ControlStyle-Width="300" >
</asp:BoundField>
<asp:BoundField DataField="cuRecRemarks" HeaderText="备注" SortExpression="cuRecRemarks" 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="~/systemManage/sysCustomCName.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 sysCustomCAdd : System.Web.UI.Page
{
int reValue;//用于保存返回值。返回值为-1(存在),0(失败),1(成功),2(用户名不存在)
protected void Page_Load(object sender, EventArgs e)
{
GridView1.Attributes.Add("style", "word-break:break-all;word-wrap:break-word");//自动换行
if (!IsPostBack)
{
GridviewBind();
}
}
public void GridviewBind()
{
//DDLcustomID.Items.Clear();
//实例化公共类的对象
DB db = new DB();
//定义SQL语句
string sqlstr = "SELECT BaCuRecAdd.cuRecAddID,BaCuRecAdd.customID,BaCuRecAdd.cuContactID,BaCuRecAdd.cuRecAdd,BaCuRecAdd.cuRecRemarks,BaCuContact.cuConName,BaCustom.customName FROM BaCuRecAdd LEFT OUTER JOIN BaCuContact ON BaCuRecAdd.cuContactID = BaCuContact.cuContactID LEFT OUTER JOIN BaCustom ON BaCuRecAdd.customID = BaCustom.customID ORDER BY BaCuRecAdd.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 cuRecAddID = ((HiddenField)GridView1.Rows[e.RowIndex].FindControl("hfID2")).Value;
string customID = ((DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlcustomID")).SelectedValue;
string cuContactID = ((DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlcuContactID")).SelectedValue;
string cuRecAdd = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString();
string cuRecRemarks = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString();
string cmdStr = "UPDATE BaCuRecAdd SET customID='" + customID + "',cuContactID = '" + cuContactID + "', cuRecAdd = '" + cuRecAdd + "', cuRecRemarks = '" + cuRecRemarks + "' WHERE cuRecAddID='" + cuRecAddID + "'";
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 BaCuRecAdd where cuRecAddID='" + 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数据
DropDownList ddlcustomID = (DropDownList)e.Row.FindControl("ddlcustomID") as DropDownList;
DB db = new DB();
string sqlddlcustomID = "SELECT [customID], [customName] FROM [BaCustom] ";
DataTable dtcustomID = db.reDt(sqlddlcustomID);
//绑定DropDownListt控件
ddlcustomID.DataSource = dtcustomID;
ddlcustomID.DataTextField = "customName";
ddlcustomID.DataValueField = "customID";
ddlcustomID.DataBind();
// 通过HiddenField选中现在的 DropDownList的值
ddlcustomID.SelectedValue = ((HiddenField)e.Row.FindControl("hfcustomID")).Value;
//----------绑定父DropDownList数据
DropDownList ddlcuContactID = (DropDownList)e.Row.FindControl("ddlcuContactID") as DropDownList;
string strcoustomID = ddlcustomID.SelectedItem.Value;
string sqlddlcuContactID = "SELECT [cuContactID],[customID],[cuConName] FROM [BaCuContact] where customID='" + strcoustomID + "'";
DataTable dtcuContactID = db.reDt(sqlddlcuContactID);
ddlcuContactID.DataSource = dtcuContactID;
ddlcuContactID.DataTextField = "cuConName";
ddlcuContactID.DataValueField = "cuContactID";
ddlcuContactID.DataBind();
// 通过HiddenField选中现在的 DropDownList的值
ddlcuContactID.SelectedValue = ((HiddenField)e.Row.FindControl("hfcuRecAddID")).Value;
}
/// 删除操作的提示
//如果是绑定数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[5].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='#E6F5FA'");
//鼠标移出时,行背景色变
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");
}
}
//
// <summary>
/// 编辑时子级DDL ddlcuContactID 随着父级DDL ddlcustomID 联动
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlcustomID_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow row = (GridViewRow)((sender) as Control).NamingContainer;
DropDownList ddlcustomID = (sender) as DropDownList;
int ddlcustomID_selected = Convert.ToInt32(ddlcustomID.SelectedValue);
DropDownList ddlcuContactID = row.FindControl("ddlcuContactID") as DropDownList;
//GetChildren(ddlcuContactID, ddlcustomID_selected);
DB db = new DB();
string sql = "SELECT [cuContactID],[customID],[cuConName] FROM [BaCuContact] where customID=" + ddlcustomID_selected + "";
DataTable dt = db.reDt(sql);
ddlcuContactID.DataTextField = "cuConName";
ddlcuContactID.DataValueField = "cuContactID";
ddlcuContactID.DataSource = dt;
ddlcuContactID.DataBind();
}
}