begin process at 2012 05 27 20:55:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

Datagrid : Numeroter les lignes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Datagrid : Numeroter les lignes

mardi 19 juillet 2005 à 12:53:13 | Datagrid : Numeroter les lignes

Templar_net

Encore un souci avec un data grid.
Je remplis mon datagrid grâce à ma BDD avec une requête (classant des compagnies suivant une note) qui se termine par un ORDER BY note_compagnie

Mon client aimerait que la première colonne du datagrid soit le classement : 1e, 2e, .... etc
J'ai donc bien sur créer cette colonne dans mon code ASP, mais il me reste à la remplir, ...

<ItemTemplate>
      <asp:Label id="lblClassement" runat="server" Text= ???  CssClass="Item">
      </asp:Label>
</ItemTemplate>


Est-ce que quelqu'un à une idée sur la facon de proceder ?
mardi 19 juillet 2005 à 13:45:02 | Re : Datagrid : Numeroter les lignes

cabbry

Salut,

au niveau de ta datagrid dans ta page aspx, tu mets un petit:

OnItemDataBound="ItemsGrid_ItemDataBound"

ensuite dans ton code behind, tu mets:

       public void ItemsGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.DataItem != null)
            {
                Label l = (Label)e.Item.Cells[0].FindControl("lblClassement");
                l.Text=(e.Item.DataSetIndex+1);
            }
        }


C'est tout...


Cab

mardi 19 juillet 2005 à 18:07:18 | Re : Datagrid : Numeroter les lignes

Templar_net

Bon alors, j'ai du passé en code VB car tu me l'as donné en C, mais j'ai un truc qui marche pas

Public Sub ItemsGrid_ItemDataBound (ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)
If (e.Item.DataItem Is DBNull.Value) Then
   
'rien
Else
Dim l As Label
l =
CType(e.Item.Cells(0).FindControl("lblClassement"), Label)
l.Text = (e.Item.DataSetIndex + 1)
End If
End Sub

La ligne en rouge ne passe pas, ... tu sais comment la modifer ?


Ensuite pour l'ASPX:
J'ai bien mis : <asp:datagrid id="DataGrid1" ...... OnItemDataBound="ItemsGrid_ItemDataBound">

Mais pour ma colonne, je mets quoi ???
<asp:BoundColumn HeaderText="Classement" />  ?
mercredi 20 juillet 2005 à 08:41:48 | Re : Datagrid : Numeroter les lignes

cabbry

ta colonne, tu n'y touche pas... tu peux la laisser en TemplateColumn

J'avais juste oublié de convertir le DataSetIndex en string:

          l.Text=Convert.ToString(e.Item.DataSetIndex+1);

Cab

mercredi 20 juillet 2005 à 10:16:12 | Re : Datagrid : Numeroter les lignes

Templar_net

Bon, ca ne marche toujours pas. Je vois l'erreur, mais pareil, je ne sais pas la corriger, ...
Voici mon code :

Public Sub ItemsGrid_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)

     If (e.Item.DataItem Is DBNull.Value) Then
       
'rien

     Else
       
Dim L As Label
        Dim S As
String

        L = CType(e.Item.Cells(1).FindControl("lblClassement"), Label)
        S = CType(e.Item.DataSetIndex + 1, String)
        L.Text = S
End
If
End Sub

J'ai lancé le débugger pour voir ce qu'il y avait :
e.Item.DataSetIndex = -1 
S = "0"
L = Nothing


Donc apparemment pour S ma conversion du DataSetIndex en String fonctionne. Mais ca viendrai plutot de la première ligne, vu qu'il n'y à rien dans L, ...

Sais-tu d'ou cela provient ?


Pourtant j'ai bien dans l'ASP :
<asp:TemplateColumn  HeaderText = "Classement">
   <ItemTemplate>
         <asp:Label id="lblClassement" runat="server" Text=""  CssClass="Item" />
   </ItemTemplate>
</asp:TemplateColumn>


mercredi 20 juillet 2005 à 10:21:50 | Re : Datagrid : Numeroter les lignes

