sqldatasource的FilterExpression用法

1、一种是简单的单个字段查找法:

<asp:DropDownList ID="ddlSelect" runat="server">
        <asp:ListItem Value ="Fumi_NO">流水号</asp:ListItem>
        <asp:ListItem Value ="Ent_Cname">企业名称</asp:ListItem>
        </asp:DropDownList>
       
        <asp:textbox id="txtcont" runat="server" text="" />
       
        <asp:Button ID="search" runat="server" Text="查找" OnClick="Search_Click" />

       
    <asp:GridView ID="GridView1"  runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Fumi_NO" DataSourceID="ObjectDataSource1">
        <Columns>
            <asp:BoundField DataField="Fumi_NO" HeaderText="流水号" ReadOnly="True" SortExpression="Fumi_NO"  />
            <asp:BoundField DataField="Reg_Date" HeaderText="登记日期" SortExpression="Reg_Date" HtmlEncode="False"   DataFormatString="{0:yyyy-MM-dd}" />
            <asp:BoundField DataField="Ent_CName" HeaderText="企业名称" SortExpression="Ent_CName" />
            <asp:BoundField DataField="Goods_Name" HeaderText="货物名称" SortExpression="Goods_Name" />
            <asp:BoundField DataField="Goods_Num" HeaderText="货物数量" SortExpression="Goods_Num" />
            <asp:BoundField DataField="AppFumi_Date" HeaderText="除害日期" SortExpression="AppFumi_Date"  HtmlEncode="False"   DataFormatString="{0:yyyy-MM-dd}" />
            <asp:BoundField DataField="Status_Name" HeaderText="状态" SortExpression="Status_Name" />
         </Columns>
    </asp:GridView>

 

代码页:

