Hi!
Isn't the following code supposed to work? What I would expect is to get the Clients filtered according to the Season (Saison) DropDownList, but it does not work. Some filtering is happening but it seems to be random. I can select the same DropDownList item many times and get different results. What am I missing? Maybe my understanding of Filters is totally wrong. I also tried with Find instead of GetPaged and with:
<data:SqlParameter Name="Parameters">
instead of:
<data:SqlParameter Name="WhereClause"
UseParameterizedFilters="false">
but none of that worked.
Here is the ASPX code:
<p>
Saison:
<asp:DropDownList
ID="ddlSaison"
DataSourceID="SaisonDataSource"
DataValueField="SaisonID"
DataTextField="SaisonNomFR"
AutoPostBack="true"
AppendDataBoundItems="true"
OnSelectedIndexChanged="SaisonChanged"
runat="server">
<asp:ListItem Value="" Text="" Selected="True"
/>
</asp:DropDownList>
</p>
<data:ClientRepeater
ID="clientRepeater1"
runat="server"
DataSourceID="clientDataSource"
>
<HeaderTemplate>
<h1>List of clients</h1>
</HeaderTemplate>
<ItemTemplate>
<b><%# Container.ClientNom %></b><br />
<%#
Container.ClientDescriptionFR %>
<hr />
</ItemTemplate>
</data:ClientRepeater>
<data:ClientDataSource
ID="clientDataSource"
runat="server"
SelectMethod="GetPaged"
EnablePaging="False"
EnableSorting="False"
Sort="ClientNom
ASC"
>
<Parameters>
<data:SqlParameter Name="WhereClause"
UseParameterizedFilters="false">
<Filters>
<data:ClientFilter Column="SaisonID"
ControlID="ddlSaison"
PropertyName="SelectedValue"
ComparisionType="Equals"
/>
</Filters>
</data:SqlParameter>
</Parameters>
</data:ClientDataSource>
<data:SaisonDataSource ID="SaisonDataSource"
SelectMethod="getAll"
runat="server"
/>
And the code-behind:
protected void
Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlSaison.DataBind();
clientRepeater1.DataBind();
}
}
protected void
SaisonChanged(object sender, EventArgs e)
{
clientRepeater1.DataBind();
}
Cheers!
JF