Interface graph

Résolu
drcmomo
Messages postés
182
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
25 décembre 2009
- 13 avril 2007 à 21:34
drcmomo
Messages postés
182
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
25 décembre 2009
- 28 avril 2007 à 07:58
Bonsoir cher confrére!!!


Je commence a utiliser C# il y a 3semaines , j'ai interface que je divise en 2 a gauche  dans une liste contient les utilisateurs(je peux ajouter, supprimer ........) a droite contient dans un lstchekMenu une liste de fonction que je peux associé a un utilisateur.


Quand je click sur un Utilisateur Windows encadre en bleu le Nom de mon utilisateur, et quand je click la sur la partie droite pour crocher les fonctions auquels il peut accerder .Le Nom de mon Utilisateur n'est encadrer.


J'aimerais savoir si c'est possible quand je clique sur un NOM (dans ma liste) qu'il reste encadrer (en bleu, rouge......) au moment ou je croche dans mon lstchekMenu les differentes fonctions qui lui sont reservées.

Si vous pouvez Aider SVP , merci d'avance.


PS:Si vous voules plus d'information au cas ou je m'exprime pas trop clair n'hesiter pas a m'envoyer un ptit message .

10 réponses

cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
14 avril 2007 à 13:02
Je ne connais pas de controle ListViewItems... Par contre la classe ListView contient bien une propriété Items.

"J'aimerais qu'il reste colorier quand je passe a droite peux tu me donner un ptit tuyau lol"
Ba c'est exactement ce que j'ai fait en te disant "regarde du côté de sa propriété HideSelection."
Tu lui affecte la valeur false (dans le designer) et c'est fini.

/*
coq
MVP Visual C#
CoqBlog
*/
3
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
14 avril 2007 à 00:57
Salut,

Je suppose que le contrôle de gauche est un ListView ?
Si c'est bien ça, regarde du côté de sa propriété HideSelection.

/*
coq
MVP Visual C#
CoqBlog
*/
0
drcmomo
Messages postés
182
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
25 décembre 2009

