Membres inscrits :668
Membres en ligne : 0
Invités en ligne : 8


|
| Conversation : wxGrid Ctrl + selection par clic |
sajaris (Membre)
Inscrit le : 23-11-2010
Messages: 47
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour, j'essai de faire un calcul par selection multiple d'une wxGrid.
Dans la grid; il ya une colonne Montant, et je voudrai faire le calcul total des montant des lignes selectionnées dans le Grid.
Maintenant je capture le wxEVT_GRID_SELECT_CELL et quand j'essai un simple clic, ca marche pas
Quand j'essai une selection multiple alors rien aussi.
void CMainPhage::OnGridFactentSelect(wxGridEvent &event) { gridFactentRowselected=event.GetRow(); gridListFactent->SetSelectionBackground(wxColour(128,128,255,32)); if(gridListFactent->IsSelection()) { wxMessageBox(_("in selec")); int i=0; wxDouble prelev=0,totalht=0,totaltva=0,totalttc=0; for ( long n = 0; n < (long)gridListFactent->GetNumberRows() { if ( gridListFactent->IsInSelection( n , 0 ) ) { //CALCUL TOTAL wxDouble tmpmarge; gridListFactent->GetCellValue(n, .ToDouble(&tmpmarge); prelev+=tmpmarge; gridListFactent->GetCellValue(n,6).ToDouble(&tmpmarge); totalht+=tmpmarge; gridListFactent->GetCellValue(n,7).ToDouble(&tmpmarge); totaltva+=tmpmarge; gridListFactent->GetCellValue(n,9).ToDouble(&tmpmarge); totalttc+=tmpmarge; i++; } else { n++; } } //if(i>0) { panFactent->fieldTotalht->SetValue(wxString::Format(_("%.0f"),totalht)); panFactent->fieldTotaltva->SetValue(wxString::Format(_("%.0f"),totaltva)); panFactent->fieldTotalttc->SetValue(wxString::Format(_("%.0f"),totalttc)); panFactent->fieldPrelev->SetValue(wxString::Format(_("%.0f"),prelev)); } } }
le wxMessageBox(_("in selec")); ne s'affiche meme pas ---------- toujours rien?
Dernière modification par sajaris (18-07-2011 12:18:29)
| |
|
ld13 (Nouveau membre)
Inscrit le : 11-12-2010
Messages: 6
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour, J'ai testé une partie de ton code, et en effet la méthode IsSelection() ne semble pas réagir au sein d'une fonction exécutée par un évènement (ici wxGRID_SELECT_CELL) . Ici, tu n'as pas besoin de faire ce test car cette fonction OnGridFactentSelect(wxGridEvent &event) ne s'exécutera que si tu sélectionne une ou plusieurs cellules.
C'est une remarque comme une autre. Cordialement. Laurent
| |
|
sajaris (Membre)
Inscrit le : 23-11-2010
Messages: 47
Snippets: 0
Tutoriels: 0
Hors ligne |
ok je vais essayé d'envleve et voir ce que ca donne ---------- dommage ca ne donne pas, meme si j'enleve le test, masi l selection simple donne des resultats. ---------- tu a eu des resulatat avec la selection multiple quand tu a essayé?
Dernière modification par sajaris (20-07-2011 19:56:11)
| |
|
|