code-beside方式绑定GridView后EnableSortingAndPagingCallbacks不工作
今天对GridView的学习中发现 当用 code-beside方式绑定GridView后(比如我绑一个DataTable)
EnableSortingAndPagingCallbacks不起作用。
在下面地址找到 一些说法
http://forums.asp.net/thread/1230450.aspx
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=103040
记之...
经过测试 如下方法 可用
EnableSortingAndPagingCallbacks不起作用。
在下面地址找到 一些说法
http://forums.asp.net/thread/1230450.aspx
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=103040
记之...
1 <asp:GridView id="Gridviewex1"
2 runat="server"
3 AllowSorting="True"
4 AutoGenerateColumns="False"
5 EnableSortingAndPagingCallbacks="True"
6 OnSorting="Gridviewex1_Sorting">
7 <Columns>
8 <asp:BoundField DataField="ProductId" HeaderText="ProductId" SortExpression="ProductId" />
9 <asp:BoundField DataField="ProductName" HeaderText="ProductName" SortExpression="ProductName" />
10 <asp:BoundField DataField="QuantityPerUnit" HeaderText="QuantityPerUnit" SortExpression="QuantityPerUnit" />
11 <asp:BoundField DataField="UnitsInStock" HeaderText="UnitsInStock" SortExpression="UnitsInStock" />
12 <asp:BoundField DataField="ReorderLevel" HeaderText="ReorderLevel" SortExpression="ReorderLevel" />
13 <asp:BoundField DataField="Discontinued" HeaderText="Discontinued" SortExpression="Discontinued" />
14 </Columns>
15 </aspx:GridView>
2 runat="server"
3 AllowSorting="True"
4 AutoGenerateColumns="False"
5 EnableSortingAndPagingCallbacks="True"
6 OnSorting="Gridviewex1_Sorting">
7 <Columns>
8 <asp:BoundField DataField="ProductId" HeaderText="ProductId" SortExpression="ProductId" />
9 <asp:BoundField DataField="ProductName" HeaderText="ProductName" SortExpression="ProductName" />
10 <asp:BoundField DataField="QuantityPerUnit" HeaderText="QuantityPerUnit" SortExpression="QuantityPerUnit" />
11 <asp:BoundField DataField="UnitsInStock" HeaderText="UnitsInStock" SortExpression="UnitsInStock" />
12 <asp:BoundField DataField="ReorderLevel" HeaderText="ReorderLevel" SortExpression="ReorderLevel" />
13 <asp:BoundField DataField="Discontinued" HeaderText="Discontinued" SortExpression="Discontinued" />
14 </Columns>
15 </aspx:GridView>
1 protected void Page_Load(object sender, EventArgs e)
2 {
3
4 if (!Page.IsPostBack)
5 {
6 this.BindGrid(string.Empty);
7 }
8 }
9
10 private void BindGrid(string sortExpression)
11 {
12 DataTable dt = new DataTable();
13 SqlConnection conn = new SqlConnection();
14 conn.ConnectionString = "server=wumeibo\\wmb;database=northwind;uid=sa;pwd=sa;";
15 SqlCommand cmd = new SqlCommand();
16 cmd.Connection = conn;
17 cmd.CommandType = CommandType.Text;
18 cmd.CommandText = "select * from products";
19 SqlDataAdapter adapter = new SqlDataAdapter();
20 adapter.SelectCommand = cmd;
21 adapter.Fill(dt);
22 DataView dv = dt.DefaultView;;
23 if (!string.IsNullOrEmpty(sortExpression))
24 {
25 dv = dt.DefaultView;
26 dv.Sort = sortExpression;
27 }
28 this.Gridviewex1.DataSource = dv;
29 this.Gridviewex1.DataBind();
30
31 }
32 protected void Gridviewex1_Sorting(object sender, GridViewSortEventArgs e)
33 {
34 BindGrid(e.SortExpression);
35 }
2 {
3
4 if (!Page.IsPostBack)
5 {
6 this.BindGrid(string.Empty);
7 }
8 }
9
10 private void BindGrid(string sortExpression)
11 {
12 DataTable dt = new DataTable();
13 SqlConnection conn = new SqlConnection();
14 conn.ConnectionString = "server=wumeibo\\wmb;database=northwind;uid=sa;pwd=sa;";
15 SqlCommand cmd = new SqlCommand();
16 cmd.Connection = conn;
17 cmd.CommandType = CommandType.Text;
18 cmd.CommandText = "select * from products";
19 SqlDataAdapter adapter = new SqlDataAdapter();
20 adapter.SelectCommand = cmd;
21 adapter.Fill(dt);
22 DataView dv = dt.DefaultView;;
23 if (!string.IsNullOrEmpty(sortExpression))
24 {
25 dv = dt.DefaultView;
26 dv.Sort = sortExpression;
27 }
28 this.Gridviewex1.DataSource = dv;
29 this.Gridviewex1.DataBind();
30
31 }
32 protected void Gridviewex1_Sorting(object sender, GridViewSortEventArgs e)
33 {
34 BindGrid(e.SortExpression);
35 }
经过测试 如下方法 可用
1 protected void Page_Load(object sender, EventArgs e)
2 {
3 xx();
4
5 }
6
7 private void xx()
8 {
9 SqlConnection conn = new SqlConnection();
10 conn.ConnectionString = "server=wumeibo\\wmb;database=northwind;uid=sa;pwd=sa;";
11
12 SqlDataSource source = new SqlDataSource();
13 source.ConnectionString = "server=wumeibo\\wmb;database=northwind;uid=sa;pwd=sa;";
14 source.SelectCommand = "select * from products";
15
16 this.Gridviewex1.DataSource = source;
17 this.Gridviewex1.DataBind();
18 }
2 {
3 xx();
4
5 }
6
7 private void xx()
8 {
9 SqlConnection conn = new SqlConnection();
10 conn.ConnectionString = "server=wumeibo\\wmb;database=northwind;uid=sa;pwd=sa;";
11
12 SqlDataSource source = new SqlDataSource();
13 source.ConnectionString = "server=wumeibo\\wmb;database=northwind;uid=sa;pwd=sa;";
14 source.SelectCommand = "select * from products";
15
16 this.Gridviewex1.DataSource = source;
17 this.Gridviewex1.DataBind();
18 }