Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : sélectionner une ligne d'un gridview sans commandField [ Web 2.0 ] (teatsx)

mardi 22 janvier 2008 à 18:23:55 | sélectionner une ligne d'un gridview sans commandField

teatsx

Membre Club
Bonjour

J'aimerais savoir si il est possible d'avoir les informations d'une ligne d'un gridview sans passer par les boutons du commandField.

Actuellement mon gridview fonctionne très bien avec la colonne CommandField pour sélectionner la ligne mais je désire également obtenir les informations d'une ligne en cliquant dessus et non sur les bouton du CommandField.

Cela est il possible ?

Je n'ai pas trouvé grand chose sur les forums ( peut être je cherche mal )

Merci d'avance pour vos réponses

Bonne journée

 kikou - teatsx <img src="/imgs2/smile_sleepy

mardi 22 janvier 2008 à 21:04:16 | Re : sélectionner une ligne d'un gridview sans commandField

gldfdp

Membre Club
Tu mets un element qui a un commandargument égal à "select" essaie un linkbutton par exemple.

-- Grégoire

mercredi 23 janvier 2008 à 14:35:01 | Re : sélectionner une ligne d'un gridview sans commandField

zuff

Personnellement, je cache le CommandField :

<asp:CommandFieldShowSelectButton="True">
<HeaderStyleCssClass="ColonneSelect"/>
<ItemStyleCssClass="ColonneSelect"/>
</asp:CommandField>

Dans ma feuille de style :

.ColonneSelect

{
display:none;
}

après je m'amuse avec le prerender pour faire ma présentation :

    protected void gvListeUser_PreRender(object sender, EventArgs e)
    {

        //    gestion de l'affichage
        //Int32 i;
        gvListeUser.DataBind();
        if (gvListeUser.Rows.Count > 0)
        {
            for (Int32 i = 0; i < gvListeUser.Rows.Count; i++)
            {
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[1].Text.Trim(), i, 5, 1);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[2].Text.Trim(), i, 15, 2);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[3].Text.Trim(), i, 15, 3);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[4].Text.Trim(), i, 10, 4);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[5].Text.Trim(), i, 20, 5);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[6].Text.Trim(), i, 10, 6);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[7].Text.Trim(), i, 20, 7);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[8].Text.Trim(), i, 5, 8);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[9].Text.Trim(), i, 5, 9);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[10].Text.Trim(), i, 5, 10);
                MiseEnLigneLienTableau( gvListeUser.Rows[i].Cells[11].Text.Trim(), i, 5, 11);
            }
        }

    }

    protected void MiseEnLigneLienTableau(string TexteDepart, Int32 Index, Int32 Longueur, Int32 CelluleLigne)
    {
        //    ' mise en page d'une cellule Lien du gridview
        //    ' TexteDepart : texte de la base de donnée
        //    ' Index : ligne du tableau (sert pour faire le lien qui déclenche un SelectedIndexChanged sur GridView)
        //    ' Longueur : Longueur maximun avant découpage
        //    ' CelluleLigne : La cellule de la ligne

        String TexteModifie = "";

        TexteDepart = TexteDepart.Replace("&#233;", "é");
        TexteDepart = TexteDepart.Replace("&#201;", "É");
        TexteDepart = TexteDepart.Replace("&#200;", "È");
        TexteDepart = TexteDepart.Replace("&#232;", "è");
        TexteDepart = TexteDepart.Replace("&#234;", "ê");
        TexteDepart = TexteDepart.Replace("&#224;", "à");
        TexteDepart = TexteDepart.Replace("&#226;", "â");
        TexteDepart = TexteDepart.Replace("&#238;", "î");
        TexteDepart = TexteDepart.Replace("&#244;", "ô");
        TexteDepart = TexteDepart.Replace("&#212;", "Ô");
        TexteDepart = TexteDepart.Replace("&#251;", "û");
        TexteDepart = TexteDepart.Replace("&#235;", "ë");
        TexteDepart = TexteDepart.Replace("&#231;", "ç");
        TexteDepart = TexteDepart.Replace("&amp;", "&");
        TexteDepart = TexteDepart.Replace("&#176;", "°");
        TexteDepart = TexteDepart.Replace("`", "'");

        if (TexteDepart.Length > Longueur + 3)
        {
            TexteModifie = TexteDepart.Substring(0, Longueur) + "...";
        }
        else
        {
            TexteModifie = TexteDepart;
        }

        gvListeUser.Rows[Index].Cells[CelluleLigne].Text = TexteModifie;
        gvListeUser.Rows[Index].Cells[CelluleLigne].Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(gvListeUser, "Select$" + Index.ToString()));
        gvListeUser.Rows[Index].Cells[CelluleLigne].Attributes.Add("onMouseOver", "this.style.cursor='hand';");
        if (TexteDepart != "" & TexteModifie != TexteDepart)
        {
            gvListeUser.Rows[Index].Cells[CelluleLigne].ToolTip = TexteDepart;
        }


    }


