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 :

pagination gridview sans sqldata source


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 34
    Par défaut pagination gridview sans sqldata source
    bonjour

    je réalise un petit projet.

    en gros j'ai 3 champs textbox et un gridview.

    les 3 champs servent a filtrer le gridview. mais prend en compte que le user ne sait pas forcement la valeur qu'il doit rentrer dnas les 3 champs.
    normalement je devrais donc creer plusieurs filtre et donc plusier sqldatasource, mais je ne trouve pas ca super...
    donc je definit les filtre dans le code behind avec des if else avec comme condition textbox.text=="" alors on ne prend pas compte le filtre.

    le probleme est que je définis donc les sqlsource.selectcommand dans le code behind puisque en fonction des text box que le user rentre la clause WHERE de la requete sera plus ou moins complete.

    eh donc en gros si j'ai bien compris la pagination et le sorting ne marche pas, puisque ils ne sont pas lier dnas le code in-line.

    et donc quand je veux passer a la page 2 de mon data grid ben il y a rien dutout. c'ets un peu embettant.

    j'ai essayer de redéfinir la pagination dans le code behind avec les évènement pageindexchanging mais ca marche pas...



    Voici mon code behind
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    protected void Button1_Click3(object sender, EventArgs e)
        {
           // SqlDataSource1.SelectParameters.Clear();
            //SqlDataSource1.SelectCommand = "";
     
            if (TextBox1.Text != "" && TextBox2.Text !="" && TextBox3.Text != "")
            {
                SqlDataSource1.SelectParameters.Add("TVA", TypeCode.String, TextBox1.Text);
                SqlDataSource1.SelectParameters.Add("NACE", TypeCode.String, TextBox2.Text);
                SqlDataSource1.SelectParameters.Add("CODE", TypeCode.String, TextBox3.Text);
                SqlDataSource1.SelectCommand = "SELECT [NUM], [TVA], [NACE], [ANNEE], [CP], [PATRON], [ADRESSE], [LOCALITE], [codep], [A_20_28], [A_20] FROM [BIL_2007] WHERE (([TVA] = @TVA) AND ([NACE] = @NACE) AND ([CODEp] = @CODEp))";
     
     
     
     
            }
            else
            {
                if (TextBox1.Text == "" && TextBox2.Text != "" && TextBox3.Text != "")
                {
     
                    SqlDataSource1.SelectParameters.Add("NACE", TypeCode.String, TextBox2.Text);
                    SqlDataSource1.SelectParameters.Add("CODE", TypeCode.String, TextBox3.Text);
                    SqlDataSource1.SelectCommand = "SELECT [NUM], [TVA], [NACE], [ANNEE], [CP], [PATRON], [ADRESSE], [LOCALITE], [CODEp], [A_20_28], [A_20] FROM [BIL_2007] WHERE ( ([NACE] = @NACE) AND ([CODEp] = @CODEp))";
     
     
     
                }
                else
                {
                    if (TextBox1.Text == "" && TextBox2.Text == "" && TextBox3.Text != "")
                    {
     
                        SqlDataSource1.SelectParameters.Add("CODE", TypeCode.String, TextBox3.Text);
                        SqlDataSource1.SelectCommand = "SELECT [NUM], [TVA], [NACE], [ANNEE], [CP], [PATRON], [ADRESSE], [LOCALITE], [CODEp], [A_20_28], [A_20] FROM [BIL_2007] WHERE (([CODEp] = @CODEp))";
     
     
     
                    }
     
                        else
                        {
                            if(TextBox1.Text != "" && TextBox2.Text == "" && TextBox3.Text == "")
                            {
                                SqlDataSource1.SelectParameters.Add("TVA", TypeCode.String, TextBox1.Text);
                        SqlDataSource1.SelectCommand = "SELECT [NUM], [TVA], [NACE], [ANNEE], [CP], [PATRON], [ADRESSE], [LOCALITE], [CODEp], [A_20_28], [A_20] FROM [BIL_2007] WHERE (([TVA] = @TVA))";
                            }
                        }
     
     
     
                }
     
            }
     
        }
    et mon code in-line

    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
    <asp:GridView ID="GridView2" runat="server" AllowPaging="True" 
            AutoGenerateColumns="False" DataSourceID="SqlDataSource1" CellPadding="4" 
            ForeColor="#333333" GridLines="None" 
            onpageindexchanging="GridView2_PageIndexChanging" >
     
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <Columns>
                <asp:BoundField DataField="NUM" HeaderText="NUM" SortExpression="NUM" />
                <asp:BoundField DataField="TVA" HeaderText="TVA" SortExpression="TVA" />
                <asp:BoundField DataField="NACE" HeaderText="NACE" SortExpression="NACE" />
                <asp:BoundField DataField="ANNEE" HeaderText="ANNEE" SortExpression="ANNEE" />
                <asp:BoundField DataField="CP" HeaderText="CP" SortExpression="CP" />
                <asp:BoundField DataField="PATRON" HeaderText="PATRON" 
                    SortExpression="PATRON" />
                <asp:BoundField DataField="ADRESSE" HeaderText="ADRESSE" 
                    SortExpression="ADRESSE" />
                <asp:BoundField DataField="LOCALITE" HeaderText="LOCALITE" 
                    SortExpression="LOCALITE" />
                <asp:BoundField DataField="CODE" HeaderText="CODE" SortExpression="CODE" />
                <asp:BoundField DataField="A_20_28" HeaderText="A_20_28" 
                    SortExpression="A_20_28" />
                <asp:BoundField DataField="A_20" HeaderText="A_20" SortExpression="A_20" />
            </Columns>
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#999999" />
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        </asp:GridView>

    merci de bien vouloir m'aider

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    Salut,

    pour que ton filtre fonctionne tu dois "rebinder" (rafraichir) ton datagrid avec les nouveaux parametres.

    Apparement tu le fais pas dans le bout de code que tu as donné.

    Tu ajoutes à la fin:

    A+

Discussions similaires

  1. La pagination du GridView sans SQLDataSource
    Par zooffy dans le forum Accès aux données
    Réponses: 1
    Dernier message: 08/08/2007, 10h33
  2. Pbm Pagination Gridview en ASP.net
    Par kheironn dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/06/2007, 17h32
  3. Réponses: 3
    Dernier message: 06/06/2007, 19h47
  4. GridView sans tableau
    Par Kiboumz dans le forum ASP.NET
    Réponses: 3
    Dernier message: 20/02/2007, 01h40
  5. Réponses: 3
    Dernier message: 17/07/2006, 17h04

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