Nu er den næsten på plads, men jeg skal lige have lidt hjælp til min FilterExpression.
Jeg har 2 dropdownlister, som henter filterværdier fra databasen. De fundne værdier vises når man trykker på en filtreringsknap. Problemet er, at jeg gerne ville have dropdownlisterne både til at fungere uafhængigt og sammen. Det vil sige, at hvis man vælger en værdi i første dropdown og lader anden dropdown urørt og trykker på knappen, findes værdier der matcher. Lader man værdien fra før stå i første dropdown stå og vælger en værdi fra anden dropdown og trykker på knappen findes værdier inden for angivne parametrer...er det forståligt?!? Denne funktion løser min nuværende FilterExpression ikke. Hvordan laver jeg det om?
Min kode ser ud som følger:
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="
http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<br />
<strong>Country City</strong><br />
<asp:DropDownList runat="server" id="CountryListBox" AppendDataBoundItems="True"
DataSourceID="CountrySqlDataSource"
DataTextField="Country" DataValueField="Country" >
<asp:ListItem Selected="True" Value="" >(Show All)</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList runat="server" id="CityListBox" AppendDataBoundItems="True"
DataSourceID="CitySqlDataSource"
DataTextField="City" DataValueField="City" >
<asp:ListItem Selected="True" Value="" >(Show All)</asp:ListItem>
</asp:DropDownList>
<asp:Button runat="server" id="FilterButton" Text="Filter Results" /><br />
<br />
<asp:GridView ID="EmployeesGridView"
DataSourceID="EmployeeDetailsSqlDataSource"
AutoGenerateColumns="False"
AllowSort="True"
RunAt="server" Width="800px" CaptionAlign="Left" HorizontalAlign="Left">
<HeaderStyle backcolor="Navy" forecolor="White"/>
<RowStyle backcolor="White"/>
<AlternatingRowStyle backcolor="LightGray"/>
<EditRowStyle backcolor="LightCyan"/>
<Columns>
<asp:BoundField DataField="EmployeeID" HeaderText="EmployeeID" InsertVisible="False"
ReadOnly="True" SortExpression="EmployeeID" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
<asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
<asp:BoundField DataField="Country" HeaderText="Country" SortExpression="Country" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="CountrySqlDataSource"
SelectCommand="SELECT DISTINCT Country FROM Employees"
EnableCaching="True"
CacheDuration="60"
ConnectionString="<%$ ConnectionStrings:NORTHWINDConnectionString %>"
RunAt="server" ProviderName="<%$ ConnectionStrings:NORTHWINDConnectionString.ProviderName %>" />
<asp:SqlDataSource ID="CitySqlDataSource"
SelectCommand="SELECT DISTINCT City FROM Employees"
EnableCaching="True"
CacheDuration="60"
ConnectionString="<%$ ConnectionStrings:NORTHWINDConnectionString %>"
RunAt="server" ProviderName="<%$ ConnectionStrings:NORTHWINDConnectionString.ProviderName %>" />
<asp:SqlDataSource ID="EmployeeDetailsSqlDataSource"
SelectCommand="SELECT [EmployeeID], [LastName], [FirstName], [Country], [City] FROM [Employees]"
EnableCaching="True"
CacheDuration="60"
ConnectionString="<%$ ConnectionStrings:NORTHWINDConnectionString %>"
FilterExpression="Country LIKE '{0}' AND City LIKE '{1}'"
RunAt="server" ProviderName="<%$ ConnectionStrings:NORTHWINDConnectionString.ProviderName %>">
<FilterParameters>
<asp:ControlParameter ControlID="CountryListBox" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="CityListBox" PropertyName="SelectedValue" />
</FilterParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>