14 avril 2007 à 10:21
Bonjour!!!
Pour repondre a ta question j'utilise une ListViewItems j'ai régardé dans propriéte comme tu m'a dit quand je clique sur le nom de mon Utilisateur il est en bleu et quand je passe a droite pour cliquer sur ses fonctions la couleur ne reste pas.
J'aimerais qu'il reste colorier quand je passe a droite peux tu me donner un ptit tuyau lol.Merci d'avance
Je tiens a te remercier pour ton message vous etes cooooooool les gars!!

 private void Affecter_Utilisateur()
        {
            DataTable dtable = DsLireTousLesUtilisateurs.Tables[0];
            LstUtilisateurs.Items.Clear();

            for (int i = 0; i < dtable.Rows.Count; i++)
            {
                DataRow drow = dtable.Rows[i];

                if (drow.RowState != DataRowState.Deleted)
                {
                    ListViewItem lvi = new ListViewItem(drow["StrNom"].ToString());
                    lvi.Tag = drow["utilisateurID"].ToString();

                    LstUtilisateurs.Items.Add(lvi);

                }
            }
0
drcmomo
Messages postés
182
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
25 décembre 2009

15 avril 2007 à 16:28
Bonjour ça va?
Je voulais te remercier pour le tuyau ça marche
je peux te poser une autre question si ça te derange pas?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
15 avril 2007 à 16:31
Oui, c'est le but du forum ^^
Par contre si elle n'est pas directement liée à celle ci, je te conseille de créer un nouveau sujet.

/*
coq
MVP Visual C#
CoqBlog
*/
0
drcmomo
Messages postés
182
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
25 décembre 2009

15 avril 2007 à 16:54
Ok!!
C'est en rapport au sujet!

j'ai creer une requette SQL qui permet d'enregistrer  les fonctionsAccessibles par un utilisateur(explication quand je clique sur un Utilisateur, puis je croche les fonctions auxquels il peut accerder ça marche sans probleme.
Mon probleme Je cherche,on ouvrant l'application quand je click sur un Utilisateur lire les fonctions que j'avais enregistrer.

Démarche:
Cette requette me permet de lire ses fonctions(fonctions accessible)
"public DataSet LireLesFonctionsAccessiblesParLUtilisateur(string StrConnexion, int IntIDUtilisateur)
        {
            BLL.BllFonctionsAccessiblesPourLUtilisateur bFonctionsAccessibles = new BLL.BllFonctionsAccessiblesPourLUtilisateur();
            string Requette = "SELECT* FROM FonctionsAccessibles WHERE utilisateurID= '" + IntIDUtilisateur + "'";
            IDbDataAdapter CM = new SqlDataAdapter(Requette, StrConnexion);
            DataSet DsFonctionsAccessibles = new DataSet();
            CM.Fill(DsFonctionsAccessibles);
            string FonctAcce = DsFonctionsAccessibles.Tables[0].Rows[0]["fonctionDuProgrammeID"].ToString();
            return (DsFonctionsAccessibles);
        }"
Dans FRMUtilisateur :
 private void Affecter_FonctionsAcc()
        {

            DataSet LireLesFonctionsAccessiblesParLUtilisateur = ClsGlobal.UcAccèsAuxFonctions.LireLesFonctionsAccessiblesParLUtilisateur(ClsGlobal.StrConnexion,ClsGlobal.IntIDUtilisateur);              

            DataTable data = DsFonctionsAccessibles.Tables[0];

            if (LstChkMenus.CheckedItems.Count > 0)
            {
                for (int j = 0; j < data.Rows.Count; j++)
                {
                    DataRow drow1 = data.Rows[j];
                    if (drow1.RowState != DataRowState.Deleted)
                    {
                        ListViewItem lv2 = new ListViewItem(drow1["fonctionDuProgrammeID"].ToString());
                        lv2.Tag = drow1["fonctionsAccessiblesID"].ToString();
                        //LstChkMenus.Items.Add(lv2);
                        LstChkMenus.CheckedItems.ToString();

                    }
                }
            }
        }
Quand je clique sur un Utilisateur il se passe rien, j'ai du loupé quelques choses.
PS:J'utilise des TAG(qui me permet d'avoir l'identifiant de mon Utilisateur et de mes fonctions)
Désolé pour le Roman
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
15 avril 2007 à 17:09
Le problème vient probablement de la requête...
"SELECT* FROM FonctionsAccessibles WHERE utilisateurID'" + IntIDUtilisateur + "'";> pas de SELECT *, nomme les colonnes
=> utilise des requetes paramétrées, jamais de concaténation (cf SqlParameter & co)
Hormis celà, ta colonne "utilisateurID" est d'un type "chaine" ?
Car là pour l'utilisateur d'ID (numérique d'après ton code) 1 ta requete devient :
SELECT* FROM FonctionsAccessibles WHERE utilisateurID= '1'

Sinon :
"UcAccèsAuxFonctions" => évite les caractères accentué dans les noms de types, méthodes etc :-)

PS : si le problème ne vient pas de là, je te conseille de créer un nouveau sujet (en mettant un lien vers celui ci à la rigueur), car personnellement je ne pourrais probablement plus te répondre avant quelques jours.

/*
coq
MVP Visual C#
CoqBlog
*/
0
drcmomo
Messages postés
182
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
25 décembre 2009

15 avril 2007 à 17:52
Ok pas de probléme
Mile merci ,Bonne fin de week!!
0
drcmomo
Messages postés
182
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
25 décembre 2009

15 avril 2007 à 19:40
Salut !!
 C'est encore moi sorry !!
Je suis entrain de trouver la solution a mon probléme.

Dans mon Frm utilisateur j'ai codé ce pti code:

                for (int j = 0; j < data.Rows.Count; j++)
                {
                    DataRow drow1 = data.Rows[j];
                    if (drow1.RowState != DataRowState.Deleted)
                                        {
                        ListViewItem lv2 = new ListViewItem(drow1["fonctionDuProgrammeID"].ToString());
                        lv2.Tag = drow1["fonctionsAccessiblesID"].ToString();
                        LstChkMenus.Items.Add(lv2);//   .Add(lv2);
                        
                     
                    }
                    }
lv2 contient  les identifiants des fonctions Accessibles par mon Utilisateur.Quand je compile, il rajoute les idnetifiants dans lesLstCheckMenu(normal).
Tu as une idée de comment faire ,au lieu de les rajoutés mais plutot les crochés STP.
0
drcmomo
Messages postés
182
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
25 décembre 2009

28 avril 2007 à 07:58
Bonjour cher confrére 
Desolé de faire appel de nouveau a toi  ,J'ai un sourcis avec une fonction qui prend en argument "(ref DataSet daset et un EnumChampDuTarif ChampModifi?
")
La fonction doit me retourner les nouvelles valeurs dans le dataset(apres les differents calculs du  switch)
PS: Je vois pas comment retourner le Dataset avec les vouvelles valeurs
Voici ma fonction:

public

bool G?rerLesTarifsDuProduit(
ref
DataSet datset,
EnumChampDuTarif ChampModifi?,
SqlConnection Cnx)
{

double Tarif = (
double)datset.Tables[0].Rows[1][
"Tarif1"];

double PrixDeVente = (
double)datset.Tables[0].Rows[2][
"PrixDeVente"];

double Coefficient = (
double)datset.Tables[0].Rows[3][
"Coefficient"];

double TauxDeMargeSurPrixDeVente = (
double)datset.Tables[0].Rows[4][
"TauxDeMargeSurPrixDeVente"];

double TauxDeMargeSurMati?re = (
double)datset.Tables[0].Rows[5][
"TauxDeMargeSurMati?re"];

double PrixVenteAuCube = (
double)datset.Tables[0].Rows[6][
"PrixVenteAuCube"];

double CubeUnit? = (
double)datset.Tables[1].Rows[3][
"DecCubeUnit?"];

double PrixAchat = (
double)datset.Tables[1].Rows[12][
"DecNouveauPrixAchat"];

double PrixDeRevient = (
double)datset.Tables[1].Rows[14][
"DecPrixDeRevientTotal"];

int nomenclature = (
int)datset.Tables[1].Rows[18][
"nomenclatureID"];

if (nomenclature > 0)
{

EnumChampDuTarif myChampModifie;

//myEnumChanpTarif = (EnumChampDuTarif)

myChampModifie = (

EnumChampDuTarif)
Convert.ToDecimal(datset);
//temporaire

switch (myChampModifie)
{

case
EnumChampDuTarif.PrixDeVente:
Coefficient = (PrixDeVente) / (PrixDeRevient);

TauxDeMargeSurPrixDeVente = 100 - ((100 * PrixDeRevient) / PrixDeVente);

TauxDeMargeSurMati?re = 100 - ((100 * PrixDeRevient) / PrixDeVente);

PrixVenteAuCube = (PrixDeVente) / (PrixVenteAuCube);

break;

case
EnumChampDuTarif.DecCoefficient:
PrixDeVente = PrixDeRevient * (1 + (Coefficient / 100));

TauxDeMargeSurPrixDeVente = 100 - ((100 * PrixDeRevient) / PrixDeVente);

TauxDeMargeSurMati?re = 100 - ((100 * PrixDeRevient) / PrixDeVente);

PrixVenteAuCube = (PrixDeVente) / (PrixVenteAuCube);

break;

case
EnumChampDuTarif.DecTauxDeMargeSurPrixDeVente:
PrixDeVente = PrixDeRevient * (1 + (Coefficient / 100));

Coefficient = (PrixDeVente) / (PrixDeRevient);

TauxDeMargeSurMati?re = 100 - ((100 * PrixDeRevient) / PrixDeVente);

PrixVenteAuCube = (PrixDeVente) / (PrixVenteAuCube);

break;

case
EnumChampDuTarif.DecTauxDeMargeSurMati?re:
PrixDeVente = PrixDeRevient * (1 + (Coefficient / 100));

Coefficient = (PrixDeVente) / (PrixDeRevient);

TauxDeMargeSurPrixDeVente = 100 - ((100 * PrixDeRevient) / PrixDeVente);

PrixVenteAuCube = (PrixDeVente) / (PrixVenteAuCube);

break;

case
EnumChampDuTarif.PrixDeVenteAuCube:
PrixDeVente = PrixDeRevient * (1 + (Coefficient / 100));

Coefficient = (PrixDeVente) / (PrixDeRevient);

TauxDeMargeSurPrixDeVente = 100 - ((100 * PrixDeRevient) / PrixDeVente);

TauxDeMargeSurMati?re = 100 - ((100 * PrixDeRevient) / PrixDeVente);

break;

}

//fin switch

}
Si tu peux aide moi!
0