GridView排序加上下箭头(2)
GridView排序加上下箭头
上面的方法很不爽,自己从新做了一个,在我以前的代码基础之上修改的.这种方法才是我要的真正效果.
特公布代码如下:
前端页面代码没变,CS代码.
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Collections;
5
using System.Web;
6
using System.Web.Security;
7
using System.Web.UI;
8
using System.Web.UI.WebControls;
9
using System.Web.UI.WebControls.WebParts;
10
using System.Web.UI.HtmlControls;
11![](/Images/OutliningIndicators/None.gif)
12![](/Images/OutliningIndicators/None.gif)
13
public partial class ComEmployee : System.Web.UI.Page
14![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
15
protected void Page_Load(object sender, EventArgs e)
16![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
17
if (!IsPostBack)
18![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
19
this.txtDate.Text = DateTime.Now.ToString("MM/dd/yyyy");
20
this.btnGetEmp.Attributes["onclick"] = "changeStatus();";
21
GridViewBind();
22
}
23
}
24
private void GridViewBind()
25![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
26
//監測當前的排序狀況
27
if (this.ViewState["orderByName"] == null)
28![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
29
ViewState["orderByName"] = "g_time";
30
ViewState["orderByType"] = "asc";
31
}
32![](/Images/OutliningIndicators/InBlock.gif)
33
//獲取當前ViewState中保存的排序
34
string orderByName = this.ViewState["orderByName"].ToString();
35
string orderByType = this.ViewState["orderByType"].ToString();
36
WebClass.NewEmpClass tmp = new WebClass.NewEmpClass();
37
DataTable dt = tmp.ComEmployyeeList();
38
DataView dv = dt.DefaultView;
39
dv.Sort = orderByName+" "+ orderByType;
40
myGridView.DataSource = dv;
41
myGridView.DataBind();
42
labRecordCount.Text = "共<font color='red'>" + dt.Rows.Count.ToString() + "</font>筆記錄";
43
labPageCount.Text = "頁次<font color='blue'>" + (myGridView.PageIndex + 1).ToString() + "</font>/<font color='red'>" + myGridView.PageCount.ToString() + "</font>頁";
44
labPageRecord.Text = "<font color='red'>" + myGridView.PageSize.ToString() + "</font>筆記錄/頁";
45![](/Images/OutliningIndicators/InBlock.gif)
46
if (dt.Rows.Count == 0)
47![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
48
btnFirst.Visible = false;
49
btnPrev.Visible = false;
50
btnNext.Visible = false;
51
btnLast.Visible = false;
52![](/Images/OutliningIndicators/InBlock.gif)
53
labRecordCount.Visible = false;
54
labPageCount.Visible = false;
55
labPageRecord.Visible = false;
56
}
57
else if (myGridView.PageCount == 1)
58![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
59
btnFirst.Visible = false;
60
btnPrev.Visible = false;
61
btnNext.Visible = false;
62
btnLast.Visible = false;
63
}
64![](/Images/OutliningIndicators/InBlock.gif)
65
btnFirst.CommandName = "1";
66
btnPrev.CommandName = (myGridView.PageIndex == 0 ? "1" : myGridView.PageIndex.ToString());
67
btnNext.CommandName = (myGridView.PageCount == 1 ? myGridView.PageCount.ToString() : (myGridView.PageIndex + 2).ToString());
68
btnLast.CommandName = myGridView.PageCount.ToString();
69
BtnValidate();
70
}
71
private void BtnValidate()
72![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
73
if (myGridView.PageIndex + 1 >= myGridView.PageCount)
74![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
75
btnNext.Enabled = false;
76
btnLast.Enabled = false;
77
}
78
else
79![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
80
btnNext.Enabled = true;
81
btnLast.Enabled = true;
82
}
83
if (myGridView.PageIndex + 1 <= 1)
84![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
85
btnPrev.Enabled = false;
86
btnFirst.Enabled = false;
87
}
88
else
89![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
90
btnPrev.Enabled = true;
91
btnFirst.Enabled = true;
92
}
93
}
94
protected void PagerButtonClick(object sender, EventArgs e)
95![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
96
myGridView.PageIndex = Convert.ToInt32(((LinkButton)sender).CommandName) - 1;
97
GridViewBind();
98
}
99
protected void myGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
100![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
101
myGridView.PageIndex = e.NewPageIndex;
102
GridViewBind();
103
}
104
protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
105![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
106
if (e.Row.RowIndex != -1)
107![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
108
int orderID = this.myGridView.PageIndex * this.myGridView.PageSize + e.Row.RowIndex + 1;
109
e.Row.Cells[0].Text = orderID.ToString();
110
}
111
}
112
protected void myGridView_Sorting(object sender, GridViewSortEventArgs e)
113![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
114
this.setViewState(e.SortExpression, this.ViewState["orderByType"].ToString() == "asc" ? "desc" : "asc");
115
GridViewBind();
116
}
117![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//// <summary>
118
/// 以ViewState控制排序,寫入排序字段名及排序方式
119
/// </summary>
120
private void setViewState(string orderByName, string orderByType)
121![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
122
ViewState["orderByName"] = orderByName;
123
ViewState["orderByType"] = orderByType;
124
}
125![](/Images/OutliningIndicators/InBlock.gif)
126
private string SortExpression
127![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
128
get
129![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
130
if (ViewState["orderByName"] != null && ViewState["orderByName"].ToString() != string.Empty)
131![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
132
return ViewState["orderByName"].ToString();
133
}
134
else
135![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
136
return "";
137
}
138
}
139
set
140![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
141
ViewState["orderByName"] = value;
142
}
143
}
144
private string sort
145![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
146
get
147![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
148
if (ViewState["orderByType"] != null && ViewState["orderByType"].ToString() != string.Empty)
149![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
150
return ViewState["orderByType"].ToString();
151
}
152
else
153![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
154
return "";
155
}
156
}
157
set
158![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
159
ViewState["orderByType"] = value;
160
}
161
}
162
protected void imgbtnUpdate_Click(object sender, ImageClickEventArgs e)
163![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
164
GridViewBind();
165
}
166
protected void btnGetEmp_Click(object sender, EventArgs e)
167![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
168
string strEmpno = Request.Form.Get("chkID");
169
WebClass.NewEmpClass tmp = new WebClass.NewEmpClass();
170
tmp.CheckNewEmployyee(strEmpno);
171
}
172
protected void myGridView_RowCreated(object sender, GridViewRowEventArgs e)
173![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
174
for (int i = 0; i < myGridView.Columns.Count; i++)
175![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
176
//if (i == 0) continue;
177
if (e.Row.RowIndex == -1)
178![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
179
if (myGridView.Columns[i].SortExpression == SortExpression)
180![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
181
try
182![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
183
TableCell tableCell = e.Row.Cells[i];
184
Label lblSorted = new Label();
185
lblSorted.Font.Name = "webdings";
186
lblSorted.Width = 20;
187
lblSorted.Text = (sort == "asc" ? "6" : "5");
188
tableCell.Controls.Add(lblSorted);
189
}
190![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
catch
{ }
191
}
192
}
193
}
194![](/Images/OutliningIndicators/InBlock.gif)
195
}
196
}
197
上面的方法很不爽,自己从新做了一个,在我以前的代码基础之上修改的.这种方法才是我要的真正效果.
特公布代码如下:
前端页面代码没变,CS代码.
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
1
![](/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/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](/Images/dot.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/InBlock.gif)
47
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/InBlock.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
71
![](/Images/OutliningIndicators/InBlock.gif)
72
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
75
![](/Images/OutliningIndicators/InBlock.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
78
![](/Images/OutliningIndicators/InBlock.gif)
79
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
80
![](/Images/OutliningIndicators/InBlock.gif)
81
![](/Images/OutliningIndicators/InBlock.gif)
82
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
85
![](/Images/OutliningIndicators/InBlock.gif)
86
![](/Images/OutliningIndicators/InBlock.gif)
87
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
88
![](/Images/OutliningIndicators/InBlock.gif)
89
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
90
![](/Images/OutliningIndicators/InBlock.gif)
91
![](/Images/OutliningIndicators/InBlock.gif)
92
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
93
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/InBlock.gif)
98
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
99
![](/Images/OutliningIndicators/InBlock.gif)
100
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
101
![](/Images/OutliningIndicators/InBlock.gif)
102
![](/Images/OutliningIndicators/InBlock.gif)
103
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
104
![](/Images/OutliningIndicators/InBlock.gif)
105
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
106
![](/Images/OutliningIndicators/InBlock.gif)
107
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
108
![](/Images/OutliningIndicators/InBlock.gif)
109
![](/Images/OutliningIndicators/InBlock.gif)
110
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
111
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
112
![](/Images/OutliningIndicators/InBlock.gif)
113
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
114
![](/Images/OutliningIndicators/InBlock.gif)
115
![](/Images/OutliningIndicators/InBlock.gif)
116
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
117
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
120
![](/Images/OutliningIndicators/InBlock.gif)
121
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
122
![](/Images/OutliningIndicators/InBlock.gif)
123
![](/Images/OutliningIndicators/InBlock.gif)
124
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
125
![](/Images/OutliningIndicators/InBlock.gif)
126
![](/Images/OutliningIndicators/InBlock.gif)
127
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
128
![](/Images/OutliningIndicators/InBlock.gif)
129
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
130
![](/Images/OutliningIndicators/InBlock.gif)
131
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
132
![](/Images/OutliningIndicators/InBlock.gif)
133
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
134
![](/Images/OutliningIndicators/InBlock.gif)
135
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
136
![](/Images/OutliningIndicators/InBlock.gif)
137
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
138
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
139
![](/Images/OutliningIndicators/InBlock.gif)
140
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
141
![](/Images/OutliningIndicators/InBlock.gif)
142
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
143
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
144
![](/Images/OutliningIndicators/InBlock.gif)
145
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
146
![](/Images/OutliningIndicators/InBlock.gif)
147
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
148
![](/Images/OutliningIndicators/InBlock.gif)
149
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
150
![](/Images/OutliningIndicators/InBlock.gif)
151
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
152
![](/Images/OutliningIndicators/InBlock.gif)
153
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
154
![](/Images/OutliningIndicators/InBlock.gif)
155
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
156
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
157
![](/Images/OutliningIndicators/InBlock.gif)
158
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
159
![](/Images/OutliningIndicators/InBlock.gif)
160
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
161
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
162
![](/Images/OutliningIndicators/InBlock.gif)
163
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
164
![](/Images/OutliningIndicators/InBlock.gif)
165
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
166
![](/Images/OutliningIndicators/InBlock.gif)
167
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
168
![](/Images/OutliningIndicators/InBlock.gif)
169
![](/Images/OutliningIndicators/InBlock.gif)
170
![](/Images/OutliningIndicators/InBlock.gif)
171
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
172
![](/Images/OutliningIndicators/InBlock.gif)
173
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
174
![](/Images/OutliningIndicators/InBlock.gif)
175
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
176
![](/Images/OutliningIndicators/InBlock.gif)
177
![](/Images/OutliningIndicators/InBlock.gif)
178
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
179
![](/Images/OutliningIndicators/InBlock.gif)
180
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
181
![](/Images/OutliningIndicators/InBlock.gif)
182
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
183
![](/Images/OutliningIndicators/InBlock.gif)
184
![](/Images/OutliningIndicators/InBlock.gif)
185
![](/Images/OutliningIndicators/InBlock.gif)
186
![](/Images/OutliningIndicators/InBlock.gif)
187
![](/Images/OutliningIndicators/InBlock.gif)
188
![](/Images/OutliningIndicators/InBlock.gif)
189
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
190
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
191
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
192
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
193
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
194
![](/Images/OutliningIndicators/InBlock.gif)
195
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
196
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
197
![](/Images/OutliningIndicators/None.gif)
在实现这种方法时有一些感触,分享如下:
1.GridGriew中的DataView.sort属性排序时可以保存状态,DataGrid就不行,只能对当前页进行排序,所以每次实现这种功能时都把参数传到数据层.很郁闷.
2.忘記了,剛才還記得,哎記憶力不好了,想起來了再寫,要幹活了。
3.orderByName和orderByType之間要加空格
eg: DataView dv = dt.DefaultView;
dv.Sort = orderByName+" "+ orderByType;
4.向上向下的箭頭也可以換成圖片,webdings字體應該速度更快。
效果如下: