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);
}
}
查看全文
相关阅读:
Python全栈之路Day19
Python全栈之路Day20
Python全栈之路Day21
子元素应该margin-top为何会影响父元素【转】
HTML5的效果网站demo
用CSS让字体在一行内显示不换行
jQuery获得页面元素的绝对/相对位置
DIV垂直/水平居中2(DIV宽度和高度是动态的)
Jquery常用方法
关于JS正则表达式
原文地址:https://www.cnblogs.com/younger/p/549591.html
最新文章
mysql 存储过程写入临时表中
leetcode36 Valid Sudoku
leetcode134 Gas Station
leetcode130 Surrounded Regions
leetcode454 4Sum II
leetcode240 Search a 2D Matrix II
leetcode287 Find the Duplicate Number
leetcode324 Wiggle Sort II
leetcode146 LRU Cache
leetcode227 Basic Calculator II
热门文章
leetcode66 Plus One
python set元素访问
Oracle with as 嵌套
Python seed() 函数--每次产生一样的随机数系列
python list set dict的简单应用示例
visual studio 2015下python编程的中文字符串问题
Oracle11g密码忘记处理方法
string.split 应用
Python全栈之路Day23
Python全栈之路Day22
Copyright © 2011-2022 走看看