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 :

SelectedValue de mon gridView vide


Sujet :

ASP.NET

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Par défaut SelectedValue de mon gridView vide
    Bonjour,
    J'ai un problème qui m'échappe avec mon GridView.
    Lorsque je sélectionne une ligne de celui ci la valeur noLIEU qui est l'ID de chaque objet et qui est dans DataKeyName du GridView est vide.

    De plus, ensuite j'obtiens la valeur de l'ID de la première ligne sur laquelle j'ai cliqué en cliquant sur une autre et ainsi de suite, tout est décalé.

    Voici mes codes :

    PAGE ADMINLIEU.ASPX

    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
    <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="AdminLieu.aspx.vb" Inherits="QPO.AdminLieu" MasterPageFile="~/MasterPage.master" %>
     
    <asp:Content ID="Content1" ContentPlaceHolderID="cp1" Runat="Server">
     
    <u><b>Liste des lieux :</b></u> <br /><br />
      <font size="1">
      Le champs marqués d'une étoile sont obligatoire.<br />
      </font><br />
      <font size="2">
        <asp:Gridview ID="gv_lieu" Runat="server" Width="545px" Height="175px"  
            AutoPostBack="True" AutoGenerateColumns="False" DataKeyNames="noLIEU" 
            AllowPaging="True" PageSize="5" GridLines="Vertical">
            <Columns>
                <asp:BoundField DataField="noLIEU" HeaderText="ID" />
                <asp:BoundField DataField="descriptionLIEU" HeaderText="Description" />
                <asp:BoundField DataField="lienLIEU" HeaderText="Lien" />
                <asp:BoundField DataField="descriptionREGION" HeaderText="Région" />
                <asp:CommandField ShowSelectButton="True" />
            </Columns>
            <SelectedRowStyle BackColor="#446573" />
        </asp:Gridview>
      </font>
            <br />
     
            <table>
                <tr>
                    <td><font size="2">Description*:</font></td>
                    <td><asp:TextBox ID="TBDesc" runat="server" style="width:250px; Height:auto; margin-left:15px"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><font size="2">Lien*:</font></td>
                    <td><asp:TextBox ID="TBLien" runat="server" style="width:250px; Height:auto; margin-left:15px"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><font size="2">Région*:</font></td>
                    <td><asp:DropDownList ID="DDLReg" runat="server" style="width:250px; Height:auto; margin-left:15px"></asp:DropDownList></td>
                </tr>
            </table>
     
            <br />
     
            <asp:Button ID="btn_addUser" runat="server" Text="Ajouter" Style="margin-left:15px" />
            <asp:Button ID="btn_updateUser" runat="server" Text="Mettre à jour" Style="margin-left:15px" />  
            <asp:Button ID="btn_deleteUser" runat="server" Text="Supprimer" Style="margin-left:15px" />  <br /> <br /> 
            <asp:Button ID="btn_saveAction" runat="server" Text="Sauvegarder" Style="margin-left:15px" />  
            <asp:Button ID="btn_cancel" runat="server" Text="Annuler" Style="margin-left:15px" />  <br /> <br /> 
     
    </asp:Content>
    CODE SOURCE VB

    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
    57
    58
    Public Partial Class AdminLieu
        Inherits System.Web.UI.Page
     
     
        Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not Page.IsPostBack Then
                Actualiser()
            End If
        End Sub
     
     
        Private Sub Actualiser()
     
            Dim lieu As New sw_Lieu.Lieu
            Dim region As New sw_Region.Region()
     
            DDLReg.DataSource = region.GetListeRegion
            DDLReg.DataValueField = "noREGION"
            DDLReg.DataTextField = "descriptionREGION"
            DDLReg.DataBind()
            DDLReg.Items.Insert(0, "")
     
            gv_lieu.DataSource = lieu.GetListeLieu()
            gv_lieu.DataBind()
     
        End Sub
     
        Private Sub gv_lieu_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gv_lieu.PageIndexChanging
            gv_lieu.PageIndex = e.NewPageIndex
            Actualiser()
        End Sub
     
     
        Private Sub gv_lieu_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_lieu.RowCreated
            If e.Row.RowType = DataControlRowType.DataRow Then
     
                e.Row.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(sender, "Select$" & e.Row.RowIndex.ToString))
     
            End If
        End Sub
     
     
     
        Private Sub gv_lieu_SelectedIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSelectEventArgs) Handles gv_lieu.SelectedIndexChanging
     
            Dim lieu As New sw_Lieu.Lieu
            Dim ds As New DataSet
            ds = lieu.GetLieu(gv_lieu.DataKeys(0).Item("noLIEU"))
     
            TBDesc.Text = gv_lieu.SelectedValue
     
            'TBDesc.Text = ds.Tables(0).Rows(0).Item("descriptionLIEU")
            'TBLien.Text = ds.Tables(0).Rows(0).Item("descriptionLIEU")
            'DDLReg.SelectedValue = ds.Tables(0).Rows(0).Item("descriptionREGION")
     
            Actualiser()
        End Sub
    End Class

  2. #2
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Salut,

    L’événement SelectedIndexChanging se déclenche juste avant l’opération de sélection sur le grid, la propriété SelectedRow, SelectedIndex, SelectedValue ne peut être donc utilisé.
    Toutefois, tu peux avoir le Row que tu es entrain de sélectionner comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridViewRow row = gv.Rows[e.NewSelectedIndex]
    De là tu peux accéder au valeur de chaque colonne de la ligne que tu es entrain de sélectionner.a+

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/08/2007, 16h04
  2. [Debutant] Probleme d'affichage de mon Gridview
    Par sebium dans le forum ASP.NET
    Réponses: 1
    Dernier message: 26/05/2007, 14h05
  3. Delete ne fonctionne pas avec mon gridview
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/10/2006, 08h52
  4. Comment mettre en forme mon GridView ?
    Par yoopee dans le forum ASP.NET
    Réponses: 9
    Dernier message: 02/08/2006, 10h38
  5. Réponses: 10
    Dernier message: 16/05/2006, 14h13

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