gridview事件总结

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using IOIOT.DataControl;

public partial class Admin_LinksOperation : System.Web.UI.Page
{
    DCAdmin dcadmin=new DCAdmin();
    DCPublic dcpub=new DCPublic();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            GVBind();
        }
    }

   //绑定
    private void GVBind()
    {
        DataTable dt = dcpub.SelectAllTable("Links", "", "", "CreateDate");
        GridView1.DataSource = dt.DefaultView;
        GridView1.DataBind();
    }
    //分页,需要设置AllowPaging="true"
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        GVBind();
    }
   
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        GVBind();
    }
   //取ID值需要设置DataKeyNames="LinkID"
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int LID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
        string LinkText = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("Elinktext")).Text;
        string LinkIMG = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("Elinkimg")).Text;
        string LinkURL = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("Elinkurl")).Text;
        try
        {
            dcadmin.Table_UPDATE("Links","LinkText='" + LinkText + "',LinkImg='" + LinkIMG + "',Address='" + LinkURL + "'", "LinkID=" + LID);
            PublichClass.MsgBox("更新成功", this.Page);
        }
        catch(Exception ex)
        {
            errmessage.Text="更新失败"+ex.Message;
        }
        GridView1.EditIndex = -1;
        GVBind();
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        GVBind();
    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int LID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
        try
        {
            dcadmin.Table_DELETE("Links", "LinkID=" + LID);
            errmessage.Text = "删除成功";
            PublichClass.MsgBox("删除成功", this.Page);
            GVBind();
        }
        catch (Exception ex)
        {
            errmessage.Text = "删除失败" + ex.Message;
        }
    }
   //排序,需要设置AllowSorting="true",同时在项里需要设置 SortExpression="LinkID"
    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {
        if ((string)ViewState["Sort"] != e.SortExpression)
        {
            ViewState["Sort"] = e.SortExpression;
        }
        else
        {
            ViewState["Sort"] = e.SortExpression + " " + "DESC";
        }
        DataTable dt = dcpub.SelectAllTable("Links", "", "", "CreateDate");
        dt.DefaultView.Sort = ViewState["Sort"].ToString();
        GridView1.DataSource = dt.DefaultView;
        GridView1.DataBind();
    }
  //全选
    protected void AllLinkSelect_Click(object sender, EventArgs e)
    {
        CheckBox chkEbox;
        if (AllLinkSelect.Text == "全选")
        {
            foreach (GridViewRow gvrow in GridView1.Rows)
            {
                chkEbox = (CheckBox)gvrow.FindControl("chbk");
                chkEbox.Checked = true;
            }
            AllLinkSelect.Text = "取消";
        }
        else
        {
            foreach (GridViewRow gvrow in GridView1.Rows)
            {
                chkEbox = (CheckBox)gvrow.FindControl("chbk");
                chkEbox.Checked = false;
            }
            AllLinkSelect.Text = "全选";
        }
    }
   //删除选择项
    protected void LinkDel_Click(object sender, EventArgs e)
    {
        //删除其中选择项
        CheckBox chkbox;
        int LID;
        string DelStr = "";
        #region
        try
        {
            foreach (GridViewRow gridview in GridView1.Rows)
            {
                chkbox = (CheckBox)gridview.FindControl("chbk");
                if (chkbox.Checked == true)
                {
                    LID = Convert.ToInt32(((HiddenField)gridview.FindControl("hfd_linkid")).Value);
                    DelStr += "LinkID=" + LID + " or ";
                    //dcadmin.Table_DELETE("News", "NewsID=" + NID);
                }
            }
            if (DelStr.ToString().Trim().Length == 0)
            {
                errmessage.Text = "没有选择任何项";
                PublichClass.MsgBox("没有选择任何项", this.Page);
            }
            else
            {
                DelStr = DelStr.Substring(0, DelStr.LastIndexOf("or"));
                //删除选中的数据项
                dcadmin.Table_DELETE("Links", DelStr);
                //errmessage.Text = DelStr;
                errmessage.Text = "选择项删除成功!";
                PublichClass.MsgBox("选择项删除成功!", this.Page);
                GVBind();
            }
        }
        catch (Exception ex)
        {
            errmessage.Text = "出错了!" + ex.Message;
        }
        AllLinkSelect.Text = "全选";
        #endregion
    }
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int TTID;
        if (e.CommandName.ToString() == "topstep")
        {
            //向上移,Sort+1
            if (e.CommandArgument != null && e.CommandArgument.ToString() != "")
            {
                //errmessage.Text = e.CommandArgument.ToString();
                TTID = Convert.ToInt32(GridView1.DataKeys[Convert.ToInt32(e.CommandArgument)].Value);
                int NowSort = Convert.ToInt32((dcpub.SelectAllTable("Links", "LinkID=" + TTID, "Sort", "")).Rows[0]["Sort"]);
                int UpSort = NowSort + 1;
                dcadmin.Table_UPDATE("Links", "Sort=" + UpSort, "LinkID=" + TTID);
                DataTable dt = dcpub.SelectAllTable("Links", "", "", "Sort desc");
                GridView1.DataSource = dt.DefaultView;
                GridView1.DataBind();
            }
            else
                //errmessage.Text = "没有参数";
                errmessage.Text = "没有参数";
        }
        if (e.CommandName.ToString() == "bottomstep")
        {
            //向下移,Sort-1
            errmessage.Text = "22";
        }
    }
   //RowCommand事件需要添加CommandArgument 
    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
        LinkButton totop;
        LinkButton tobottom;
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            totop = (LinkButton)e.Row.FindControl("totop");
            tobottom = (LinkButton)e.Row.FindControl("tobottom");
            if (totop != null)
            {
                if (totop.CommandName == "topstep")
                    totop.CommandArgument = e.Row.RowIndex.ToString();
                if (tobottom.CommandName == "bottomstep")
                    tobottom.CommandArgument = e.Row.RowIndex.ToString();
            }
        }
    }
}

