zoukankan      html  css  js  c++  java
  • 总结:使用Gridview的事件传递参数

    一直以来,见过别人用Gridview传递参数的方法有多种,在此把一些可以借鉴的总结一下:

    Code
    <asp:GridView ID="gvwCaseList" runat="server" AllowSorting="True" AutoGenerateColumns="False"
    DataKeyNames
    ="case_id,create_date" OnRowCommand="gvwCaseList_RowCommand" OnRowDataBound="gvwCaseList_RowDataBound"
    OnRowDeleting
    ="gvwCaseList_RowDeleting" OnRowEditing="gvwCaseList_RowEditing"
    OnSorting
    ="gvwCaseList_Sorting" Width="100%" OnRowUpdating="gvwCaseList_RowUpdating"
    OnDataBinding
    ="gvwCaseList_DataBinding">
    <Columns>
    <asp:TemplateField HeaderText="案件名称" SortExpression="case_name">
    <ItemTemplate>
    <span title="<%#Server.HtmlEncode(Eval("case_name").ToString()) %>">
    <%#ShowTitle(Eval("case_name").ToString(), 20)%>
    </span>
    </ItemTemplate>
    <HeaderStyle HorizontalAlign="Center" />
    <ItemStyle HorizontalAlign="Left" />
    </asp:TemplateField>
    <asp:BoundField DataField="suspect_money" HeaderText="涉嫌金额" SortExpression="suspect_money">
    <HeaderStyle HorizontalAlign="Center" />
    </asp:BoundField>
    <asp:BoundField DataField="illegal_date" DataFormatString="{0:yyyy-MM-dd}" HeaderText="案发时间"
    HtmlEncode
    ="False" SortExpression="illegal_date">
    <HeaderStyle HorizontalAlign="Center" />
    </asp:BoundField>
    <asp:BoundField DataField="import_num" HeaderText="导入记录" HtmlEncode="False" SortExpression="import_num">
    <HeaderStyle HorizontalAlign="Center" />
    </asp:BoundField>
    <asp:BoundField DataField="update_date" SortExpression="update_date">
    <HeaderStyle HorizontalAlign="Center" />
    </asp:BoundField>
    <asp:TemplateField HeaderText="操作">
    <ItemTemplate>
    <asp:LinkButton ID="lkbSee" runat="server" CommandName="Edit">查看</asp:LinkButton>
    <asp:LinkButton ID="lkbEdit" runat="server" CommandName="Update">修改</asp:LinkButton>
    <asp:LinkButton ID="lkbDelete" runat="server" CommandName="Delete" OnClientClick="return confirm('确实要永久性地删除此文件吗?');">删除</asp:LinkButton>
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    </Columns>
    </asp:GridView>
    Code
    protected void gvwCaseList_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
    Cases _cases
    = new Cases();
    CasesBLL _casesBLL
    = new CasesBLL();
    _cases.CaseId
    = this.gvwCaseList.DataKeys[e.RowIndex].Value.ToString();
    _casesBLL.Delete(_cases);
    GridBinds();
    }

    protected void gvwCaseList_RowEditing(object sender, GridViewEditEventArgs e)
    {
    string casesID = this.gvwCaseList.DataKeys[e.NewEditIndex].Values[0].ToString();
    Response.Redirect(
    "administrative_punishment_select.aspx?casesID="+casesID+"&select=true");
    }

    protected void gvwCaseList_Sorting(object sender, GridViewSortEventArgs e)
    {
    if (e.SortExpression != "")
    {
    ViewState[
    "sortStr"] = e.SortExpression;
    }
    if (ViewState["order"] == null)
    {
    ViewState[
    "order"] = "ASC";
    }
    else
    {
    if (ViewState["order"].ToString() == "ASC")
    {
    ViewState[
    "order"] = "DESC";
    }
    else
    {
    ViewState[
    "order"] = "ASC";
    }
    }
    GridSort();
    }

    protected void gvwCaseList_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    LinkButton btnEdit
    = (LinkButton)e.Row.FindControl("lkbEdit");
    LinkButton btnDelete
    = (LinkButton)e.Row.FindControl("lkbDelete");
    if (UserInfo.UserType == "02")
    {
    btnEdit.Visible
    = false;
    btnDelete.Visible
    = false;
    }
    }
    }

    protected void gvwCaseList_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
    string casesID = this.gvwCaseList.DataKeys[e.RowIndex].Values[0].ToString();
    string ctime = this.gvwCaseList.DataKeys[e.RowIndex].Values[1].ToString();
    Response.Redirect(
    "administrative_punishment_enter.aspx?ctime="+ctime+"&casesID="+casesID);
    }

    protected void gvwCaseList_DataBinding(object sender, EventArgs e)
    {
    gvwCaseList.Columns[
    4].HeaderText = HandText;
    }
    }

    protected void gvwCaseList_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    LinkButton btnEdit
    = (LinkButton)e.Row.FindControl("lkbEdit");
    LinkButton btnDelete
    = (LinkButton)e.Row.FindControl("lkbDelete");
    if (UserInfo.UserType == "02")
    {
    btnEdit.Visible
    = false;
    btnDelete.Visible
    = false;
    }
    }
    }

    ==========================================================================

    Code
    Code
    protected void gvwDocInfo_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    LinkButton btnSelect
    = (LinkButton)e.Row.FindControl("lkbPriview");
    btnSelect.CommandArgument
    = this.gvwDocInfo.DataKeys[e.Row.RowIndex].Values[0].ToString();
    LinkButton btnEdit
    = (LinkButton)e.Row.FindControl("lkbEdit");
    btnEdit.CommandArgument
    = this.gvwDocInfo.DataKeys[e.Row.RowIndex].Values[0].ToString();
    LinkButton btnDelete
    = (LinkButton)e.Row.FindControl("lkbDelete");
    btnDelete.CommandArgument
    = this.gvwDocInfo.DataKeys[e.Row.RowIndex].Values[0].ToString();
    LinkButton btnUpdate
    = (LinkButton)e.Row.FindControl("lkbUpdate");
    btnUpdate.CommandArgument
    = this.gvwDocInfo.DataKeys[e.Row.RowIndex].Values[0].ToString();
    btnUpdate.Visible
    = false;
    if (this.gvwDocInfo.DataKeys[e.Row.RowIndex].Values[2].ToString() != UserInfo.DepartmentID)
    {
    btnEdit.Visible
    = false;
    btnDelete.Visible
    = false;
    }
    if (UserInfo.UnitGroupCode == "10")
    {
    btnEdit.Visible
    = true;
    btnDelete.Visible
    = true;
    btnUpdate.Visible
    = true;
    }
    if (UserInfo.UserType == "02")//屏蔽查看用户的添加功能
    {
    btnEdit.Visible
    = false;
    btnDelete.Visible
    = false;
    btnUpdate.Visible
    = false;
    }
    }
    }

    protected void gvwDocInfo_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    if (e.CommandName == "Select")
    {
    Response.Redirect(
    "dynamic_select.aspx?menuid=" + Request.QueryString["menuid"].ToString() + "&infoID=" + e.CommandArgument.ToString());
    }
    if (e.CommandName == "Edit")
    {
    Response.Redirect(
    "dynamic_enter.aspx?menuid=" + Request.QueryString["menuid"].ToString() + "&infoID=" + e.CommandArgument.ToString());
    }
    if (e.CommandName == "Delete")
    {
    _active.InfoId
    = e.CommandArgument.ToString();
    _activeBLL.Delete(_active);
    if (ViewState["sortStr"] != null && ViewState["sortStr"].ToString() != "")
    {
    DataBinds(ViewState[
    "order"].ToString(), ViewState["sortStr"].ToString(), this.txtTitle.Text.ToString());
    }
    else
    {
    DataBinds(
    null, null, this.txtTitle.Text.ToString());
    }
    }
    if (e.CommandName == "Update")
    {
    _active.InfoId
    = e.CommandArgument.ToString();
    _active.IsTop
    = true;
    _active.StartTime
    = DateTime.Now.AddDays(20);
    _activeBLL.UpdateIsTop(_active.InfoId, _active.IsTop, _active.StartTime);
    if (ViewState["sortStr"] != null && ViewState["sortStr"].ToString() != "")
    {
    DataBinds(ViewState[
    "order"].ToString(), ViewState["sortStr"].ToString(), this.txtTitle.Text.ToString());
    }
    else
    {
    DataBinds(
    null, null, this.txtTitle.Text.ToString());
    }
    }
    }
  • 相关阅读:
    Bridage
    国内项目测试培训笔录和小结
    Proxy
    数据库设计
    PDF转Word
    机务维修成本技术点
    MyEclipse10
    MyEclips:Struts 2 + Hibernate 4 + SQL Server2008
    观察者模式
    javascript事件设计模式
  • 原文地址:https://www.cnblogs.com/shineqiujuan/p/1348437.html
Copyright © 2011-2022 走看看