IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[2.0] : DetailsView / DataTable.DefaultView


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de stephane.net
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 170
    Par défaut [2.0] : DetailsView / DataTable.DefaultView
    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

  2. #2
    Membre confirmé Avatar de stephane.net
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 170
    Par défaut
    j'explique autrement...

    j'applique un RowFilter sur une dataTable qui est retournée à l'ObjectDataSource lié au DetailsView. Celui-ci ne fonctionne pas !?

    D'une autre manière si la dataTable est utilisée directement comme source de données du DetailsView, pas de pblm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dataTable.DefaultView.RowFilter = "OrganizationName like '%EMEA%'";
    detailsview.DataSource = dataTable;
    detailsview.dataBind();
    Help...

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/04/2011, 11h13
  2. [VB.NET][ADO]Fusionner des dataTables
    Par neo.51 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/07/2005, 00h22
  3. [VB.NET] Suppression de ligne dans un DataTable
    Par seemax dans le forum Windows Forms
    Réponses: 7
    Dernier message: 06/05/2004, 14h19
  4. Réponses: 2
    Dernier message: 20/02/2004, 08h47
  5. Réponses: 3
    Dernier message: 21/05/2003, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo