Templar_net
Messages postés30Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention28 septembre 2005
-
19 juil. 2005 à 12:53
n_youbi
Messages postés12Date d'inscriptionmardi 24 avril 2007StatutMembreDernière intervention30 octobre 2007
-
10 juin 2007 à 23:07
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, ...
Est-ce que quelqu'un à une idée sur la facon de proceder ?
Templar_net
Messages postés30Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention28 septembre 2005 19 juil. 2005 à 18:07
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 ?
Templar_net
Messages postés30Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention28 septembre 2005 20 juil. 2005 à 10:16
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 :
Vous n’avez pas trouvé la réponse que vous recherchez ?
Templar_net
Messages postés30Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention28 septembre 2005 21 juil. 2005 à 18:03
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