asp SqlDataSource Filter Expression; несколько полей поиска - PullRequest
1 голос
/ 21 июня 2011

Я пытаюсь выполнить один поиск по одному столбцу данных в asp:GridView, однако я хочу, чтобы над каждым столбцом было несколько полей фильтра (поиска), чтобы можно было искать в своем собственном столбце перспективы.Что бы теоретически исправить это теоретически, это иметь несколько FilterExpressions.Я использую VB, и я очень новичок, и его легко неправильно понять с помощью VB. Пожалуйста, укажите:

PS.Я получил, чтобы это работало без проблем, когда есть только ОДИН фильтр (поиск), это в настоящее время ничего не делает

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="xxx" 
    ProviderName="xxxx" 
    SelectCommand="SELECT [ddiID], [volusionID], [Customer], [email], [Total], [SumOfTotal] FROM [BBnewsalesQry] ORDER BY [Customer]"
    FilterExpression="customer like '%{0}%' OR ddiID like '%{0}%'">
      <FilterParameters>
         <asp:ControlParameter Name="ddiID" ControlID="ddiIDSearch" PropertyName="Text" />
         <asp:ControlParameter Name="customer" ControlID="txtSearch" PropertyName="Text" />
      </FilterParameters>
</asp:SqlDataSource>
<div>
   <b>DDI Search:</b> <asp:TextBox ID="ddiIDSearch" runat="server" />
   <b>Customer Search:</b> <asp:TextBox ID="txtSearch" runat="server" />
   <asp:ImageButton ID="btnSearch" ImageUrl="http:xxx" runat="server" />
   <asp:ImageButton ID="btnClear" ImageUrl="http:xxx" runat="server" />
</div>

Затем внутри GridView:

<asp:TemplateField HeaderText="ddiID" SortExpression="ddiID">
        <ItemStyle HorizontalAlign="Left" />
           <ItemTemplate>
              <asp:Label ID="lblddiid" Text='<%#HighlightText(Eval("ddiid")) %>' 
                        CssClass="TextField" runat="server" />
           </ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="volusionID" HeaderText="volusionID" ReadOnly="True" SortExpression="volusionID" />
<asp:TemplateField HeaderText="customer" SortExpression="customer">
         <ItemStyle HorizontalAlign="Left" />
           <ItemTemplate>
              <asp:Label ID="lblcustomer" Text='<%#HighlightText(Eval("customer")) %>' 
                        CssClass="TextField" runat="server" />
           </ItemTemplate>
</asp:TemplateField>

Ответы [ 2 ]

6 голосов
/ 21 января 2012

вы ссылаетесь на один и тот же параметр дважды - попробуйте следующее:

FilterExpression="customer like '%{0}%' OR ddiID like '%{1}%'"
0 голосов
/ 05 февраля 2015

Я решил проблему создания двух или более слов «Like» в выражении «Where», используя:

Where CHARINDEX(@Par1, Col1)<>0) and ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...