GridView自定义分页导航

    技术2022-05-11  66

     

    自己做的一个项目中所运用到的技术:|

    1.         日历控件(带时分秒) 2.         GridView 批量删除,自定义分页,定位页码 3.         GridView 修改 4.        GridView 鼠标经过改变行的颜色 效果如下: HTML: <% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " StfCmpManager.aspx.cs "  Inherits = " StfCmpManager "   %> <! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " > < html xmlns = " http://www.w3.org/1999/xhtml "   > < head id = " Head1 "  runat = " server " >      < title > 合作商信息维护 </ title >      < script language = " javascript "  type = " text/javascript " >          //  判断多选是否与选中项(没有选中的返回false)     function slcNo_click()     {        if (document.form1.checkboxname.length)        {            for (var i=0;i<document.form1.checkboxname.length;i++)            {                if(document.form1.checkboxname[i].checked)                {                    return true;                }            }        }        else        {            if(document.form1.checkboxname.checked)            {                return true;            }        }        alert("请选择后再操作!");        return false;    }          //  鼠标经过改变行的颜色      if  ( ! objbeforeItem)     {        var objbeforeItem=null;        var objbeforeItembackgroundColor=null;    }         function ItemOver(obj)     {        if(objbeforeItem)        {            objbeforeItem.style.backgroundColor = objbeforeItembackgroundColor;        }        objbeforeItembackgroundColor = obj.style.backgroundColor;        objbeforeItem = obj;        obj.style.backgroundColor = "#B9D1F3";         }      //               //  多选的全选与取消     function checkJs(boolvalue)     {        if(document.all.checkboxname.length>1)        {            for(var i=0;i<document.all.checkboxname.length;i++)            {                document.all.checkboxname[i].checked = boolvalue;                        }        }        else            document.all.checkboxname.checked = boolvalue;    }      //          //  只有全部选中时“全选”选中     function SingleCheckJs()     {        var flag1=false;        var flag2=false;                if (document.form1.checkboxname.length)        {            for (var i=0;i<document.form1.checkboxname.length;i++)            {                if(document.form1.checkboxname[i].checked)                    flag1 = true;                else                    flag2 = true;            }        }        else        {            if(document.form1.checkboxname.checked)                flag1 = true;            else                flag2 = true;        }                if(flag1==true&&flag2==false)            document.getElementById("chk").checked = true;        else            document.getElementById("chk").checked = false;    }         </ script >    < script type = " text/javascript "  language = " javascript "  src = " Selecttime/calendar.js " ></ script >        </ head > < body >      < form id = " form1 "  runat = " server " >              < table id = " Table10 "  cellSpacing = " 0 "  cellPadding = " 0 "  border = " 0 "  Style = " z-index: 103;             left: 21px; position: absolute; top: 20px; width:  90 % ; " >                  < tr >                      < td bgColor = " #fafafa " >                          < FIELDSET style = " BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 45px " >< LEGEND >< FONT face = " 宋体 "  size = " 2 " > 合作商查询 </ FONT ></ LEGEND >                              < table id = " Table1 "  height = " 40 "  cellSpacing = " 0 "  cellPadding = " 0 "  width = " 100% "  align = " center "                                 border = " 0 " >                                  < tr >                                      < td height = " 30 " >< FONT face = " 宋体 " >& nbsp; </ FONT >< FONT face = " 宋体 " >& nbsp;合作商名称                                             < asp:textbox id = " TStfName "  runat = " server "  BorderStyle = " Groove "  Width = " 144px " ></ asp:textbox >& nbsp; </ FONT ></ td >                                  </ tr >                                  < tr >                                      < td style = " height: 30px " >& nbsp; < FONT face = " 宋体 " >  添加时间  </ FONT >                                          < asp:textbox id = " StartTime "  onfocus = " setday(this) "  runat = " server "  Width = " 159px " ></ asp:textbox >& nbsp;到                                         < asp:textbox id = " EndTime "  onfocus = " setday(this) "  runat = " server "  Width = " 160px " ></ asp:textbox >& nbsp; & nbsp; & nbsp; < FONT face = " Times New Roman " >& nbsp; & nbsp; & nbsp; </ FONT ></ td >                                  </ tr >                                  < TR >                                      < TD height = " 30 " >< FONT face = " 宋体 " >& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; < FONT face = " 宋体 " >                                                  < asp:button id = " SelectClient "  runat = " server "  Text = " 搜 索 "  onclick = " SelectClient_Click " ></ asp:button >& nbsp; & nbsp; & nbsp; </ FONT ></ FONT ></ TD >                                  </ TR >                              </ table >                          </ FIELDSET >                      </ td >                  </ tr >              </ table >              < table cellpadding = " 0 "  cellspacing = " 0 "  border = " 0 "  Style = " z-index: 103;             left: 21px; position: absolute; top: 140px; width:  90 % ; " >                  < tr bgColor = " #6B696B " >                      < td align = " center "  style = " width: 85% " >                          < asp:GridView ID = " GridView1 "  runat = " server "  Width = " 100% "  CellPadding = " 4 "  ForeColor = " #333333 "                             AutoGenerateColumns = " False "  AllowPaging = " True "  BorderColor = " Silver "                             BorderStyle = " Solid "  BorderWidth = " 1px "  OnRowDataBound = " GridView1_RowDataBound "                             ShowFooter = " false "  EmptyDataText = " 没有数据记录!! "  AllowSorting = " True "  OnSorting = " GridView1_Sorting " >                              < Columns >                                  < asp:BoundField HeaderText = " 编号 "  DataField = " id "  Visible = " False "   />                                  < asp:TemplateField HeaderText = " <input type='checkbox' id='chk' name='chk' οnclick='checkJs(this.checked);'  />全选 " >                                      < ItemTemplate >                                          < input type = " checkbox "  id = " checkboxname "  name = " checkboxname "  value = ' <%# DataBinder.Eval(Container.DataItem, "StfId")%> '  onclick = ' SingleCheckJs(); '   />                                      </ ItemTemplate >                                  </ asp:TemplateField >                                  < asp:TemplateField HeaderText = " 序号 " >                                      < ItemTemplate >                                          <% # (Container.DataItemIndex + 1 ).ToString() %>                                      </ ItemTemplate >                                  </ asp:TemplateField >                                  < asp:TemplateField HeaderText = " 充值 " >                                      < ItemTemplate >                                          <% #GetClientVisitInfoShowCmpMoney(DataBinder.Eval(Container.DataItem, " StfId " ),DataBinder.Eval(Container.DataItem, " StfName " )) %>                                      </ ItemTemplate >                                  </ asp:TemplateField >                                                                                         < asp:BoundField HeaderText = " 公司名称 "  DataField = " StfCmpName "  SortExpression = " StfCmpName " />                                  < asp:BoundField HeaderText = " 登陆名 "  DataField = " StfName "  SortExpression = " StfName "   />                                  < asp:BoundField HeaderText = " 帐户金额 "  DataField = " StfCmpMoney "  SortExpression = " StfCmpMoney "   />                                  < asp:BoundField HeaderText = " 帐户Q币 "  DataField  = " StfQbmoney "  SortExpression = " StfQbmoney "   />                                  < asp:BoundField HeaderText = " 合作日期 "  DataField = " StfRegisterTime "  HtmlEncode = " False "  SortExpression = " StfRegisterTime "   />                                  < asp:TemplateField HeaderText = " 操作 "   >                                      < ItemTemplate >                                          <% #GetClientVisitInfoShowAnchorStr(DataBinder.Eval(Container.DataItem, " StfId " ),DataBinder.Eval(Container.DataItem, " StfName " )) %>                                      </ ItemTemplate >                                  </ asp:TemplateField >                              </ Columns >                              < RowStyle BackColor = " #F7F6F3 "  ForeColor = " #333333 "   />                              < EditRowStyle BackColor = " #999999 "   />                              < SelectedRowStyle BackColor = " #E2DED6 "  Font - Bold = " True "  ForeColor = " #333333 "   />                              < PagerStyle BackColor = " #284775 "  ForeColor = " White "  HorizontalAlign = " Center "   />                              < AlternatingRowStyle BackColor = " White "  ForeColor = " #284775 "   />                              < PagerSettings Visible = " False "   />                              < HeaderStyle Font - Bold = " False "  Font - Italic = " False "   />                          </ asp:GridView >                      </ td >                  </ tr >                  < tr >                      < td align = " center "  style = " height: 25px; width: 569px; " >                          < asp:LinkButton ID = " btnFirst "  CommandArgument = " first "  OnClick = " PagerButtonClick "                             runat = " server " > 首 页 </ asp:LinkButton >& nbsp; < asp:LinkButton ID = " btnPrev "  CommandArgument = " prev "  OnClick = " PagerButtonClick "  runat = " server " > 上一页 </ asp:LinkButton >                          < asp:LinkButton ID = " btnNext "  CommandArgument = " next "  OnClick = " PagerButtonClick "  runat = " server " > 下一页 </ asp:LinkButton >                          < asp:LinkButton ID = " btnLast "  CommandArgument = " last "  OnClick = " PagerButtonClick "  runat = " server " > 尾 页 </ asp:LinkButton >                          < asp:Label ID = " LblCurrentIndex "  runat = " server " ></ asp:Label >                          < asp:Label ID = " LblPageCount "  runat = " server " ></ asp:Label >                          < asp:Label ID = " LblRecordCount "  runat = " server " ></ asp:Label > 跳转到第 < asp:DropDownList ID = " ddlCurrentPage "  runat = " server "  AutoPostBack = " True "  OnSelectedIndexChanged = " DropDownList1_SelectedIndexChanged " >   </ asp:DropDownList > </ td >                  < tr >                      < td style = " width: 569px " >                          & nbsp;操作:                         < asp:Button ID = " Button3 "  runat = " server "  OnClick = " Button3_Click "  Text = " 删除合作商 "   />                      </ td >                  </ tr >              </ table >                     </ form > </ body > </ html > CS: 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  System.Data.SqlClient; public   partial   class  StfCmpManager : System.Web.UI.Page {    protected void Page_Load(object sender, System.EventArgs e)    {               string StfRight = "";        // 在此处放置用户代码以初始化页面        if (Session["UserId"== null)        {            Response.Write("<script language='javascript'>alert('工作超时,请重新登录。');top.window.location='default.aspx';</script>");            return;        }        else        {            StfRight = Session["UserRight"].ToString().Trim();            if (!this.IsPostBack)            {                 if (StfRight != "7" && StfRight != "8")                {                    Response.Write("<script language='javascript'>alert('你没有权限察看此页。');top.window.location='default.aspx';</script>");                    return;                }                GridViewBind("");            }        }    }    private void GridViewBind(string Sqlsort)    {        string where = string.Empty;        where = "and a.StfRight='6' and a.StfId=b.Stfid";        if (TStfName.Text.Trim() != "")        {            where += " and a.StfCmpName like '%" + TStfName.Text.Trim() + "%'";        }        if (StartTime.Text.Trim() != "")        {            where += " and a.StfRegistertime >= '" + StartTime.Text + "'";        }        if (EndTime.Text.Trim() != "")        {            where += " and a.StfRegistertime <= '" + EndTime.Text + "'";        }        if (where != string.Empty)        {            where = "Where " + where.Substring(4);        }        string connStr = ConfigurationManager.AppSettings.Get("DataConnectionString");        string SqlStr = "Select a.StfId as StfId,a.StfName as StfName,a.StfRealName as StfRealName,a.StfCmpName as StfCmpName,b.StfCmpMoney as StfCmpMoney,b.StfQbmoney as StfQbmoney,a.StfRegistertime as StfRegistertime From TStafferInfo a,TCmpMoney b " + where + Sqlsort;        //Response.Write(SqlStr);        //Response.End();               DataSet ds = new DataSet();        try        {            SqlConnection conn = new SqlConnection(connStr);            if (conn.State.ToString() == "Closed") conn.Open();            SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);            da.Fill(ds, "TStafferInfo");            if (conn.State.ToString() == "Open") conn.Close();            GridView1.DataSource = ds.Tables[0].DefaultView;            GridView1.DataBind();            LblCurrentIndex.Text = "第 " + (GridView1.PageIndex + 1).ToString() + " 页";            LblPageCount.Text = "共 " + GridView1.PageCount.ToString() + " 页";            LblRecordCount.Text = "总共 " + ds.Tables[0].Rows.Count.ToString() + " 条";            if (ds.Tables[0].Rows.Count == 0)            {                btnFirst.Visible = false;                btnPrev.Visible = false;                btnNext.Visible = false;                btnLast.Visible = false;                LblCurrentIndex.Visible = false;                LblPageCount.Visible = false;                LblRecordCount.Visible = false;            }            else if (GridView1.PageCount == 1)            {                btnFirst.Visible = false;                btnPrev.Visible = false;                btnNext.Visible = false;                btnLast.Visible = false;            }            // 计算生成分页页码,分别为:"首 页" "上一页" "下一页" "尾 页"            btnFirst.CommandName = "1";            btnPrev.CommandName = (GridView1.PageIndex == 0 ? "1" : GridView1.PageIndex.ToString());            btnNext.CommandName = (GridView1.PageCount == 1 ? GridView1.PageCount.ToString() : (GridView1.PageIndex + 2).ToString());            btnLast.CommandName = GridView1.PageCount.ToString();            //            this.ddlCurrentPage.Items.Clear();            for (int i = 1; i <= this.GridView1.PageCount; i++)            {                this.ddlCurrentPage.Items.Add(i.ToString());            }            this.ddlCurrentPage.SelectedIndex = this.GridView1.PageIndex;         }        catch (Exception ex)        {            Response.Write("数据库错误,错误原因:" + ex.Message);            Response.End();        }    }    protected void PagerButtonClick(object sender, EventArgs e)    {        GridView1.PageIndex = Convert.ToInt32(((LinkButton)sender).CommandName) - 1;        GridViewBind("");    }    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {        e.Row.Attributes["onmouseover"= "ItemOver(this)";    }    protected void Button1_Click(object sender, EventArgs e)    {        Response.Write(Request.Form.Get("RadioName"));    }    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)    {        string sql = "";        if (ViewState["DataConnectionString"== null || ViewState["DataConnectionString"].ToString().CompareTo(""== 0)        {            ViewState["DataConnectionString"= " desc";        }        else            ViewState["DataConnectionString"= "";        sql = " order by " + e.SortExpression + ViewState["DataConnectionString"];        GridViewBind(sql);        //DataFormatString="{0:yyyy年MM月dd日 hh时mm分ss秒}"    }        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)    {        this.GridView1.PageIndex = this.ddlCurrentPage.SelectedIndex;        GridViewBind("");    }    private bool CheckAddClientInfoForm()    {        int Tag = 0;        if (Tag == 1)        {            Response.Write("<script>alert('请将带*项填写!')</script>");            return false;        }        if (Tag == 2)        {            Response.Write("<script>alert('两次输入密码不同')</script>");            return false;        }        else        {            return true;        }    }    public string GetClientVisitInfoShowAnchorStr(object StfId, object StfName)    {        string AnchorStr = "<a href='#'><Div οnclick='javascript:window.open("TManageModify.aspx?StfId=" + StfId + "&StfName=" + StfName + "","","height=280,Width=600,scrollbars=yes,resizable=yes,status=no")'>修改</Div></a>";        return AnchorStr;    }    public string GetClientVisitInfoShowCmpMoney(object StfId, object StfName)    {        string AnchorStr = "<a href='#'><Div οnclick='javascript:window.open("StfCmpMoneyInfo.aspx?StfId=" + StfId + "&StfName=" + StfName + "","","height=250,Width=500,scrollbars=yes,resizable=yes,status=no")'>充值</Div></a>";        return AnchorStr;    }    protected void Button3_Click(object sender, EventArgs e)    {        string str = "";        string[] ckb = null;        str = Request.Form.Get("checkboxname");        ckb = str.Split(new char[] ',' });        for (int i = 0; i < ckb.Length; i++)        {   //帐户和信息同时删除            string StrSql = " Delete TStafferInfo where StfId ='" + ckb[i] + "'";            String StrSql_d = " Delete TCmpMoneyInfo where StfId ='" + ckb[i] + "'";            SqlConnection Conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings.Get("DataConnectionString"));            SqlCommand Cmd = new System.Data.SqlClient.SqlCommand(StrSql, Conn);            SqlCommand Cmd_d = new System.Data.SqlClient.SqlCommand(StrSql_d, Conn);            Conn.Open();            SqlTransaction Trans = Conn.BeginTransaction();            try            {                Cmd.Transaction = Trans;                Cmd_d.Transaction = Trans;                Cmd.ExecuteNonQuery();                Cmd_d.ExecuteNonQuery();                Trans.Commit();            }            catch (Exception Err)            {                Trans.Rollback();                Response.Write(Err.Message);            }        }        Response.Write("<script>window.close();alert('操作员删除成功!');</script>");        GridViewBind("");    }    protected void SelectClient_Click(object sender, EventArgs e)    {        GridViewBind("");    } }

    最新回复(0)