http://blog.youkuaiyun.com/mengyao/archive/2007/02/19/1511765.aspx
自己做的一个项目中所运用到的技术:|
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("");
}
}
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1511765