Bonjour,

j'affiche dans une page aspx un tableau de données en utilisant les composants liés suivants : DetailsView <- ObjectDataSource <- TableAdapter <- DataSet <- Bdd.

la méthode select de l'ods (ObjectDataSource) est définie dans la class partial de mon DataSet comme ci-dessous :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public virtual Teams.OrganizationDataTable GetOrganizationByHoldingId(
            System.Nullable<System.Guid> HoldingId,
            Teams.OrganizationDataTable dataTable,
            bool load)
{
    if (load)
    {
        this.Adapter.SelectCommand = this.CommandCollection[0];
        if ((HoldingId.HasValue == true))
        {
            this.Adapter.SelectCommand.Parameters[1].Value = ((System.Guid)(HoldingId.Value));
        }
        else
        {
            this.Adapter.SelectCommand.Parameters[1].Value = System.DBNull.Value;
        }
        this.Adapter.Fill(dataTable);
    }
    else
        dataTable.DefaultView.RowFilter = "OrganizationName like '%EMEA%'";
 
    return dataTable;
}
les valeurs des paramètres de la méthodes sont définit dans l'évênement OnSelecting :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
protected void odsOrganizations_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        if (bind)
        {
            Teams _ds = (Teams)Session["dsTeams"];
            e.InputParameters["dataTable"] = _ds.Organization;
            e.InputParameters["load"] = false;
        }
    }
mon pblm est que mon DetailsView ne tient pas compte du RowFilter appliqué sur le dataTable renvoyé à l'ObjectDataSource.

Est-ce que quelqu'un peut m'expliquer pourquoi ?

Merci de votre aide,

Stéphane