evenement click dans un datagrid

evenement click dans un datagrid - C#/.NET managed - Programmation

Marsh Posté le 03-05-2004 à 14:59:13    

bonjour
 
voila mon problème :  
 
j'ai un datagrid qui contient les valeurs de ma table
je voudrais recuperer l'evenement click sur une case de ma datagrid
mais je n'y parviens pas
 
si quelqu'un peu m'aider
 
merci

Reply

Marsh Posté le 03-05-2004 à 14:59:13   

Reply

Marsh Posté le 03-05-2004 à 15:03:04    

quelle merde je me souviens. il faut créer l'event dynamiquement (par code) pour chaque ligne retournée.

Reply

Marsh Posté le 03-05-2004 à 15:03:32    

je n'ai pas de code sous la main, pas la peine de demander

Reply

Marsh Posté le 03-05-2004 à 15:36:09    

j'ai trouvé un code mais je n'arrive pas vraiment à le comprendre ni à le faire marcher :  
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, _
          ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) _
          Handles DataGrid1.ItemDataBound
        Dim itemType As ListItemType = e.Item.ItemType
        If ((itemType = ListItemType.Pager) Or _
           (itemType = ListItemType.Header) Or _
           (itemType = ListItemType.Footer)) Then
            Return
        Else
            Dim button As LinkButton = _
               CType(e.Item.Cells(0).Controls(0), LinkButton)
            e.Item.Attributes("onclick" ) = _
               Page.GetPostBackClientHyperlink(button, "DataGrid1_Click()" )
        End If
    End Sub
 
DataGrid_Click() est la fonction que je voudrais appeler lors de l'evenement click
 
mais ça ne marche pas :-(

Reply

Marsh Posté le 03-05-2004 à 15:39:54    

y'a pas un DataItem_OnClick qui marche ??? je crois me souvenir que j'utilisais un truc comme ça... mais bon je n'ai plus le code en tête non plus là !

Reply

Marsh Posté le 03-05-2004 à 16:05:13    

bein je sais pas moi
si vous vous souvenez plus, moi je peux pas faire grand chose :(

Reply

Marsh Posté le 03-05-2004 à 16:05:55    

bdousse a écrit :

bein je sais pas moi
si vous vous souvenez plus, moi je peux pas faire grand chose :(


comme nous, potassez la doc, lire le bouquin etc...

Reply

Marsh Posté le 03-05-2004 à 16:26:20    

Code :
  1. ' Visual Basic
  2. Private Sub myDataGrid_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles myDataGrid.CurrentCellChanged
  3.    MessageBox.Show("Col is " & myDataGrid.CurrentCell.ColumnNumber _
  4.       & ", Row is " & myDataGrid.CurrentCell.RowNumber _
  5.       & ", Value is " & myDataGrid.Item(myDataGrid.CurrentCell))
  6. End Sub
  7. // C#
  8. private void myDataGrid_CurrentCellChanged(object sender,
  9. System.EventArgs e)
  10. {
  11.    MessageBox.Show ("Col is " + myDataGrid.CurrentCell.ColumnNumber
  12.       + ", Row is " + myDataGrid.CurrentCell.RowNumber
  13.       + ", Value is " + myDataGrid[myDataGrid.CurrentCell] );
  14. }
  15.     Visual C# Note   Be sure that the necessary code to enable the event handler is present. In this case, it would be similar to the following:
  16.     this.myDataGrid.CurrentCellChanged += new System.EventHandler(this.myDataGrid_CurrentCellChanged);


 
http://msdn.microsoft.com/library/ [...] tagrid.asp
 
ça devrait aller avec ça nan ?

Reply

Marsh Posté le 03-05-2004 à 16:51:58    

d'abord merci
...mais ...
 
je doit avoir un pb parceque chez moi il ne connait pas l'evenement CurrentCellChanged de l'objet DataGrid
de quoi cela peut-il venir?
 
NB : j'ai peut etre était maladroit dans ma formulation tout à l'heure. Je m'en excuse. Merci de m'aider en tout cas.

Reply

Marsh Posté le 03-05-2004 à 16:53:47    

PS : je programme en VB .net donc il n'y a, je crois, pas de création d'evenement à faire comme en c# il me semble. Si?

Reply

Marsh Posté le 03-05-2004 à 16:53:47   

Reply

Marsh Posté le 03-05-2004 à 16:55:09    

framework ptet ??
tu utilises bien le dernier ?
euh sinon je vois pas trop en fait :(

Reply

Marsh Posté le 03-05-2004 à 17:02:34    

peut etre que le detail que j'ai oublié c'est que je suis en ASP .net ....  
 
vous allez me taper sur les doigts la c'est ça ? ....

Reply

Marsh Posté le 03-05-2004 à 20:21:32    

bdousse a écrit :

peut etre que le detail que j'ai oublié c'est que je suis en ASP .net ....  
 
vous allez me taper sur les doigts la c'est ça ? ....


je crois pas que tu sais même pas dans quel langage tu développes... ça frise la plaisanterie là...

Reply

Marsh Posté le 04-05-2004 à 09:28:40    

si je sais
je fait une web form en VB et ASP .net
je viens pour demander de l'aide et je me fait engueuler parceque je sais pas ....
 
tant pis
 
merci quand meme
 
PS pour l'instant je me debrouille autrement en mettant un bouton en premiere case de ma ligne. Je vairai apres et si je trouve je mettrai la solution ici

Reply

Marsh Posté le 04-05-2004 à 09:39:09    

ASP.NET n'est pas vraiment un langage en fait... d'où la réflexion "très nature" de JagStang...
pour faire simple, on peut dire que ASP.NET est une technologie pour faire du Web Dynamique à la façon microsoft... après au sein de ASP.NET tu peux choisir de programmer en C# (proche Java) ou VB.NET (proche VB) et d'autres encore mais moins répandues et moins courants...
 pour l'accroche de l'événement au datagrid, je ne peux pas trop t'aider vu que j'étais plsu C# que VB.NET et que même si le résultat est le même au bout, les façons de faire varient pas mal...

Reply

Marsh Posté le 04-05-2004 à 09:51:57    

oui mais la page web (l'interface quoi) est bien en ASP .net
en tout cas c pas du HTML (enfin avant traduction bien sur)
 
bref, on s'éloigne du sujet
 
merci quand meme

Reply

Marsh Posté le 04-05-2004 à 10:37:22    

je reviens à mon problème initial. Je pense effectivement que je m'emelle un peu les pinceaux
 
j'ai trouvé ceci dans les docs :  
 
e.Item.Attributes.Add("onclick", "Test_Click" )
 
Si j'ai bien compris, cela ajout cette atribut à la balise de l'item. J'ai mis cela dans la fonction Item_Created de mon Datagrid
l'evenement est bien capté mais génére une erreur javascript car il ne connait pas la fonction Test_Click
C'est logique car elle n'est pas dans le code HTML.  
D'ou ma question :
Est-il possible d'appeler une fonction qui est dans mon fichier vb (.aspx.vb) depuis le fichier .aspx et si oui, comment?
 
merci d'avance

Reply

Marsh Posté le 04-05-2004 à 21:46:10    

bdousse a écrit :

d'abord merci
...mais ...
 
je doit avoir un pb parceque chez moi il ne connait pas l'evenement CurrentCellChanged de l'objet DataGrid
de quoi cela peut-il venir?
 
NB : j'ai peut etre était maladroit dans ma formulation tout à l'heure. Je m'en excuse. Merci de m'aider en tout cas.


 
c'est normal, l'exemple est pour une winform, pas une webform... :heink:


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed