GridView 修改、删除、翻页
来源:互联网 发布:php 一句话木马 编辑:程序博客网 时间:2024/05/21 16:57
<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()), "修改", "部门"); }