cabbry

et comme ça ?

CType(e.Item.Cells[0].FindControl("lblClassement"), Label)

ça marchait pas ???

Cab
mercredi 20 juillet 2005 à 10:33:11 | Re : Datagrid : Numeroter les lignes

Templar_net

Non, même souci:

L = CType(e.Item.Cells(0).FindControl("lblClassement"), Label)
Ca me donne nothing dans L ....

mercredi 20 juillet 2005 à 10:39:55 | Re : Datagrid : Numeroter les lignes

cabbry

Je peux pas trop t'aider en fait, vu que je développe en C# et que ton probleme

est un probleme de vb.net...

jeudi 21 juillet 2005 à 18:03:25 | Re : Datagrid : Numeroter les lignes

Templar_net

En cherchant avec le debugger j'ai finalement vu ce qui n'allait pas c'etait tt con : c'est NOTHING et pas dbnull.value.
Et avec ce code mm pas besoin d'associer la fonction dans la page ASPX.

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If (e.Item.DataItem Is Nothing) Then
'rien
Else
Dim L As Label
Dim S As String
L = CType(e.Item.Cells(0).FindControl("lblClassement"), Label)
S =
CType(e.Item.DataSetIndex + 1, String)
L.Text = S
End If
End Sub

dimanche 10 juin 2007 à 23:07:41 | Re : Datagrid : Numeroter les lignes

n_youbi

salut
j'ai un probleme avec datagrid sous asp.net 2005
j'ai besoin d'ajouter des valeur apartir de datagrid et les valeur est dénamique
merci d'avance


Cette discussion est classée dans : lignes, colonne, datagrid, note, numeroter


Répondre à ce message

Sujets en rapport avec ce message

Formater un DataGrid [ par vega3000 ] Est-il possible lorsque je créer un DataGrid par le biais d'un XML que les éléments d'une colonne spécifique soient formatés de différentes façons sel suppression d une colonne dans un datagrid [ par jordan2345 ] benj ai un grand besoin d'aide pour une datagrid. je l initialise avec une procedure stockée. J en ai deja fait sauf que d habitude je connais les col trier un datagrid en cliquant sur le header d'une colonne [ par jordan2345 ] benBonjour, je cherche a trier une dg en cliquant sur le header de la colonne, je sais comment faire sauf que je n'arrive pas à créer le header sous f Evénement sur l'en-tête d'une colonne d'un Datagrid [ par ZakBass ] bonjour,comment peut-on gérer un événement sur l'en-tête d'une colonne TemplateColumn d'un datagrid???dans mon cas c'est une checkbox!!Merci. datagrid avec 1 enreg sur 2 lignes [ par dedzep ] bonjour ;-)est-il possible dans un datagrid d'utiliser 2 lignes pour l'affichage d'un enregistrement comportant beaucoup plus de champs qu'il n'est po [asp.net]Nombres de lignes ds un datagrid [ par jimmy69 ] Salut a tous,Voila je debute avec asp.net (vb.net)et j'aimerais savoir comment je pourrai faire pour connaitre le nombre de lignes que contient mon da Problème avec une colonne modèle dans un datagrid [ par lutin2004 ] Bonjour, J'ai un problème dans une colonne modèle d'un datagrid, j'aimerais qu'un label de cette colonne soit le résultat de la multiplication d'une a Tri d'un datagrid [ par SuperBouly ] Lorsque l'on clique sur une en-tête de colonne d'un datagrid pour déclencher le tri, est-il possible de récupérer le numéro de colonne à ce moment.( p Insertion dans des cellules d'une colonne...? [ par Zekez ] Bonjour,Voilà mon problème, j'ai déclaré une BoundColumn dans mon code et j'aurais voulu savoir comment je pouvais insérer des données (caractères) da Datagrid ... asp.net & vb.net [ par Mickey VB ] Bonjour je souhaiterais afficher dans un datagrid des infos venant d'une base de données sqljusqu'à la aucun le pb. je travaille en mode déconnecté.ma


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales