zoukankan      html  css  js  c++  java
  • QueryExtender控件之RangeExpression

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

    RangeExpression 类与SearchExpression 类相似,不同之处在于RangeExpression 类使用了一对值来定义范围,以确定列中的值是否在指定的最小值和最大值之间。例如,可以在表的“单价”列中搜索介于 10元和 100元之间的值。

    在使用RangeExpression时,你必须使用 DataField 属性指定要搜索的列;使用MinType属性指定是否在搜索结果中包括或排除最小值;使用MaxType属性指定是否包括或排除最大值。其中,MinType属性与MaxType的值包括 InclusiveExclusive None。当 MinType 属性或 MaxType 属性设置为 Inclusive 时,范围的最大值和最小值包括在搜索结果中,这相当于执行一个 >= <= 运算;Exclusive 字段等效于 > < 运算;None 将不会对范围施加任何限制。最大值和最小值可以通过在页面中使用 ASP.NET 控件来指定,然后将该值作为 ControlParameter 控件中的参数传递到 QueryExtender 控件。

    下面的示例程序演示了如何在ASP.NET4数据库的Employee数据表的EmployeeID列中,搜索员工编号位于 FromTextBox ToTextBox 文本框指定的范围内的员工信息。其中,筛选器包括最小值,但不包括结果中的最大值。最后,从LinqDataSource 控件返回的结果显示在 GridView 控件中。如代码清单10-4所示:

    代码清单10-4RangeExpressionTest.aspx

    代码
    <form id="form1" runat="server">
    搜索员工编号:
    <asp:TextBox ID="FromTextBox" runat="server"></asp:TextBox>

    <asp:TextBox ID="ToTextBox" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="搜索" />
    <br />
    <br />
    <asp:LinqDataSource ID="LinqDataSource1" 
    TableName
    ="Employees" runat="server" 
    ContextTypeName
    ="_10_2.EmployeesDataContext"
      EntityTypeName
    ="" Select="new (employeeid, employeename,
     department, address, email, workdate)">
    </asp:LinqDataSource>
    <asp:QueryExtender ID="QueryExtender1" runat="server"
     TargetControlID
    ="LinqDataSource1">
        
    <asp:RangeExpression DataField="employeeid"
     MinType
    ="Inclusive" MaxType="Exclusive">
            
    <asp:ControlParameter ControlID="FromTextBox" />
            
    <asp:ControlParameter ControlID="ToTextBox" />
        
    </asp:RangeExpression>
    </asp:QueryExtender>
    <asp:GridView ID="GridView1" runat="server" Width="100%"
     DataSourceID
    ="LinqDataSource1"
        AllowPaging
    ="True" AutoGenerateColumns="False"
     DataKeyNames
    ="employeeid">
        
    <Columns>
            
    <asp:BoundField DataField="employeeid" HeaderText="编号"
     ReadOnly
    ="True" SortExpression="employeeid" />
            
    <asp:BoundField DataField="employeename" HeaderText="姓名"
     SortExpression
    ="employeename" />
            
    <asp:BoundField DataField="department" HeaderText="部门"
     SortExpression
    ="department" />
            
    <asp:BoundField DataField="address" HeaderText="住址" 
    SortExpression
    ="address" />
            
    <asp:BoundField DataField="email" HeaderText="邮箱"
     SortExpression
    ="email" />
            
    <asp:BoundField DataField="workdate" HeaderText="工作时间"
     SortExpression
    ="workdate" />
        
    </Columns>
    </asp:GridView>
    </form>

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

                                                                       

    10-23:示例运行结果

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

  • 相关阅读:
    我自己开发的工具,打印出百度贴吧某用户发表过的所有帖子
    The Smart Field Service Prototype powered by SAP FSM and Wechat
    如何阻止SAP CRM订单创建好之后,自动被置为传输状态这一行为
    C++ Primer读书笔记(3)
    C++ Primer读书笔记(2)
    Coursera台大机器学习技法课程笔记08-Adaptive Boosting
    计算机视觉目标检测的框架与过程(转)
    目标检测的图像特征提取之(一)HOG特征(转)
    Coursera台大机器学习技法课程笔记07-Blending and Bagging
    前景检测(1):VIBE
  • 原文地址:https://www.cnblogs.com/madengwei/p/1873031.html
Copyright © 2011-2022 走看看