//GV里dropdownlist的postback信息
<asp:DropDownList runat="server" ID="RQ" AutoPostBack="true" OnSelectedIndexChanged="RQ_SelectedIndexChanged">

    protected void RQ_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList drp = sender as DropDownList; // 触发事件的 DDL
        string val = drp.SelectedValue;
        GridViewRow row = drp.NamingContainer as GridViewRow; // GridView 中对应的行
        int id = Convert.ToInt32(((TextBox)GridView1.Rows[row.RowIndex].FindControl("hfd_itemid")).Text);
        //int id = (int)GridView1.DataKeys[row.RowIndex].Values[0];
        //
        //Response.Write(val + "<br>" + id.ToString());
        try
        {
            kbs.LQUpdateTable("OrdersItem", "RuQi='" + val + "'", "OIID=" + id);
            KBPublic.MsgBox("更新成功", this.Page);
            GVBind();
        }
        catch (Exception ex)
        {
            errmessage.Text = "更新失败" + ex.Message;
        }
    }

GridView1里面嵌套了一个DataList.
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            int LYID = Convert.ToInt32(GridView1.DataKeys[e.Row.RowIndex].Value.ToString());
            DataTable dt_re = dcpub.SelectAllTable("GuestBook", "ParentID=" + LYID, "", "CreateDate");
            DataList dl2 = (DataList)e.Row.FindControl("DataList2");
            if (dt_re.Rows.Count > 0)
            {
                ((HtmlTableRow)e.Row.FindControl("retr")).Style.Value = "display:block";
                dl2.DataSource = dt_re;
                dl2.DataBind();
            }
            else
            {
                dl2.DataSource = null;
                dl2.DataBind();
            }
        }
    }

OnCommand的用法
以下是GV模版列里的内容项               
                <asp:TemplateField HeaderText="锁定">
                                <ItemTemplate>
                                    <asp:LinkButton ID="LinkButton1" CommandName="lockuser" runat="server" CommandArgument='<%#Eval("AutoID") %>' Text="锁定" OnCommand="LinkButton1_Command" />
                                </ItemTemplate>
                            </asp:TemplateField>

    protected void LinkButton1_Command(object sender, CommandEventArgs e)
    {
        int UserID = Convert.ToInt32(e.CommandArgument.ToString());
        try
        {
            dcpub.UpdateAllTable("Users", "LockUser=1", "AutoID=" + UserID);
            MessageBox.Show(this.Page, "用户已经被锁定");
        }
        catch (Exception ex)
        {
            view_message.Text = "操作出错了:" + ex.Message;
        }
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值