mercredi 23 janvier 2008 à 16:10:45 | Re : sélectionner une ligne d'un gridview sans commandField

teatsx

Membre Club

Bonjour

Merci pour les réponses

Grégoire, ta solution revient à ajouter un bouton en plus. Ce que je veux, c'est de cliquer directement sur les données affichées (cliquer sur la row) pour obtenir les informations de la ligne sans ajouter un bouton donc sans CommandField, ni de commandName(linkbutton). Si je rajoute un linkbutton, autant que je garde la colonne CommandField

La soluce de zuff a l'air intéréssante (un peu complexe pour moi qui suis débutant ), je vais essayer pour voir

Je vous tiens au courant.

Merci encore

Passer une bonne journée

 kikou - teatsx <img src="/imgs2/smile_sleepy


mercredi 23 janvier 2008 à 17:27:48 | Re : sélectionner une ligne d'un gridview sans commandField

teatsx

Membre Club

La soluce zuff a presque marché, zut

Lorsque je clique sur le texte des données de mon gridview gdvSession j'ai bien l'évenement gdvSession_SelectedIndexChanged qui est executé. Cette évenement m'affiche bien mon Tab Extender d'Ajax qui contient plusieurs gridView.

Jusque là tout va bien mais il y a un hic, mon gridView gdvSession sur lequel j'ai cliqué n'est plus là (n'est plus affiché). J'ai seulement mon Tab Extender d'Ajax qui est affiché.

 ca vient peut être du pre_render qui ne recharge pas mon gridView gdvSession.
Je creuse la question .

Si vous avez une idée, vous êtes la bienvenue

Merci

Bonne journée

 kikou - teatsx <img src="/imgs2/smile_sleepy




Cette discussion est classé dans : ligne, possible, gridview, sélectionner, commandfield


Répondre à ce message

Sujets en rapport avec ce message

Gridview : colonne différente suivant les ligne :s [ par gstrit ] Bonjour,J'ai une gridview avec en bout de ligne une série de lien en forme d'icone. J'aimerais que suivant les lignes, certaines icones n'apparaissent Ajouter une LIGNE dans une gridview [ par mickaelpfr ] Salut a tous , ma question est simple , je souhaite ajouter une ligne vide dans une gridview qui contiendrais juste de l'html... si quelqu'un pouvais Confirmation dans un GridView [ par cnguyen ] Je voudrais faire une demande de confirmation pour mon GridView lors de la suppression d'une ligne!J'ai pas mal fouiner et je sais que c'est possible Cmt alimenter une GridView en ligne de codes ? [ par jer_mest ] Bonjour,J'aimerais alimenter une GridView en ligne de codes.J'ai un DataSet, j'aimerais que les données apparaissent dans mon gridview...Une idée ? Récupération ligne gridview ModalPopup [ par gstrit ] Bonjour,Soit une gridview avec au bout de chaque ligne une icone. Lorque je clique sur cette icone, il apparait un modalpopup Atlas. Dans ce popup, il GridView : passer le nom d'une table en paramètre [ par steelspirit ] Bonjour à tous,Je souhaiterais savoir si s'est possible d'afficher une table dans un GridView en passant son nom en paramètre dans un lien du style :h GridView et ButtonField (récupérer infos ligne séléctionnée) [ par sdupont64 ] Bonjour tout le monde, Je suis en stage en ce moment et je viens d'apprendre le vb.net ainsi que l'asp. J'ai passé beaucoup de temps sur les forums de ajouter une ligne dans un gridview [ par kipich2006 ] salut tout le monde j'ai un gridview et je voudrai le remplir à partir de données qui ne provienne pas d'une base de données,je voudrais savoir commen selectionner un element d'un gridview [ par amirirn1 ] Bonjour,j ai un gridview, je souhaitrerai en cliquant sur une ligne acceder au 3 ieme colonnes de la ligne choisie.GridView1Merci de m aider GridView en VisualWeb Developer 2005 Express [ par erefdatacomputing ] Bonjour !!Je débute avec VisualWeb Developer 2005 Express !! (Assez expérimenté en VB6)Je commence un site Web en ASP.NET dans lequel il y a un GridVi


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.