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 :

Masquer certaines lignes d'un datagrid


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Par défaut Masquer certaines lignes d'un datagrid
    Bonjour,
    je souhaiterais masquer certaines lignes au load de mon datagrid en appelant une fonction qui "filtre" les données d'après certains critères.
    Voici ma fonction :
    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
    24
    25
    26
    27
    28
    Public Sub CacheLigne(ByVal monobject As System.Object, _
        ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)
     
            Dim SQLRow As DataRow
            Dim Index As Integer = 0
            Dim ServDemandeur As String
     
     
            For Each SQLRow In monobject.Rows
     
                If ExceptionVrai = True Then
                    ServDemandeur = CType(monobject.FindControl("Service_1"), Label).Text
                ElseIf ExceptionVrai = False Then
                    ServDemandeur = CType(monobject.FindControl("Service_2"), Label).Text
                End If
     
     
                If Direction = "A" Or Direction = "CG" _
                Or Direction2 = ServDemandeur Then
                    monobject.Rows(Index).Visible = True
                Else
                    monobject.Rows(Index).Visible = False
                End If
     
                Index += 1
            Next
     
    End Sub

    J'aimerais savoir comment l'appeler dans le datagrid lui-même, au même titre qu'une fonction qu'on appelle dans un ImageButton (onCommand) de mon datagrid, à savoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <ASP:TEMPLATECOLUMN>
    <ITEMTEMPLATE>
    <ASP:IMAGEBUTTON id="IMGvoir" Runat="server" AlternateText="Voir la D.A" ImageUrl="img/voir.gif" 
    CommandArgument='<%# DataBinder.Eval(Container,"DataItem.Numero_DA")%>' 
    OnCommand="VoirDA" CommandName=Voir">
    </ASP:IMAGEBUTTON>
    </ITEMTEMPLATE>
    </ASP:TEMPLATECOLUMN>
    Est-ce possible?
    Par avance, merci pour votre aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Par défaut
    J'ai trouvé la réponse à ma question
    J'ai fait un filtre au niveau du datable finalement avec un datatable.select(...)
    J'avais déjà vu cette solution sur le forum mais je pensais qu'une autre manière existait. Autant pour moi.
    Voici le code pour ceux que ça peut aider:

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
                    Dim ServDemandeur As String
                    Dim StrSelect As String
     
                    If ExceptionVrai = True Then
                        ServDemandeur = Direction
                        StrSelect = "Service_1='" & ServDemandeur & "'"
                    ElseIf ExceptionVrai = False Then
                        ServDemandeur = Service
                        StrSelect = "Service_2='" & ServDemandeur & "'"
                    End If
     
                    myAdapter.SelectCommand() = Commande
                    myAdapter.Fill(myDataset, "informations")
     
                    myDataTable = myDataset.Tables("informations")
     
                    Dim SQLRow As DataRow
                    Dim maSelection As DataRow()
                    Dim newMyDataTable As DataTable = myDataTable.Clone()
     
                    If Direction = "A" Or Direction = "CG" Then
                    'Si service A ou CG alors pas de filtre
                        maSelection = myDataTable.Select()
                    Else
                    'sinon filtré sur le service
                        maSelection = myDataTable.Select(StrSelect)
                    End If
     
     
                    For Each SQLRow In maSelection
                        newMyDataTable.ImportRow(SQLRow)
                    Next
     
     
                    DataGrid1.DataSource = newMyDataTable
                    DataGrid1.DataBind()
    @ bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Afficher/Masquer certaines lignes
    Par Un Internaute dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/12/2014, 14h11
  2. Masquer des lignes dans un datagrid
    Par giraud vias dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/01/2011, 07h39
  3. Datagridview: Masquer des cellules sur certaines lignes
    Par boby62423 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 27/04/2009, 14h57
  4. Masquer certaines lignes sur un etat
    Par badara2 dans le forum Access
    Réponses: 3
    Dernier message: 15/10/2005, 19h24

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