自己做的一个项目中所运用到的技术:|
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(""); } }