Protected Sub Search_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        ddlSel = ddlSelect.SelectedValue
        ObjectDataSource1.FilterExpression = ddlSel & " like '%{0}%'"
        If txtcont.Text = "" Then

            ObjectDataSource1.FilterParameters.Clear()
            ObjectDataSource1.FilterParameters.Add(ddlSel, "")
            'e.ParameterValues.Add(ddlSel, " ")
        Else
            ObjectDataSource1.FilterParameters.Clear()
            ObjectDataSource1.FilterParameters.Add(ddlSel, txtcont.Text)
            'ObjectDataSource1.FilterParameters(ddlSel).DefaultValue = Textbox1.Text

        End If

    End Sub

 第二种用于组合查询:

 asp:Label ID="Label14" Runat="server" Text="工作流程查询" SkinID="FormHeading"></asp:Label>
        <br />
        <br />
        <br />
    <asp:DropDownList ID="ddlname" runat="server">
        <asp:ListItem Value="Fumi_NO">流水号</asp:ListItem>
        <asp:ListItem Value="Decl_NO">报检号</asp:ListItem>
        <asp:ListItem Value="Ent_CName">企业名称</asp:ListItem>
        <asp:ListItem Value="Goods_Name">商品名称</asp:ListItem>
        <asp:ListItem Value ="App_Date">申请日期</asp:ListItem>
        <asp:ListItem Value ="Plan_Date">生成方案日期</asp:ListItem>
        <asp:ListItem Value ="Action_Date">实施日期</asp:ListItem>
        <asp:ListItem Value ="ChargeDate">收费日期</asp:ListItem>
    </asp:DropDownList>
   
    <asp:DropDownList ID="ddlExpress" runat="server">
        <asp:ListItem Value="=">等于</asp:ListItem>
        <asp:ListItem Value ="like">相似</asp:ListItem>
        <asp:ListItem Value =">">大于</asp:ListItem>
        <asp:ListItem Value ="<">小于</asp:ListItem>
        <asp:ListItem Value ="!=">不等于</asp:ListItem>
    </asp:DropDownList>
   
 
    <asp:TextBox ID="txtCondition" runat="server"></asp:TextBox>
  
   
      <asp:DropDownList ID="ddlAndOr" runat="server" >
      <asp:ListItem ></asp:ListItem>
         <asp:ListItem Value="and">并且</asp:ListItem>
        <asp:ListItem Value ="or">或者</asp:ListItem>
      
     
    </asp:DropDownList>
     <br />
    &nbsp;
    <asp:TextBox ID="txtSQLContent" runat="server" TextMode="MultiLine"></asp:TextBox>
    <br />
   
    <asp:Button ID="BtnAddSQL" runat="server" Text="加入" />
    <asp:Button ID="BtnClrSQL" runat="server" Text="清除" />
    <br />
    <asp:Button ID="BtnQuery" runat="server" Text="查询" /><br />
    
       <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
        AutoGenerateColumns="False" DataKeyNames="Fumi_NO" DataSourceID="SqlDataSource1" Width="800px" PageSize="5">
        <Columns>
            <asp:CommandField ShowSelectButton="True" />
            <asp:BoundField DataField="Fumi_NO" HeaderText="流水号" ReadOnly="True" SortExpression="Fumi_NO" />
            <asp:BoundField DataField="Decl_NO" HeaderText="报检号" SortExpression="Decl_NO" />
            <asp:BoundField DataField="Ent_CName" HeaderText="企业" SortExpression="Ent_CName" />

            <asp:BoundField DataField="App_Date" HeaderText="申请日期" SortExpression="App_Date"  HtmlEncode="False"   DataFormatString="{0:yyyy-MM-dd}" />
         
            <asp:BoundField DataField="Plan_Date" HeaderText="方案日期" SortExpression="Plan_Date"  HtmlEncode="False"   DataFormatString="{0:yyyy-MM-dd}" />
          
            <asp:BoundField DataField="Action_Date" HeaderText="实施日期" SortExpression="Action_Date"  HtmlEncode="False"   DataFormatString="{0:yyyy-MM-dd}" />
          
            <asp:BoundField DataField="FirstExamDate" HeaderText="首次审核" SortExpression="FirstExamDate"  HtmlEncode="False"   DataFormatString="{0:yyyy-MM-dd}" />
            <asp:BoundField DataField="LastExamDate" HeaderText="最后审核" SortExpression="LastExamDate"  HtmlEncode="False"   DataFormatString="{0:yyyy-MM-dd}" />
            <asp:BoundField DataField="ChargeDate" HeaderText="计费日期" SortExpression="ChargeDate"  HtmlEncode="False"   DataFormatString="{0:yyyy-MM-dd}" />
          
        </Columns>
    </asp:GridView>

 

相关代码页内容:

Protected Sub BtnAddSQL_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnAddSQL.Click
        If ddlExpress.SelectedValue = "like" Then
            txtSQLContent.Text = txtSQLContent.Text & " " & ddlAndOr.SelectedValue.ToString & " " & ddlname.SelectedValue.ToString & " " & ddlExpress.SelectedValue.ToString & " '%" & txtCondition.Text & "%' "
        Else
            txtSQLContent.Text = txtSQLContent.Text & " " & ddlAndOr.SelectedValue.ToString & " " & ddlname.SelectedValue.ToString & " " & ddlExpress.SelectedValue.ToString & " '" & txtCondition.Text & "' "
        End If

    End Sub

Protected Sub BtnQuery_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnQuery.Click
        SqlDataSource1.FilterExpression = txtSQLContent.Text
        GridView1.DataBind()
    End Sub

    Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
        SqlDataSource1.FilterExpression = txtSQLContent.Text
        GridView1.DataBind()
    End Sub

    Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
        '解决报检号在导出后格式不对的问题
        If e.Row.RowType = DataControlRowType.DataRow Then
            e.Row.Cells(2).Attributes.Add("style", "vnd.ms-excel.numberformat:@;")
            '@表示文本,G/通用格式 表示 常规,0.00_):[红色](0.00) 表示 小数,
        End If
    End Sub

    Protected Sub GridView1_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles GridView1.Sorting
        SqlDataSource1.FilterExpression = txtSQLContent.Text
        GridView1.DataBind()
    End Sub

 Protected Sub BtnClrSQL_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnClrSQL.Click
        txtSQLContent.Text = ""
    End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值