0
我想用5個不同的參數過濾我的gridview。我可以讓它正常工作,但是當我將「全部」添加到下拉列表中時會出現問題。如果我在下拉列表中選擇全部,我無法再過濾。它會顯示一切結果,但過濾不起作用。我的過濾器表達式或控制參數中是否有錯誤?如何過濾5個參數,包括使用過濾器表達式的下拉列表?
這是我目前的下拉列表:
<asp:DropDownList ID="DDL1" runat="server" AutoPostBack="true"
DataTextField="Tab" DataValueField="Tab" AppendDataBoundItems="true" >
<asp:ListItem Value="">All</asp:ListItem>
<asp:ListItem Value="Tr">Tr</asp:ListItem>
<asp:ListItem Value="Out">Out</asp:ListItem>
<asp:ListItem Value="In">In</asp:ListItem>
</asp:DropDownList>
這是我對過濾來源:
<asp:SqlDataSource
SelectCommand="SELECT * FROM Log ORDER BY TimeStamp DESC"
FilterExpression="Com LIKE '%{0}%' AND Usr LIKE '%{1}%'
AND Tab = '{2}' AND TimeStamp >= '#{3}#' AND TimeStamp <= '#{4}#'">
<FilterParameters>
<asp:ControlParameter ControlID="TB1" Name="Com" PropertyName="Text" Type="String"
ConvertEmptyStringToNull="false" />
<asp:ControlParameter ControlID="TB2" Name="Usr" PropertyName="Text" Type="String"
ConvertEmptyStringToNull="false" />
<asp:ControlParameter Name="Tab" ControlID="DDL1"
PropertyName="SelectedValue" ConvertEmptyStringToNull="true"/>
<asp:ControlParameter Name="Date" ControlID="DateFrom" Type="DateTime" PropertyName="Text"
ConvertEmptyStringToNull="false" />
<asp:ControlParameter Name="Date" ControlID="DateTo" Type="DateTime"
PropertyName="Text" ConvertEmptyStringToNull="false" />
</FilterParameters> </asp:SqlDataSource>
的所有 ASP:列表項>顯示我的東西,當你選擇你的SelectedValue是空的ALL和onvertEmptyStringToNull =「true」正在轉換爲NULL。當你有NULL時,我不認爲它會作爲一個字符串'NULL'工作,而是會搜索'NULL'值但不爲NULL的記錄。 –
Sailor
我試過讓它錯誤,它也沒有工作。仍然試圖找出我需要修改我的代碼 –