C# .Net Gridview

1、分页查询

导图

 

前台:

复制代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebGv2.aspx.cs" Inherits="WebApplication6.WebGv2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <%--AllowPaging:True 数据进行分页
                PageSize:3       每页分'3'行
                OnPageIndexChanging: 页码改变事件
                --%>
            <asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="3">
            </asp:GridView>
        </div>
    </form>
</body>
</html>
View Code
复制代码

--

后台:

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication6
{
    public partial class WebGv2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //打开页面开始加载,后续的提交中不参与加载
            if (!IsPostBack) {
                bind();
            }
        }

        //查询数据的方法
        private void bind()
        {
            string sql = "select * from student order by id";
            //设置表格的数据源为查询的数据表
            GridView1.DataSource= MyDBSql.excutSql(sql);
            //绑定控件
            GridView1.DataBind();
        }


        /// <summary>
        /// 页码改变事件
        /// </summary>
        /// <param name="sender">事件源</param>
        /// <param name="e">对象 事件</param>
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            //设置数据表格的页索引为当前事件 单击的页的编码
            GridView1.PageIndex = e.NewPageIndex;

            //重新调用查询数据方法
            bind();

        }
    }
}
View Code
复制代码

--

 2、基本的增删改查页面+通过面板的隐藏实现“多页面超链接”

前台:

