zoukankan
html css js c++ java
关于GridView中自定义分页、单选、多选、排序、自增列的简单应用
fenpage.aspx
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
fenpage.aspx.cs
"
Inherits
=
"
fenpage
"
%>
<!
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
>
</
head
>
<
body
>
<
form id
=
"
form1
"
runat
=
"
server
"
>
<
div
>
<
table cellpadding
=
"
0
"
cellspacing
=
"
0
"
border
=
"
0
"
width
=
"
80%
"
style
=
"
font-size: 11px
"
>
<
tr
>
<
td align
=
"
center
"
>
<
asp:GridView ID
=
"
GridView1
"
runat
=
"
server
"
Width
=
"
100%
"
CellPadding
=
"
4
"
ForeColor
=
"
#333333
"
AutoGenerateColumns
=
"
False
"
AllowPaging
=
"
True
"
PageSize
=
"
12
"
BorderColor
=
"
Silver
"
BorderStyle
=
"
Solid
"
BorderWidth
=
"
1px
"
OnRowDataBound
=
"
GridView1_RowDataBound
"
ShowFooter
=
"
True
"
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);' />全选
"
FooterText
=
"
全选
"
>
<
ItemTemplate
>
<
input type
=
"
checkbox
"
id
=
"
checkboxname
"
name
=
"
checkboxname
"
value
=
'
<%# DataBinder.Eval(Container.DataItem, "CustomerID")%>
'
onclick
=
'
SingleCheckJs();
'
/>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField HeaderText
=
"
单选
"
FooterText
=
"
单选
"
>
<
ItemTemplate
>
<
input type
=
"
radio
"
id
=
"
RadioName
"
name
=
"
RadioName
"
value
=
'
<%# Eval("CustomerID")%>
'
/>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField HeaderText
=
"
自增列
"
FooterText
=
"
自增列
"
>
<
ItemTemplate
>
<%
# (Container.DataItemIndex
+
1
).ToString()
%>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:BoundField HeaderText
=
"
姓名
"
FooterText
=
"
姓名
"
DataField
=
"
companyname
"
SortExpression
=
"
companyname
"
/>
<
asp:BoundField HeaderText
=
"
身份证号
"
FooterText
=
"
身份证号
"
DataField
=
"
address
"
SortExpression
=
"
address
"
/>
</
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
"
/>
<
FooterStyle Font
-
Bold
=
"
True
"
/>
<
HeaderStyle Font
-
Bold
=
"
False
"
Font
-
Italic
=
"
False
"
/>
</
asp:GridView
>
</
td
>
</
tr
>
<
tr
>
<
td align
=
"
center
"
style
=
"
height: 25px
"
>
<
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
></
td
>
</
tr
>
<
tr
>
<
td
>
<
asp:Button ID
=
"
Button2
"
runat
=
"
server
"
Text
=
"
checkbox得到选择的行
"
OnClick
=
"
Button2_Click
"
>
</
asp:Button
>
<
asp:Button ID
=
"
Button1
"
runat
=
"
server
"
Text
=
"
radio得到选择的行
"
OnClick
=
"
Button1_Click
"
></
asp:Button
>
</
td
>
</
tr
>
</
table
>
</
div
>
</
form
>
</
body
>
</
html
>
fenpage.aspx.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
fenpage : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
Button2.Attributes[
"
onclick
"
]
=
"
return slcNo_click();
"
;
GridViewBind(
""
);
}
private
void
GridViewBind(
string
Sqlsort)
{
string
connStr
=
ConfigurationManager.ConnectionStrings[
"
NorthwindConnectionString
"
].ConnectionString;
string
SqlStr
=
"
SELECT * FROM Customers
"
+
Sqlsort;
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,
"
test01
"
);
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();
//
}
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
Button2_Click(
object
sender, EventArgs e)
{
string
str
=
""
;
string
[]ckb
=
null
;
str
=
Request.Form.Get(
"
checkboxname
"
);
ckb
=
str.Split(
new
char
[]
{
'
,
'
}
);
Response.Write(
"
直接在页面中得到的值为:
"
+
str
+
"
<br>
"
);
Response.Write(
"
处理后存放在数组中,如下:<br>
"
);
for
(
int
i
=
0
;i
<
ckb.Length;i
++
)
{
Response.Write(
"
ckb[
"
+
i
+
"
]的值为:
"
+
ckb[i]
+
"
<br>
"
);
}
}
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[
"
SortDirection
"
]
==
null
||
ViewState[
"
SortDirection
"
].ToString().CompareTo(
""
)
==
0
)
{
ViewState[
"
SortDirection
"
]
=
"
desc
"
;
}
else
ViewState[
"
SortDirection
"
]
=
""
;
sql
=
"
order by
"
+
e.SortExpression
+
ViewState[
"
SortDirection
"
];
GridViewBind(sql);
}
}
查看全文
相关阅读:
HDU1397:Goldbach's Conjecture
火狐浏览器丢失书签,恢复无法处理备份文件的解决方案
火狐浏览器单击链接总是在一个新的标签页打开的设置方法
Mysql错误:#1054 Unknown column 'id' in 'field list' 解决办法
关于PHP的内置服务器的使用
PHP内置服务器
SecurityManager 规格严格
Centos或者Redhet开通telnet 规格严格
搜索分布式 规格严格
BenchMark 规格严格
原文地址:https://www.cnblogs.com/younger/p/549591.html
最新文章
你最近在用什么语言写些什么东西 V2EX
专访 Amoeba 项目开发者陈思儒
execvp 一个程序如何运行另一个程序?
java Redirecting Jruby ScriptEngine output to a StringWriter Stack Overflow
写一个爬虫程序 运维进行时 热衷于开源技术,一起学习,共同进步。
多线程异步非阻塞C语言爬虫 Orisun 博客园
Python通过HTTP协议定期抓取文件
你最近在用什么语言写些什么东西 V2EX
golangchina
libcurl使用心得
热门文章
apache 虚拟主机的另外一种配置
省赛AK练习赛之Pizza Cutting
Jquery实现的小案例3、小选项卡
Juery实现的小案例1、实现复选框的全选、全不选以及反选
你觉得有哪些技能,经过较短的学习,就可以给你的生活带来巨大的帮助?
绿盟2013年web实习生笔试题
<C/C++函数与算法速查手册>(中国铁道)勘误意见,欢迎大家对本书的错误多指正。
创意,有时候啥也不是
愚人节,一个迷茫的ACMer从新起航
Jquery实现的小功能2、显示品牌的列表
Copyright © 2011-2022 走看看