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);
}
}
查看全文
相关阅读:
企业生产经营相关英文及缩写之(9)称号/部门/公司
企业生产经营相关英文及缩写之(2)生产/货仓
企业生产经营相关英文及缩写之(6)BOM 通用缩写
企业生产经营相关英文及缩写之(3)工程/工序(制程)
企业生产经营相关英文及缩写之(11)Genenic 普通书写
企业生产经营相关英文及缩写之(5)营业/采购
企业生产经营相关英文及缩写之(7)Shipping 装运
企业生产经营相关英文及缩写之(4)质量/体系
软考总结
IIS是如何处理ASP.NET请求的
原文地址:https://www.cnblogs.com/younger/p/549591.html
最新文章
Eclipse快捷键大全
eclipse删除空行
android有错.怎么办
编程时间分配
[转]重启后消失的注册表键值
15 个一定要会的 Windows7 快捷键
Alpha混合浅谈
WTL消息以及处理函数声明
A/B测试:基本概念
TrackMouseEvent
热门文章
窗体透明
关于WM_NCHITTEST消息
[设计模式]单实例
jQuerry点击按钮回到顶部功能
CSS控制文字,超出部分显示省略号
jq ajax请求跨域问题
flex布局取消子元素(img、div等)缩放:
jq日历一周为单位轮播
企业生产经营相关英文及缩写之(8)协议/合同/海关
企业生产经营相关英文及缩写之(10)认证/产品测试/标准
Copyright © 2011-2022 走看看