wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :668

Membres en ligne : 0
Invités en ligne : 8
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» wxGrid Ctrl + selection par clic
Conversation : wxGrid Ctrl + selection par clic
16-07-2011 12:56:21  wxGrid Ctrl + selection par clic #1
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,8).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)

18-07-2011 12:24:31  Re: wxGrid Ctrl + selection par clic #2
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
19-07-2011 07:34:08  Re: wxGrid Ctrl + selection par clic #3
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)

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» wxGrid Ctrl + selection par clic