GridView自定义分页导航

2021-03-22 11:04:50 浏览数 (1)

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

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 = " &lt;input type='checkbox' id='chk' name='chk' οnclick='checkJs(this.checked);'  /&gt;全选 " >

< 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("");

    }

}

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

0 人点赞