复制代码
<%@ Page Title="手打标签内外箱二维码比对" Language="C#" MasterPageFile="~/MyMasterPage.master" AutoEventWireup="true" CodeFile="csrC591.aspx.cs" Inherits="csrC560_csrC591" StylesheetTheme="MyPTN" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <asp:LinkButton runat="server" ID="btn_AddShow" OnClick="btn_AddShow_Click">新增&查询&编辑&删除</asp:LinkButton>
    &nbsp&nbsp
    <asp:LinkButton runat="server" ID="btn_BatchAddShow" OnClick="btn_BatchAddShow_Click">内外箱比对</asp:LinkButton>
    <asp:Panel runat="server" ID="AddPanel">
        <table id="Table1" runat="server" class="mes_Blue" style="font-family: Tahoma " width="45%" border="1">
            <tr>
                <th style="height: 16px" colspan="13">手打标签内外箱二维码分割符信息注册</th>
            </tr>
        </table>

        <table id="Table2" runat="server" style="font-family: Tahoma " width="45%" border="1">
            <tr>
                <td bgcolor="#ffffff">客户别:</td>
                <td>
                     <asp:TextBox ID="txt_Cust" runat="server" Width="97.5%"  AutoPostBack="True" ></asp:TextBox>
                </td>
                <td bgcolor="#ffffff">模板名:</td>
                <td>
                    <asp:TextBox ID="txt_Template" runat="server" Width="97.5%"  AutoPostBack="True"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td bgcolor="#ffffff">内箱二维码分隔符:</td>
                <td>
                    <asp:TextBox ID="txt_InnerboxSeparator" runat="server" Width="97.5%"  AutoPostBack="True"></asp:TextBox>
                </td>
                <td bgcolor="#ffffff">外箱二维码分隔符:</td>
                <td>
                    <asp:TextBox ID="txt_OuterboxSeparator" runat="server" Width="97.5%"  AutoPostBack="True"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td bgcolor="#ffffff">内箱二维码分隔符起始位置:</td>
                <td>
                    <asp:TextBox ID="txt_StartpositionOfInner" runat="server" Width="97.5%"  AutoPostBack="True"></asp:TextBox>
                </td>
                <td bgcolor="#ffffff">内箱二维码分隔符结束位置:</td>
                <td>
                    <asp:TextBox ID="txt_EndpositionOfInner" runat="server" Width="97.5%"  AutoPostBack="True"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td bgcolor="#ffffff">外箱二维码分隔符起始位置:</td>
                <td>
                    <asp:TextBox ID="txt_StartpositionOfOuter" runat="server" Width="97.5%"  AutoPostBack="True"></asp:TextBox>
                </td>
                <td bgcolor="#ffffff">外箱二维码分隔符结束位置:</td>
                <td>
                    <asp:TextBox ID="txt_EndpositionOfOuter" runat="server" Width="97.5%"  AutoPostBack="True"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td colspan="8" align="center">
                    <asp:Button runat="server" ID="Button1" Text="新增" Width="65px" Height="25px" OnClick="Add_Click" class="ptn-input" propertiesLableName="Add"/>
                    &nbsp;
                <asp:Button runat="server" ID="Button2" Text="Query" Width="65px" Height="25px" OnClick="Query_Click" class="ptn-input" propertiesLableName="Query" />
                    &nbsp;
                <asp:Button runat="server" ID="Button3" Text="清空" Width="65px" Height="25px" OnClick="Clear_Click" class="ptn-input" propertiesLableName="Clear"/>
                    &nbsp;
                </td>
            </tr>
        </table>

    </asp:Panel>

    <asp:Panel runat="server" ID="ComparePanel" Visible="false">
        <table id="Table4" runat="server" class="mes_Blue" style="font-family: Tahoma " width="45%" border="1">
            <tr>
                <th style="height: 16px" colspan="13">内外箱二维码比对</th>
            </tr>
        </table>
        <table id="tb_Batch" runat="server" class="mes_Blue" style="font-family: Tahoma " width="45%" border="1">
            <tr>
                <td bgcolor="#ffffff">客户别:</td>
                <td><asp:TextBox ID="txt_Cust2" runat="server" Width="97.5%"  AutoPostBack="True" OnTextChanged="txt_Cust2_TextChanged" ></asp:TextBox></td>
            </tr>
            <tr>
                <td bgcolor="#ffffff">模板:</td>
                <td><asp:DropDownList runat="server" ID="ddl_Template" OnSelectedIndexChanged="ddl_Template_SelectedIndexChanged"></asp:DropDownList></td>
            </tr>
            <tr>
                <td bgcolor="#ffffff">内箱标签二维码:</td>
                <td>
                     <asp:TextBox ID="txt_Inner" runat="server" Width="97.5%"  AutoPostBack="True" ></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td bgcolor="#ffffff">外箱标签二维码:</td>
                <td>
                    <asp:TextBox ID="txt_Outer" runat="server" Width="97.5%"  AutoPostBack="True"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td><asp:Button runat="server" ID="Button4" Text="比对" Width="65px" Height="25px" OnClick="Submit_Click" class="ptn-input" propertiesLableName="Submit"/></td>
                <td><asp:Button runat="server" ID="Button5" Text="清空" Width="65px" Height="25px" OnClick="Clear_Click1" class="ptn-input" propertiesLableName="Clear"/></td>
                
            </tr>
        </table>
    </asp:Panel>

    <asp:Label runat="server" ID="lb_Msg" ForeColor="Red"></asp:Label><br/>
    <asp:Image ID="Image1" runat="server" Visible="false" />
    
    <asp:Panel runat="server" Style=" font-size: 14px; font-family: Arial;color:black" ID="gvAddPanel" >
        <asp:GridView ID="gv" SkinID="PTIGV_Blue3" runat="server" AutoGenerateColumns="False" OnRowDataBound="gv_RowDataBound" OnRowCancelingEdit="gv_RowCancelingEdit" 
                OnRowUpdating="gv_RowUpdating" OnRowEditing="gv_RowEditing" OnRowDeleting="gv_RowDeleting" EnableModelValidation="True">
            <AlternatingRowStyle BackColor="#dff4ff" />
            <Columns>
                <asp:BoundField DataField="Cust" HeaderText="客户别" />
                <asp:BoundField DataField="Template" HeaderText="模板名" />
                <asp:BoundField DataField="InnerboxSeparator" HeaderText="内箱分割符" />
                <asp:BoundField DataField="StartpositionOfInner" HeaderText="内箱分隔符起始位置" />
                <asp:BoundField DataField="EndpositionOfInner" HeaderText="内箱分隔符结束位置" />
                <asp:BoundField DataField="OuterboxSeparator" HeaderText="外箱分隔符" />
                <asp:BoundField DataField="StartpositionOfOuter" HeaderText="外箱分隔符起始位置" />
                <asp:BoundField DataField="EndpositionOfOuter" HeaderText="外箱分隔符结束位置    " />
                <asp:BoundField DataField="CreatedBy" HeaderText="注册人" />
                <asp:BoundField DataField="CreateTime" HeaderText="注册时间" />
                <asp:BoundField DataField="ModifiedBy" HeaderText="修改人" />
                <asp:BoundField DataField="ModifiedTime" HeaderText="修改时间" />
                <asp:CommandField HeaderText="编辑" ButtonType="Image" ShowEditButton="True" EditImageUrl="/images/Edit.gif"/>
                <asp:CommandField HeaderText="删除" ButtonType="Image" ShowDeleteButton="True" DeleteImageUrl="/images/Delete.gif"/>
            </Columns>
        </asp:GridView>
    </asp:Panel>
