[Resolu][DataGridView] Action quand on change la valeur d'une CheckBox

Action quand on change la valeur d'une CheckBox [Resolu][DataGridView] - C#/.NET managed - Programmation

Marsh Posté le 31-08-2006 à 16:04:21    

Bonjour,
 
J'ai un DataGridView avec 4 colonnes de type "DataGridViewCheckBoxColumn". J'aimerais lancer une methode quand la valeur d'une checkbox est changée. Le probleme: Avec "CellcontentClick" ou "Cellclick", la valeur n'est pas mise a jour, comme expliqué sur MSDN:
 

Citation :

If you want to respond immediately when users click a check box cell, you can handle the DataGridView.CellContentClick event, but this event occurs before the cell value is updated. If you need the new value at the time of the click, one option is to calculate what the expected value will be based on the current value. Another approach is to commit the change immediately, and handle the DataGridView.CellValueChanged event to respond to it. To commit the change when the cell is clicked, you must handle the DataGridView.CurrentCellDirtyStateChanged event. In the handler, if the current cell is a check box cell, call the DataGridView.CommitEdit method and pass in the Commit value.  


 
... mais je ne suis pas arrivé a utiliser le "DataGridView.CurrentCellDirtyStateChanged"... qqun peut m'aider ?


Message édité par ParadoX le 01-09-2006 à 15:25:50

---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
Reply

Marsh Posté le 31-08-2006 à 16:04:21   

Reply

Marsh Posté le 31-08-2006 à 21:39:22    

c'est facile de dire j'arrive pas. C'est quoi ton problème exactement?  
du code svp. Si tu ne cherches mm pas toi même un peu.  
Pourtant la MSDN semble vraiment clair. Tu traites les events et t'appele les bonnes méthodes. ça n'a vraiment pas l'air sorcié.

Reply

Marsh Posté le 01-09-2006 à 00:07:27    

CellContentClick appelle l'action, mais ne coche pas la case au 1er click.
CellClick ne prends pas en compte le CheckBox valuechanged.
 
Et je ne comprends pas la derniere phrase de MSDN, alors que c'est celle qu'il me faut :/

Reply

Marsh Posté le 01-09-2006 à 13:12:18    

tu dois tester si le sender est un CheckBox et appeler les méthodes en conséquences.

Reply

Marsh Posté le 01-09-2006 à 15:24:47    

J'ai trouvé mon bonheur avec ca:
 

Code :
  1. if (DataGridView1.IsCurrentCellDirty == true)
  2.             {
  3.                 value = DataGridView1.SelectedCells[counter]
  4.                     .EditedFormattedValue.ToString();
  5.             }


 
 
Combiné avec le CellContentClick, c'Est parfait :)
Merci qd meme :)


Message édité par ParadoX le 01-09-2006 à 15:25:35

---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
Reply

Sujets relatifs:

Leave a Replay

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