Rendre visible un panel récupéré dans une boucle foreach

Fermé
Ilovedev Messages postés 16 Date d'inscription mardi 24 décembre 2013 Statut Membre Dernière intervention 22 janvier 2014 - 24 déc. 2013 à 11:31
 Utilisateur anonyme - 24 déc. 2013 à 14:28
Bonjour à tou(te)s et bonnes fêtes :o)

Je cherche à coder ceci (mais peut-être que je crois trop au père-noël...) :

while (reader.Read())
{
Label1.Text = string.Format("{0}", reader.GetString(0));
string str = Label1.Text;
string[] split = str.Split(new char[] { ';' });
foreach (string s in split)
{
//s .visible = true;
}
}
reader.NextResult();

J'aimerai pour chaque instance de s rajouter le texte ".Visible = true" et que du coup cela génère la visibilité du contrôle.

Je débute je m'excuse si cette question est tordue :o/
Merci d'avance
A voir également:

2 réponses

Utilisateur anonyme
24 déc. 2013 à 12:01
salut,

alors ce que tu cherche à faire est une indirection. En c# c'est la reflection :

https://docs.microsoft.com/en-us/dotnet/api/system.reflection?redirectedfrom=MSDN&view=netframework-4.8

je ne le maîtrise absolument pas, j'avais voulu utiliser l'indirection en c#, j'ai donc trouvé reflection, mais pas manque de temps je n'ai pas cherché =/ ca avait l'air complexe ... en tout cas assez pour me prendre pas mal de temps.

naga
0
Ilovedev Messages postés 16 Date d'inscription mardi 24 décembre 2013 Statut Membre Dernière intervention 22 janvier 2014
24 déc. 2013 à 12:58
Merci beaucoup d'avoir pris le temps de me répondre.
Je vais étudier le lien que tu m'as donné :)
0
Ilovedev Messages postés 16 Date d'inscription mardi 24 décembre 2013 Statut Membre Dernière intervention 22 janvier 2014
24 déc. 2013 à 13:03
Outch...hyper complexe...pas trouvé ma soluce encore...
0
Utilisateur anonyme
24 déc. 2013 à 13:27
oui c'est ce que je te disais, les indirections en c# ça fais mal x)

bon sinon un simple switch qui prendra la chaine pour résoudre l'élément graphique est envisageable ;)
0
Ilovedev Messages postés 16 Date d'inscription mardi 24 décembre 2013 Statut Membre Dernière intervention 22 janvier 2014
24 déc. 2013 à 14:16
Oui ce serait plus simple j'avoue...s'il est possible de charger mon switch dynamiquement en fonction du contenu de ma table. Chaque "case" représente le champs Libelle de ma table TABLE(Libelle1, Libelle2,...).
Il faudrait arriver à quelque chose du style :

Case Libelle1
(s).Visible = true;
(s).Visible = true;
Case Libelle2
(s).Visible = true;
(s).Visible = true;
(s).Visible = true;

quand (s) est :

while (reader.Read())
{
Label1.Text = string.Format("{0}", reader.GetString(0));
string str = Label1.Text;
string[] split = str.Split(new char[] { ';' });
foreach (string s in split)
{
//s .visible = true;
}
}
reader.NextResult();




Tu crois que c'est possible ?? (là...on complique sévère !)
0
Utilisateur anonyme
24 déc. 2013 à 14:28
ca va être possible dans le sens ou tu saura/que la chaine fourni.

par exemple tu ne pourras pas avoir



{"champ_saisie1"}.visible = true;


mais plutot


switch(s)
{
.
.
.
case "champ_saisie1" :
champ_saisie1.Visible = true;break;
.
.
.
}

donc c'est assez limité.
0