</asp:Content>
View Code
复制代码

后台:

复制代码
using Aspose.Cells;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Reflection;

/// <summary>
/// [C2212108] 手打内外箱标签信息一致性比对页面建立
/// </summary>

public partial class csrC560_csrC591 : MyBasePage
{
    PTN_Fun.Fun fun;
    PTN_dbLink.sqlLink sqlLink = new PTN_dbLink.sqlLink();
    string srv = PTN_mes.Global.sql_srv;
    string dbs = PTN_mes.Global.sql_dbs;
    string srvSI = PTN_mes.Global.SrvName.SiSrv;
    string dbsSI = PTN_mes.Global.DbName.SiDB;
    PTN_Fun.Fun Fun = new PTN_Fun.Fun(PTN_mes.Global.sql_srv, PTN_mes.Global.sql_dbs);
    DataTable dt_auth;
    string user_id = "";
    string authority = "";
    int row_count = 0;
    protected void Page_Load(object sender, EventArgs e)
    {
        dt_auth = this.AuthorityTable;
        user_id = dt_auth.Rows[0]["User"].ToString().Trim();
        authority = dt_auth.Rows[0]["Others"].ToString();
        ViewState["authority"] = authority;
        lb_Msg.Text = string.Empty;
        Image1.Visible = false;
        Image1.ImageUrl = string.Empty;
    }
    /// <summary>
    /// [C2212108] 注册面板
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btn_AddShow_Click(object sender, EventArgs e)
    {
        cleanView();
        AddPanel.Visible = true;
        ComparePanel.Visible = false;
    }
    /// <summary>
    /// [C2212108] 比对面板
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btn_BatchAddShow_Click(object sender, EventArgs e)
    {
        cleanView();
        AddPanel.Visible = false;
        ComparePanel.Visible = true;
    }
    /// <summary>
    /// [C2212108] 注册
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Add_Click(object sender, EventArgs e)
    {
        try
        {
            //请空当前页面
            cleanView();
            //判断为空
            if (string.IsNullOrEmpty(txt_Cust.Text.Trim()) && string.IsNullOrEmpty(txt_EndpositionOfInner.Text.Trim()) && string.IsNullOrEmpty(txt_EndpositionOfOuter.Text.Trim())
               && string.IsNullOrEmpty(txt_InnerboxSeparator.Text.Trim()) && string.IsNullOrEmpty(txt_OuterboxSeparator.Text.Trim()) && string.IsNullOrEmpty(txt_StartpositionOfInner.Text.Trim())
               && string.IsNullOrEmpty(txt_StartpositionOfOuter.Text.Trim()) && string.IsNullOrEmpty(txt_Template.Text.Trim()))
                throw new Exception("注册值不可以都为空!!");
            //判断重复
            string sql = string.Format(@"select * from tb_HandLabel_Config where Cust='{0}' and Template='{1}' and InnerboxSeparator='{2}' and StartpositionOfInner='{3}' and EndpositionOfInner='{4}' and OuterboxSeparator='{5}' and StartpositionOfOuter='{6}' and EndpositionOfOuter='{7}' ",
                    txt_Cust.Text.Trim(), txt_Template.Text.Trim(), txt_InnerboxSeparator.Text.Trim(), txt_StartpositionOfInner.Text.Trim(),
                    txt_EndpositionOfInner.Text.Trim(), txt_OuterboxSeparator.Text.Trim(), txt_StartpositionOfOuter.Text.Trim(), txt_EndpositionOfOuter.Text.Trim());
            if (sqlLink.cmdSelect(srvSI, dbsSI, sql).Rows.Count > 0)
            {
                throw new Exception("存在重复的数据!");
            }
            //执行insert
            sql = @"insert tb_HandLabel_Config(Cust,Template,InnerboxSeparator,StartpositionOfInner,EndpositionOfInner,OuterboxSeparator,StartpositionOfOuter,EndpositionOfOuter,CreatedBy,CreateTime) 
                    values('" + txt_Cust.Text.Trim() + @"','" + txt_Template.Text.Trim() + "','" + txt_InnerboxSeparator.Text.Trim() +
                   @"','" + txt_StartpositionOfInner.Text.Trim() + "','" + txt_EndpositionOfInner.Text.Trim() + "','" + txt_OuterboxSeparator.Text.Trim() + 
                   @"','" + txt_StartpositionOfOuter.Text.Trim() + "','" + txt_EndpositionOfOuter.Text.Trim() + "','" + user_id + "',GETDATE())";
            sqlLink.cmdTransaction(srvSI, dbsSI, sql);
            Query_Click(null, null);
            showTip("新增成功!");
        }
        catch (Exception ex)
        {
            showTip(ex.Message);
        }
    }
    /// <summary>
    /// [C2212108] 查询
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Query_Click(object sender, EventArgs e)
    {
        try
        {
            cleanView();
            string sql = string.Empty;
            if (string.IsNullOrEmpty(txt_Cust.Text.Trim()) && string.IsNullOrEmpty(txt_EndpositionOfInner.Text.Trim()) && string.IsNullOrEmpty(txt_EndpositionOfOuter.Text.Trim())
                && string.IsNullOrEmpty(txt_InnerboxSeparator.Text.Trim()) && string.IsNullOrEmpty(txt_OuterboxSeparator.Text.Trim()) && string.IsNullOrEmpty(txt_StartpositionOfInner.Text.Trim())
                && string.IsNullOrEmpty(txt_StartpositionOfOuter.Text.Trim()) && string.IsNullOrEmpty(txt_Template.Text.Trim()))
            {
                sql = "select * from tb_HandLabel_Config";
            }
            else
            {
                //构建查询sql
                sql = "select * from tb_HandLabel_Config where 1=1";
                sql += bulidString("Cust", txt_Cust.Text);
                sql += bulidString("Template", txt_Template.Text);
                sql += bulidString("InnerboxSeparator", txt_InnerboxSeparator.Text);
                sql += bulidString("StartpositionOfInner", txt_StartpositionOfInner.Text);
                sql += bulidString("EndpositionOfInner", txt_EndpositionOfInner.Text);
                sql += bulidString("OuterboxSeparator", txt_OuterboxSeparator.Text);
                sql += bulidString("StartpositionOfOuter", txt_StartpositionOfOuter.Text);
                sql += bulidString("EndpositionOfOuter", txt_EndpositionOfOuter.Text);
            }
            DataTable dt = sqlLink.cmdSelect(srvSI, dbsSI, sql);
            if (dt.Rows.Count > 0)
            {
                gv.DataSource = dt;
                gv.DataBind();
                ViewState["dt"] = dt;
                DataTable dtTmp = (DataTable)ViewState["dt"];
                showTip("查询成功!");
            }
            else
            {
                gv.DataSource = null;
                gv.DataBind();
                ViewState["dt"] = null;
            }
        }
        catch (Exception ex)
        {
            showTip(ex.Message);
        }
    }
    /// <summary>
    /// [C2212108] 清空注册查询界面
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Clear_Click(object sender, EventArgs e)
    {
        try
        {
            txt_Cust.Text = string.Empty;
            txt_EndpositionOfInner.Text = string.Empty;
            txt_EndpositionOfOuter.Text = string.Empty;
            txt_InnerboxSeparator.Text = string.Empty;  
            txt_OuterboxSeparator.Text = string.Empty;
            txt_StartpositionOfInner.Text = string.Empty;
            txt_StartpositionOfOuter.Text= string.Empty;
            txt_Template.Text = string.Empty;
            cleanView();
        }
        catch (Exception ex)
        {
            showTip(ex.Message);
        }
    }
    /// <summary>
    /// [C2212108] 清空注册内外箱比对界面
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Clear_Click1(object sender, EventArgs e)
    {
        try
        {
            txt_Cust2.Text = string.Empty;
            ddl_Template.SelectedValue = string.Empty;
            txt_Inner.Text = string.Empty;
            txt_Outer.Text = string.Empty;
            lb_Msg.Text = string.Empty;
            ViewState["dt_info"] = null;
        }
        catch (Exception ex)
        {
            showTip(ex.Message);
        }
    }

    /// <summary>
    /// [C2212108] 显示错误
    /// </summary>
    /// <param name="s"></param>
    private void showTip(string s)
    {
        lb_Msg.Text = s;
    }
    //清空页面
    private void cleanView()
    {
        lb_Msg.Text = "";
        gv.DataSource = null;
        gv.DataBind();
        ViewState["dt"] = null;
    }

    /// <summary>
    /// [C2212108] 构造where的字符串
    /// </summary>
    /// <param name="key"></param>
    /// <param name="value"></param>
    /// <returns></returns>
    private string bulidString(string key, string value)
    {
        if (string.IsNullOrEmpty(value.Trim()))
        {
            return string.Empty;
        }
        if (value.Contains("*"))
        {
            return " and " + key + " like '" + value.Replace("*", "%").Trim() + "'";
        }
        else
        {
            return " and " + key + " = '" + value.Trim() + "'";
        }
    }
    /// <summary>
    /// [C2212108] 绑定修改和删除权限
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        try
        {
            if (((Boolean)dt_auth.Rows[0]["Del"]))
            {
                if (((LinkButton)e.Row.FindControl("LinkButtonDelete")) != null)
                {
                    LinkButton lbDelete = (LinkButton)e.Row.FindControl("LinkButtonDelete");
                    lbDelete.Visible = true;
                }
            }
            if (((Boolean)dt_auth.Rows[0]["Mod"]))
            {
                if (((LinkButton)e.Row.FindControl("LinkButtonEdit")) != null)
                {
                    LinkButton lbEdit = (LinkButton)e.Row.FindControl("LinkButtonEdit");
                    lbEdit.Visible = true;
                }
            }
        }
        catch (Exception err)
        {
            showTip(err.Message);
        }
    }
    /// <summary>
    /// [C2212108] 确认修改
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void gv_RowEditing(object sender, GridViewEditEventArgs e)
    {
        gv.EditIndex = e.NewEditIndex;
        if (ViewState["dt"] != null)
        {
            gv.DataSource = (DataTable)ViewState["dt"];
            gv.DataBind();
        }
    }
    /// <summary>
    /// [C2212108] 取消修改
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>

