1
我正在使用GridView,並且我要求用戶能夠使用2個控件進行過濾。一個簡單的過濾行的類型 - 有一個名爲action的列,用戶在下拉框中從數據庫中選擇一個不同的值,並且gridview只在行爲列中顯示具有該值的行。在它自己這個作品完美。過濾器表達式無法正常工作
但我還添加了一個文本框,用戶可以在其中鍵入'itemID'或'parentID'的ID。即使使用先前的控件,這也能正常工作。
問題是,當文本框爲空(即顯示所有ID)時,下拉框不起作用。如果我選擇一個值並單擊提交,它就不會執行任何操作。現在,如果我通過ID進行篩選,然後從下拉框中選擇一個值,那麼效果很好。
這是我的過濾器表達式和數據源的參數:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="cleared for privacy"
SelectCommand="SELECT * FROM [Audit] WHERE ([source] = @source)" FilterExpression="action like '{0}%' and (itemID like '{1}' or parentID like '{1}')">
<SelectParameters>
<asp:Parameter DefaultValue="LOGISTICS" Name="source" Type="String" />
</SelectParameters>
<FilterParameters>
<asp:ControlParameter Name="action" ControlID="DropDownList1" PropertyName="SelectedValue" />
<asp:ControlParameter Name="legorinvid" ControlID="txtFilter" PropertyName="Text" />
</FilterParameters>
</asp:SqlDataSource>
沒有文字終於找到一個合適的答案!多謝,夥計! – sbs 2013-04-04 19:50:09