QueryExtender控件之OrderByExpression

本文部分摘自《ASP.NET4权威指南》

前面我们讲过,QueryExtender 控件支持多种可用于筛选数据的选项。但在使用筛选器选项之后,你还可以使用 OrderByExpression 对象来排序数据。其中,OrderByExpression 类可以按指定列和排序方向对数据进行排序

在使用OrderByExpression时,你可以使用它的DataField 属性指定要排序的数据字段;使用 Direction 属性指定排序方向。OrderByExpression 对象应用到数据源后,你还可以使用 ThenBy 表达式对另一个数据字段执行后续排序。

下面的示例程序演示了如何在ASP.NET4数据库的Employee数据表的Department列中,搜索员工部门等于SearchTextBox文本框中指定的字符串开头的员工信息。其中,OrderByExpression 对象按Workdate数据字段的降序和 EmployeeID字段的升序对数据排序。最后从LinqDataSource 控件返回的结果显示在 GridView 控件中。如代码清单10-6所示:

代码清单10-6OrderByExpressionTest.aspx

  
  
  
  
  1. <form id="form1" runat="server"> 
  2. 搜索员工部门:  
  3. <asp:TextBox ID="SearchTextBox" runat="server" /> 
  4. <asp:Button ID="Button1" runat="server" Text="搜索" /> 
  5. <br /> 
  6. <br /> 
  7. <asp:LinqDataSource ID="LinqDataSource1" TableName="Employees" 
  8.  runat="server" ContextTypeName="_10_2.EmployeesDataContext" 
  9.   EntityTypeName="" Select="new (employeeid, employeename,  
  10.  department, address, email, workdate)"> 
  11. </asp:LinqDataSource> 
  12. <asp:QueryExtender ID="QueryExtender1" runat="server" 
  13.  TargetControlID="LinqDataSource1"> 
  14.     <asp:SearchExpression SearchType="StartsWith" 
  15.  DataFields="department"> 
  16.         <asp:ControlParameter ControlID="SearchTextBox" /> 
  17.     </asp:SearchExpression> 
  18.     <asp:OrderByExpression DataField="workdate"   
  19. Direction="Descending"> 
  20.         <asp:ThenBy DataField="employeeid"   
  21. Direction="Ascending" /> 
  22.     </asp:OrderByExpression> 
  23. </asp:QueryExtender> 
  24. <asp:GridView ID="GridView1" runat="server" Width="100%" 
  25.  DataSourceID="LinqDataSource1" 
  26.  AllowPaging="True" AutoGenerateColumns="False" 
  27.  DataKeyNames="employeeid"> 
  28.     <Columns> 
  29.         <asp:BoundField DataField="employeeid" HeaderText="编号" 
  30.  ReadOnly="True" SortExpression="employeeid" /> 
  31.         <asp:BoundField DataField="employeename" HeaderText="姓名" 
  32.  SortExpression="employeename" /> 
  33.         <asp:BoundField DataField="department" HeaderText="部门" 
  34.  SortExpression="department" /> 
  35.         <asp:BoundField DataField="address" HeaderText="住址" 
  36.  SortExpression="address" /> 
  37.         <asp:BoundField DataField="email" HeaderText="邮箱" 
  38.  SortExpression="email" /> 
  39.         <asp:BoundField DataField="workdate" HeaderText="工作时间" 
  40.  SortExpression="workdate" /> 
  41.     </Columns> 
  42. </asp:GridView> 
  43. </form>    


示例运行结果图10-25所示:

 

10-25:示例运行结果

本文部分摘自《ASP.NET4权威指南》

你可能感兴趣的:(职场,休闲,asp.net4,QueryExtender)