    protected void gv_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        try
        {
            gv.EditIndex = -1;
            if (ViewState["dt"] != null)
            {
                gv.DataSource = (DataTable)ViewState["dt"];
                gv.DataBind();
            }
        }
        catch (System.Exception err)
        {
            showTip(err.Message);
        }
    }
    /// <summary>
    /// [C2212108] 修改
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void gv_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        gv.EditIndex = -1;
        if (ViewState["dt"] != null)
        {
            try
            {
                DataTable dt = (DataTable)ViewState["dt"];
                bool bl = true;
                string[] s_col = new string[dt.Columns.Count];
                string where_str = " 1=1";
                string str1 = "";
                string str2 = "";
                string str3 = "";
                string str4 = "";
                string l_msg = "";
                string sql = string.Empty;
                row_count = gv.PageIndex * 20 + e.RowIndex;

                for (int i = 0; i < dt.Columns.Count - 2; i++)
                {
                    s_col[i] = ((System.Web.UI.WebControls.TextBox)gv.Rows[e.RowIndex].Cells[i].Controls[0]).Text.Trim();
                    if (s_col[i] != dt.Rows[row_count][i].ToString().Trim())
                        bl = false;
                }

                for (int i = 0; i < dt.Columns.Count - 4; i++)
                {
                    string dataIndex = dt.Columns[i].ColumnName;
                    where_str += " AND " + dataIndex + " = '" + s_col[i] + "'";//新数据
                    str1 += dataIndex + " = '" + s_col[i] + "',";//新数据
                    str4 += dataIndex + " = '" + s_col[i] + "' AND ";
                    if (dt.Rows[row_count][i].ToString() != null && dt.Rows[row_count][i].ToString() != "")
                    {
                        str2 += " AND " + dataIndex + " = '" + dt.Rows[row_count][i].ToString().Trim() + "'";//旧数据
                        str3 += dataIndex + " = '" + dt.Rows[row_count][i].ToString().Trim() + "',";//旧数据
                    }
                }

                sql = "SELECT * FROM tb_HandLabel_Config WHERE" + where_str;
                if (sqlLink.cmdSelect(srvSI, dbsSI, sql).Rows.Count > 0)
                {
                    throw new DataException("系統中已存在相同的资料,请确认!!");
                }

                sql = "UPDATE tb_HandLabel_Config SET " + str1.Substring(0, str1.Length - 1) + ",ModifiedBy='"+user_id+ "',ModifiedTime=Getdate() WHERE Cust = '" + dt.Rows[row_count]["Cust"].ToString().Trim() + "' and Template='"+ dt.Rows[row_count]["Template"].ToString().Trim() + "'" + str2 + "; ";
                sqlLink.cmdTransaction(srvSI, dbsSI, sql);

                DataTable dtTmp = sqlLink.cmdSelect(srvSI, dbsSI, "select * from tb_HandLabel_Config where " + str4.TrimEnd().Substring(0, str4.TrimEnd().Length-3) + " AND ModifiedBy='" + user_id + "'");
                dt.Rows[row_count].Delete();
                dt.Rows.Add(dtTmp.Rows[0].ItemArray);
                dt.AcceptChanges();

                Query_Click(null, null);
                showTip("修改成功!!");

                l_msg = "Before:" + str3.Substring(0, str3.Length - 1).Replace('\'', ' ') + " ,registrant = " + dt.Rows[row_count]["CreatedBy"] + ",registrationTime=" + dt.Rows[row_count]["CreateTime"] + "),Update:(" + str1.Substring(0, str1.Length - 1).Replace('\'', ' ') + ",updateUser=" + user_id + ",updateTime=" + System.DateTime.Now.ToString() + ")";
                InsertLog(l_msg,"修改数据");

                //Update ViewState
                gv.DataSource = (DataTable)ViewState["dt"];
                gv.DataBind();
            }
            catch (System.Exception err)
            {
                showTip(err.Message);
                if (ViewState["dt"] != null)
                {
                    gv.DataSource = (DataTable)ViewState["dt"];
                    gv.DataBind();
                }
            }
        }
    }
    /// <summary>
    /// [C2212108] 删除
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void gv_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        gv.EditIndex = -1;
        if (ViewState["dt"] != null)
        {
            try
            {
                row_count = gv.PageIndex * 20 + e.RowIndex;
                DataTable dt = (DataTable)ViewState["dt"];
                DataRow dr = dt.Rows[row_count];
                string where_str = "", where_str1 = string.Empty;

                for (int i = 0; i <= dt.Columns.Count - 4; i++)
                {
                    string dataIndex = dt.Columns[i].ColumnName;
                    string dataValue = dt.Rows[row_count][dataIndex].ToString();
                    where_str += string.Format("{0} = '{1}' and ", dataIndex, dataValue);
                    where_str1 += string.Format("{0} = {1} and ", dataIndex, dataValue);
                }
                where_str = where_str.Substring(0, where_str.Length - 4);
                where_str1 = where_str1.Substring(0, where_str1.Length - 4);

                string sql = string.Format("delete from tb_HandLabel_Config where {0};", where_str);
                int num = sqlLink.cmdTransaction(srvSI, dbsSI, sql);
                if (num > 0)
                {
                    sqlLink.cmdTransaction(srvSI, dbsSI, sql);
                    Query_Click(null, null);
                    showTip("删除成功,总共有" + num + "条数据被删除。");

                    string l_msg = where_str1 + "and DeleteUser=" + user_id;
                    InsertLog(l_msg,"删除数据");
                }
                else
                {
                    throw new Exception("删除失败!");
                }
            }
            catch (Exception ex)
            {
                showTip(ex.Message);
            }
        }
        
    }
    protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        try
        {
            gv.EditIndex = -1;
            if (ViewState["dt"] != null)
            {
                gv.PageIndex = e.NewPageIndex;
                gv.DataSource = ViewState["dt"] as System.Data.DataTable;
                gv.DataBind();
            }
            else
            {
                showTip("Error Message : 资源已被系统回收,请重新查询数据,谢谢");
            }
        }
        catch (System.Exception err)
        {
            showTip(err.Message);
        }
    }
    /// <summary>
    /// [C2212108] by客户别查询所有注册模式
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void txt_Cust2_TextChanged(object sender, EventArgs e)
    {
        string sql = string.Empty;
        DataTable dt_info;
        DataTable dt_template;
        try
        {
            sql = "select * from tb_HandLabel_Config where Cust like '" + txt_Cust2.Text.Trim().Replace("*", "%") + "'";
            dt_info = sqlLink.cmdSelect(srvSI, dbsSI, sql);
            sql = "select distinct Template from tb_HandLabel_Config where Cust like '" + txt_Cust2.Text.Trim().Replace("*", "%") + "'";
            dt_template = sqlLink.cmdSelect(srvSI, dbsSI, sql);

            if (dt_info.Rows.Count <= 0)
                throw new Exception("该客户别还未注册!!");
            else
            {
                ViewState["dt_info"] = dt_info;
                ddl_Template.DataSource = dt_template;
                ddl_Template.DataTextField = "Template";
                ddl_Template.DataBind();
                ddl_Template.Items.Insert(0, "");
            }
        }
        catch (Exception err)
        {
            showTip(err.Message);
        }
    }

    protected void ddl_Template_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            if (string.IsNullOrEmpty(txt_Cust2.Text.Trim()))
                throw new Exception("请输入客户别!!");
        }
        catch(Exception err)
        {
            showTip(err.Message);
        }
    }
    /// <summary>
    /// [C2212108] 插入操作日志
    /// </summary>
    /// <param name="l_azo05"></param>
    /// <param name="l_azo06"></param>
    protected void InsertLog(string l_azo05, string l_azo06)
    {
        string sql = string.Empty;
        try
        {
            sql = "insert azo_file(azo01,azo02,azo03,azo05,azo06)" +
                " values('csrC591','" + user_id + "',GetDate(),'" + l_azo05 + "','"+ l_azo06 + "'); ";
            sqlLink.cmdTransaction(srv, dbs, sql);
        }
        catch (Exception err)
        {
            showTip(err.Message);
        }
    }
    /// <summary>
    /// [C2212108] 比对
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Submit_Click(object sender, EventArgs e)
    {
        try
        {
            if (ViewState["dt_info"] != null)
            {
                if (string.IsNullOrEmpty(ddl_Template.SelectedValue.ToString()))
                    throw new Exception("请下拉选择模板!!");

                DataTable dt_info = (DataTable)ViewState["dt_info"];
                DataRow[] dr_infos = dt_info.Select("Template='" + ddl_Template.SelectedValue.ToString() + "'");

                dt_info = dr_infos.CopyToDataTable();
                int j;
                for (j = 0; j < dt_info.Rows.Count; j++)
                {
                    DataRow dr_info = dt_info.Rows[j];
                    char l_InnerboxSeparator = char.Parse(dr_info["InnerboxSeparator"].ToString());
                    int l_StartpositionOfInner = int.Parse(dr_info["StartpositionOfInner"].ToString());
                    int l_EndpositionOfInner = int.Parse(dr_info["EndpositionOfInner"].ToString());
                    char l_OuterboxSeparator = char.Parse(dr_info["OuterboxSeparator"].ToString());
                    int l_StartpositionOfOuter = int.Parse(dr_info["StartpositionOfOuter"].ToString());
                    int l_EndpositionOfOuter = int.Parse(dr_info["EndpositionOfOuter"].ToString());

                    string[] arrInner = txt_Inner.Text.Trim().Split(l_InnerboxSeparator);
                    string sInner = string.Empty;
                    for (int i = l_StartpositionOfInner; i <= l_EndpositionOfInner - 1; i++)
                    {
                        sInner += arrInner[i] + " ";
                    }
                    sInner = sInner.TrimEnd(l_InnerboxSeparator);

                    string[] arrOuter = txt_Outer.Text.Trim().Split(l_OuterboxSeparator);
                    string sOuter = string.Empty;
                    for (int i = l_StartpositionOfOuter; i <= l_EndpositionOfOuter - 1; i++)
                    {
                        sOuter += arrOuter[i] + " ";
                    }
                    sOuter = sOuter.TrimEnd(l_OuterboxSeparator);

                    if (sInner.Equals(sOuter))
                    {
                        continue;
                    }
                    else
                    {
                        showTip("内箱截取第" + l_StartpositionOfInner + "-" + l_EndpositionOfInner + "的字符串:" + sInner + ",外箱截取第" + l_StartpositionOfOuter + "-" + l_EndpositionOfOuter + "的字符串:" + sOuter + "。比对失败!");
                        Image1.Visible = true;
                        Image1.ImageUrl = "/images/fail.jpg";
                    }
                }
                if (j == dt_info.Rows.Count && !(Image1.ImageUrl.Equals("/images/fail.jpg")))
                {
                    showTip("比对成功!");
                    Image1.Visible = true;
                    Image1.ImageUrl = "/images/pass.jpg";
                    InsertLog("内箱:" + txt_Inner.Text.Trim() + ";外箱:" + txt_Outer.Text.Trim() + "", "内外箱比对");
                }
            }
        }
        catch (Exception ex)
        {
            showTip(ex.Message);
        }
    }
}
View Code
复制代码

实际上只写了一个页面,但写了2个面板,实际展现的效果就好像写了2个页面

增删改查页面:

 

 另一个业务页面:

 

posted @   船长华莱士  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示