|
Posted on 2007-07-13 18:43 停留的风 阅读(830) 评论(0) 编辑 收藏 所属分类: .NET技巧特辑
自己做的一个项目中所运用到的技术:
|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="宋体"> </FONT><FONT face="宋体"> 合作商名称 <asp:textbox id="TStfName" runat="server" BorderStyle="Groove" Width="144px"></asp:textbox> </FONT></td> </tr> <tr> <td style="height: 30px"> <FONT face="宋体"> 添加时间 </FONT> <asp:textbox id="StartTime" onfocus="setday(this)" runat="server" Width="159px"></asp:textbox> 到 <asp:textbox id="EndTime" onfocus="setday(this)" runat="server" Width="160px"></asp:textbox> <FONT face="Times New Roman"> </FONT></td> </tr> <TR> <TD height="30"><FONT face="宋体"> <FONT face="宋体"> <asp:button id="SelectClient" runat="server" Text="搜 索" onclick="SelectClient_Click"></asp:button> </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' onclick='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> <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"> 操作: <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 onclick='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 onclick='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(""); } }
|