GridView 修改、删除、翻页

<asp:GridView ID="gvwData" runat="server" AutoGenerateColumns="False" Font-Size="8pt"
    OnRowDeleting="RowDeleting" ShowFooter="True" Width="100%" Style="font-size: 10pt;
    vertical-align: middle; text-align: center" DataKeyNames="deptID" OnRowCancelingEdit="gvwData_RowCancelingEdit"
    OnRowEditing="gvwData_RowEditing" OnRowUpdating="gvwData_RowUpdating" OnRowDataBound="gvwData_RowDataBound"
    AllowPaging="True" OnPageIndexChanging="gvwData_PageIndexChanging" PageSize="16"
    OnRowCommand="gvwData_RowCommand">
    <Columns>
        <asp:BoundField HeaderText="部门编码" DataField="deptID">
            <ItemStyle Width="20%" />
        </asp:BoundField>
        <asp:TemplateField HeaderText="部门名称">
            <ItemTemplate>
                <%# Eval("deptName")%>
            </ItemTemplate>
            <EditItemTemplate>
                <asp:TextBox ID="txtNameEdit" Text='<%# Eval("deptName") %>' runat="server" CssClass="default"
                    MaxLength="50"></asp:TextBox>
            </EditItemTemplate>
            <ItemStyle Width="20%" />
        </asp:TemplateField>
        <asp:TemplateField HeaderText="备注">
            <ItemTemplate>
                <%# Eval("remark")%>
            </ItemTemplate>
            <EditItemTemplate>
                <asp:TextBox ID="txtRemarkEdit" Text='<%# Eval("remark") %>' runat="server" CssClass="default"
                    MaxLength="50"></asp:TextBox>
            </EditItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="操作">
            <ItemTemplate>
                <asp:LinkButton ID="Update_But" runat="server" CommandName="Edit" ForeColor="#003366">修改</asp:LinkButton> 
                <asp:LinkButton ID="Delete_But" runat="server" CommandName="Delete" ForeColor="#003366"
                    OnClientClick="return confirm('确定要删除吗?');">删除</asp:LinkButton>
            </ItemTemplate>
            <EditItemTemplate>
                <asp:LinkButton ID="Update_But" runat="server" CommandName="Update" ForeColor="#003366">更新</asp:LinkButton> 
                <asp:LinkButton ID="Cancel_But" runat="server" CommandName="Cancel" ForeColor="#003366">取消</asp:LinkButton>
            </EditItemTemplate>
            <ItemStyle Width="10%" HorizontalAlign="Center" VerticalAlign="Middle" />
        </asp:TemplateField>
    </Columns>
    <PagerTemplate>
        <asp:Label ID="lblPage" runat="server" Text='<%# "第" + (((GridView)Container.NamingContainer).PageIndex + 1)  + "页/共" + (((GridView)Container.NamingContainer).PageCount) + "页" %> '></asp:Label>
        <asp:LinkButton ID="lbnFirst" runat="Server" Text="首页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'
            CommandName="Page" CommandArgument="First"></asp:LinkButton>
        <asp:LinkButton ID="lbnPrev" runat="server" Text="上一页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'
            CommandName="Page" CommandArgument="Prev"></asp:LinkButton>
        <asp:LinkButton ID="lbnNext" runat="Server" Text="下一页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>'
            CommandName="Page" CommandArgument="Next"></asp:LinkButton>
        <asp:LinkButton ID="lbnLast" runat="Server" Text="尾页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>'
            CommandName="Page" CommandArgument="Last"></asp:LinkButton>
             第
        <asp:TextBox runat="server" ID="inPageNum" Width="25px"></asp:TextBox>页
        <asp:Button ID="Button1" CommandName="go" runat="server" Text="go" />
    </PagerTemplate>
    <EmptyDataTemplate>
        <div style="width: 100%; text-align: center">
            无记录
        </div>
    </EmptyDataTemplate>
    <RowStyle Wrap="False" />
    <HeaderStyle Wrap="False" />
</asp:GridView>

 
        protected void gvwBind()
        {
            string sql = "select deptID,deptName,remark from dept order by deptID desc";
            gvwData.DataSource = DBHelper.GetTable(sql);
            gvwData.DataBind();
        }

        protected void gvwData_RowEditing(object sender, GridViewEditEventArgs e)
        {
            gvwData.EditIndex = e.NewEditIndex;
            gvwBind();
        }

        protected void gvwData_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            gvwData.EditIndex = -1;
            gvwBind();
        }

        protected void gvwData_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            try
            {
                gvwData.PageIndex = e.NewPageIndex;
                gvwBind();
                TextBox tb = (TextBox)gvwData.BottomPagerRow.FindControl("inPageNum");
                tb.Text = (gvwData.PageIndex + 1).ToString();
            }
            catch
            { }
        }

        protected void gvwData_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "go")
            {
                try
                {
                    TextBox tb = (TextBox)gvwData.BottomPagerRow.FindControl("inPageNum");
                    int num = Int32.Parse(tb.Text);
                    GridViewPageEventArgs ea = new GridViewPageEventArgs(num - 1);
                    gvwData_PageIndexChanging(null, ea);
                }
                catch { }
            }
        }

        protected void RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string id = gvwData.DataKeys[e.RowIndex].Values[0].ToString();
            string sql = "update dept set status=0,UpdateUser='" + int.Parse(Session["userID"].ToString()) + "',UpdateDate='" + DateTime.Now.ToString() + "' where deptID='" + id + "'";
            DBHelper.ExecuteSql(sql);
            gvwData.EditIndex = -1;
            gvwBind();

            common.log.addLog(int.Parse(Session["userID"].ToString()), "删除", "部门");
        }

        protected void gvwData_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string id = gvwData.DataKeys[e.RowIndex].Values[0].ToString();
            string name = ((TextBox)gvwData.Rows[e.RowIndex].FindControl("txtNameEdit")).Text;
            string remark = ((TextBox)gvwData.Rows[e.RowIndex].FindControl("txtRemarkEdit")).Text;

            if (name == "")
            {
                //ClientScript.RegisterStartupScript(this.GetType(), "", "alert('请填写部门名称。');", true);
                ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "alert", "alert('请填写部门名称。')", true);
                return;
            }

            string sql = "select count(deptName) from dept where deptID<>'" + id + "' and deptName='" + name + "' and status=1";
            if (Convert.ToInt32(DBHelper.ExecuteScalarSql(sql)) > 0)
            {
                //ClientScript.RegisterStartupScript(this.GetType(), "", "alert('此部门已存在。');", true);
                ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "alert", "alert('此部门已存在。')", true);
                return;
            }

            sql = "update dept set deptName='" + name + "',remark='" + remark + "',UpdateUser='" + int.Parse(Session["userID"].ToString()) + "',UpdateDate='" + DateTime.Now.ToString() + "' where deptID='" + id + "'";
            DBHelper.ExecuteSql(sql);
            gvwData.EditIndex = -1;
            gvwBind();

            common.log.addLog(int.Parse(Session["userID"].ToString()), "修改", "部门");
        }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值