麻烦帮忙解释一下关于SortExpression的用法问题

请教一下,GridView里面的每个BoundField里面都有一个SortExpression,那排序的时候是按照哪一个表达式去排啊?其实我不大明白SortExpression有什么用的...是不是类似于字典那样的排序,每个表达式都有用的?还是只有其中一个表达式有用?

素胚勾勒不出你
浏览 400回答 2
2回答

凤凰求蛊

排序字段,点击定义了该属性的字段名,可以获得该字段的排序规则,并产生排序事件,修改dataset(数据源)的视图状态,以该字段为规则进行排序还有同时常用到的属性:SortDirection下面这个例子可以很好的看出它的用法:protected void kjkm_dg_SortCommand(object source, DataGridSortCommandEventArgs e){string SortExpression = e.SortExpression.ToString(); //获得当前排序表达式string SortDirection = "ASC"; //为排序方向变量赋初值if (SortExpression == kjkm_dg.Attributes["SortExpression"]) //如果为当前排序列{SortDirection = (kjkm_dg.Attributes["SortDirection"].ToString() == SortDirection ? "DESC" : "ASC"); //获得下一次的排序状态}kjkm_dg.Attributes["SortExpression"] = SortExpression;kjkm_dg.Attributes["SortDirection"] = SortDirection;mikecatbind();}

qq_笑_17

GridView.SortExpression 属性 是用来获取与正在排序的列关联的排序表达式。下面是例子你看看吧。<%@ Page language="C#" %><script runat="server">void CustomersGridView_RowCreated(Object sender, GridViewRowEventArgs e){// Use the RowType property to determine whether the// row being created is the header row.if (e.Row.RowType == DataControlRowType.Header){// Call the GetSortColumnIndex helper method to determine// the index of the column being sorted.int sortColumnIndex = GetSortColumnIndex();if (sortColumnIndex != -1){// Call the AddSortImage helper method to add// a sort direction image to the appropriate// column header.AddSortImage(sortColumnIndex, e.Row);}}}// This is a helper method used to determine the index of the// column being sorted. If no column is being sorted, -1 is returned.int GetSortColumnIndex(){// Iterate through the Columns collection to determine the index// of the column being sorted.foreach (DataControlField field in CustomersGridView.Columns){if (field.SortExpression == CustomersGridView.SortExpression){return CustomersGridView.Columns.IndexOf(field);}}return -1;}// This is a helper method used to add a sort direction// image to the header of the column being sorted.void AddSortImage(int columnIndex, GridViewRow headerRow){// Create the sorting image based on the sort direction.Image sortImage = new Image();if (CustomersGridView.SortDirection == SortDirection.Ascending){sortImage.ImageUrl = "~/Images/Ascending.jpg";sortImage.AlternateText = "Ascending Order";}else{sortImage.ImageUrl = "~/Images/Descending.jpg";sortImage.AlternateText = "Descending Order";}// Add the image to the appropriate header cell.headerRow.Cells[columnIndex].Controls.Add(sortImage);}</script><html><body><form runat="server"><h3>GridView AllowSorting Example</h3><asp:gridview id="CustomersGridView"datasourceid="CustomersSource"autogeneratecolumns="false"emptydatatext="No data available."allowsorting="true"onrowcreated="CustomersGridView_RowCreated"runat="server"><columns><asp:boundfield datafield="CustomerID"headertext="Customer ID"headerstyle-wrap="false"sortexpression="CustomerID"/><asp:boundfield datafield="CompanyName"headertext="CompanyName"headerstyle-wrap="false"sortexpression="CompanyName"/><asp:boundfield datafield="Address"headertext="Address"headerstyle-wrap="false"sortexpression="Address"/><asp:boundfield datafield="City"headertext="City"headerstyle-wrap="false"sortexpression="City"/><asp:boundfield datafield="PostalCode"headertext="Postal Code"headerstyle-wrap="false"sortexpression="PostalCode" /><asp:boundfield datafield="Country"headertext="Country"headerstyle-wrap="false"sortexpression="Country"/></columns></asp:gridview><!-- This example uses Microsoft SQL Server and connects --><!-- to the Northwind sample database. Use an ASP.NET --><!-- expression to retrieve the connection string value --><!-- from the Web.config file. --><asp:sqldatasource id="CustomersSource"selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"runat="server"/></form></body></html>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS
Java