GridView自定义分页导航

导读:
  自己做的一个项目中所运用到的技术:|
  1. 日历控件(带时分秒)
  2. GridView 批量删除,自定义分页,定位页码
  3. GridView 修改
  4. GridView 鼠标经过改变行的颜色
  效果如下:
  
  
  HTML:
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  

  
  

  
  
合作商查询
  
  

合作商名称
  
  
  
添加时间
  
  
  
  
  

  
  

  
  

  
  
  
  
  
  
  
  


  
  <  
  AutoGenerateColumns="False" AllowPaging="True" BorderColor="Silver"
  
  BorderStyle="Solid" BorderWidth="1px" OnRowDataBound="GridView1_RowDataBound"
  
  ShowFooter="false" EmptyDataText="没有数据记录!!" AllowSorting="True" OnSorting="GridView1_Sorting">
  
  
  
  
  
  
  
  
  
  
  
  
  

  
  
  
  
  
  
  
  
  
  
  
  

  
  
  
  
  
  
  
  
  
  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  
  

  
  <  
  runat="server">首 页
上一页
  
  下一页
  
  尾 页
  
  
  
  
  
  
  
  跳转到第
  
  

  
   操作:
  
  
  
  
  

  
  
  

  
  
  
  
  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("");
  
  
  return
  
  }
  
  else
  
  
  
  ...{
  
  
  StfRight = Session["UserRight"].ToString().Trim();
  
  
  
  
  if (!this.IsPostBack)
  
  
  
  
  ...{
  
  
  
  
  
  if (StfRight != "7" && StfRight != "8")
  
  
  
  
  ...{
  
  
  Response.Write("");
  
  
  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("");
  
  
  return false
  
  }
  
  else
  
  
  
  ...{
  
  
  return true
  
  }
  
  }
  
  
  
  public string GetClientVisitInfoShowAnchorStr(object StfId, object StfName)
  
  
  
  
  ...{
  
  
  string AnchorStr = "
修改
"
  
  return AnchorStr;
  
  
  }
  
  public string GetClientVisitInfoShowCmpMoney(object StfId, object StfName)
  
  
  
  
  ...{
  
  
  string AnchorStr = "
充值
"
  
  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("?);>  
  
  GridViewBind("");
  
  
  }
  
  
  
  protected void SelectClient_Click(object sender, EventArgs e)
  
  
  
  
  ...{
  
  
  GridViewBind("");
  
  
  }
  
  
  
  
  }
  
  
  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1511765
  
  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1520093

本文转自
http://blog.csdn.net/heker2007/archive/2007/03/04/1520093.aspx
posted @ 2007-11-12 19:18  周金桥  阅读(245)  评论(0编辑  收藏  举报