datagrid分頁,排序,跨頁多選。
datagrid分頁,排序,跨頁多選。可以分頁後還是排序的。
如果大家測出什麼bug,請留言,大家一起討論。
如果大家有什麼別的好文章請貼出聯接共享。
好的文章待續ing。
1
using System;
2
using System.Collections;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Web;
7
using System.Web.SessionState;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.HtmlControls;
11
using System.Xml;
12
using System.Xml.XPath;
13
using System.Text;
14![](/Images/OutliningIndicators/None.gif)
15
namespace WebApplication4
16
{
17
/// <summary>
18
/// WebForm1 的摘要描述。
19
/// </summary>
20
public class WebForm1 : System.Web.UI.Page
21
{
22
protected System.Web.UI.HtmlControls.HtmlInputHidden hidselectindex;
23
protected System.Web.UI.WebControls.Label Label1;
24
protected System.Web.UI.WebControls.Button Button1;
25
protected System.Web.UI.WebControls.Label SortOrder;
26
protected System.Web.UI.WebControls.Label RequestedPage;
27
protected System.Web.UI.WebControls.DataGrid DataGrid1;
28
29
private void Page_Load(object sender, System.EventArgs e)
30
{
31
// 在這裡放置使用者程式碼以初始化網頁
32
if(!Page.IsPostBack)
33
{
34
SortOrder.Text = "Name";
35
this.RequestedPage.Text="0";
36![](/Images/OutliningIndicators/InBlock.gif)
37
Bind();
38
}
39
select();
40
// add();
41
}
42![](/Images/OutliningIndicators/InBlock.gif)
43
Web Form 設計工具產生的程式碼
67
private void Bind()
68
{
69
DataSet ds=new DataSet();
70
ds.ReadXml(Server.MapPath("user.xml"));
71
DataView dv=new DataView();
72
dv=ds.Tables[0].DefaultView;
73
this.DataGrid1.DataSource=ds.Tables[0].DefaultView;
74
if(Convert.ToInt32(this.RequestedPage.Text)>=Convert.ToInt32(ds.Tables[0].Rows.Count/this.DataGrid1.PageSize))
75
RequestedPage.Text = "0";
76
dv.Sort=SortOrder.Text;
77
this.DataGrid1.CurrentPageIndex=Convert.ToInt32(this.RequestedPage.Text);
78
this.DataGrid1.DataBind();
79
select();
80
// add();
81
}
82![](/Images/OutliningIndicators/InBlock.gif)
83
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
84
{
85
this.RequestedPage.Text=e.NewPageIndex.ToString();
86
Bind();
87
}
88![](/Images/OutliningIndicators/InBlock.gif)
89![](/Images/OutliningIndicators/InBlock.gif)
90
private void select()
91
{
92
foreach ( DataGridItem item in this.DataGrid1.Controls[0].Controls)
93
{
94
if (item.ItemType == ListItemType.Header)
95
{
96
97
CheckBox CheckBox1=(CheckBox)item.FindControl("CheckBox1");
98
System.Text.StringBuilder strscript = new System.Text.StringBuilder("<script language='javascript'> \n");
99
strscript.Append(" function checkstatus() { \n");
100
strscript.Append(" var ball = true; \n");
101
strscript.Append(" ball = document.all('" + CheckBox1.ClientID + "').checked; \n");
102![](/Images/OutliningIndicators/InBlock.gif)
103
for(int i=0; i<this.DataGrid1.Items.Count ; i++)
104
{
105
strscript.Append(" document.all('" + ((HtmlInputCheckBox)(this.DataGrid1.Items[i].Cells[0].FindControl("CheckBox2"))).ClientID+ "').checked = ball; \n");
106
strscript.Append(" AddRemoveValues(document.all('" + ((HtmlInputCheckBox)(this.DataGrid1.Items[i].Cells[0].FindControl("CheckBox2"))).ClientID+ "')); \n");
107
}
108
strscript.Append(" } \n");
109
strscript.Append("</script> \n");
110
if(!Page.IsClientScriptBlockRegistered("checkstatus"))
111
Page.RegisterClientScriptBlock("checkstatus",strscript.ToString());
112
CheckBox1.Attributes.Add("onclick","checkstatus()");
113
return;
114
}
115
}
116
}
117![](/Images/OutliningIndicators/InBlock.gif)
118
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
119
{
120
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
121
{
122
if(hidselectindex.Value.IndexOf(e.Item.Cells[1].Text) >= 0 )
123
{
124
HtmlInputCheckBox CheckBox2 = (HtmlInputCheckBox)(e.Item.Cells[0].FindControl("CheckBox2"));
125
CheckBox2.Checked = true;
126
}
127
}
128![](/Images/OutliningIndicators/InBlock.gif)
129
}
130![](/Images/OutliningIndicators/InBlock.gif)
131
private void Button1_Click(object sender, System.EventArgs e)
132
{
133
Label1.Text = hidselectindex.Value.Replace(",","<li>");
134![](/Images/OutliningIndicators/InBlock.gif)
135
}
136![](/Images/OutliningIndicators/InBlock.gif)
137
private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
138
{
139
if(SortOrder.Text.Trim()==e.SortExpression.Trim())
140
SortOrder.Text = e.SortExpression.Trim() + " desc";
141
else
142
SortOrder.Text = e.SortExpression.Trim();
143
Bind();
144![](/Images/OutliningIndicators/InBlock.gif)
145
}
146![](/Images/OutliningIndicators/InBlock.gif)
147
148![](/Images/OutliningIndicators/InBlock.gif)
149
}
150
}
151![](/Images/OutliningIndicators/None.gif)
原代碼:![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
17
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/InBlock.gif)
71
![](/Images/OutliningIndicators/InBlock.gif)
72
![](/Images/OutliningIndicators/InBlock.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/InBlock.gif)
75
![](/Images/OutliningIndicators/InBlock.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/InBlock.gif)
78
![](/Images/OutliningIndicators/InBlock.gif)
79
![](/Images/OutliningIndicators/InBlock.gif)
80
![](/Images/OutliningIndicators/InBlock.gif)
81
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
82
![](/Images/OutliningIndicators/InBlock.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
85
![](/Images/OutliningIndicators/InBlock.gif)
86
![](/Images/OutliningIndicators/InBlock.gif)
87
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
88
![](/Images/OutliningIndicators/InBlock.gif)
89
![](/Images/OutliningIndicators/InBlock.gif)
90
![](/Images/OutliningIndicators/InBlock.gif)
91
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
92
![](/Images/OutliningIndicators/InBlock.gif)
93
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/InBlock.gif)
98
![](/Images/OutliningIndicators/InBlock.gif)
99
![](/Images/OutliningIndicators/InBlock.gif)
100
![](/Images/OutliningIndicators/InBlock.gif)
101
![](/Images/OutliningIndicators/InBlock.gif)
102
![](/Images/OutliningIndicators/InBlock.gif)
103
![](/Images/OutliningIndicators/InBlock.gif)
104
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
105
![](/Images/OutliningIndicators/InBlock.gif)
106
![](/Images/OutliningIndicators/InBlock.gif)
107
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
108
![](/Images/OutliningIndicators/InBlock.gif)
109
![](/Images/OutliningIndicators/InBlock.gif)
110
![](/Images/OutliningIndicators/InBlock.gif)
111
![](/Images/OutliningIndicators/InBlock.gif)
112
![](/Images/OutliningIndicators/InBlock.gif)
113
![](/Images/OutliningIndicators/InBlock.gif)
114
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
115
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
116
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
117
![](/Images/OutliningIndicators/InBlock.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
120
![](/Images/OutliningIndicators/InBlock.gif)
121
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
122
![](/Images/OutliningIndicators/InBlock.gif)
123
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
124
![](/Images/OutliningIndicators/InBlock.gif)
125
![](/Images/OutliningIndicators/InBlock.gif)
126
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
127
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
128
![](/Images/OutliningIndicators/InBlock.gif)
129
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
130
![](/Images/OutliningIndicators/InBlock.gif)
131
![](/Images/OutliningIndicators/InBlock.gif)
132
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
133
![](/Images/OutliningIndicators/InBlock.gif)
134
![](/Images/OutliningIndicators/InBlock.gif)
135
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
136
![](/Images/OutliningIndicators/InBlock.gif)
137
![](/Images/OutliningIndicators/InBlock.gif)
138
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
139
![](/Images/OutliningIndicators/InBlock.gif)
140
![](/Images/OutliningIndicators/InBlock.gif)
141
![](/Images/OutliningIndicators/InBlock.gif)
142
![](/Images/OutliningIndicators/InBlock.gif)
143
![](/Images/OutliningIndicators/InBlock.gif)
144
![](/Images/OutliningIndicators/InBlock.gif)
145
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
146
![](/Images/OutliningIndicators/InBlock.gif)
147
![](/Images/OutliningIndicators/InBlock.gif)
148
![](/Images/OutliningIndicators/InBlock.gif)
149
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
150
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
151
![](/Images/OutliningIndicators/None.gif)
/Files/gjcn/WebForm1.rar
版权所有归"布衣软件工作者".未经容许不得转载.