[C#] Utilisation d'une variable à partir d'une chaine de car
Bonjour,
Je recupere dans une chaine un nom de variable: par ex datagrid_1_2
J'aimerais maintenant appliquer des méthodes à ce datagrid_1_2 mais je ne vois pas comment faire! :(
(par ex pouvoir faire datagrid_1_2.Visible = true)
J'ai cherché un peu dans les faqs et sur le forum mais j'ai rien trouvé de semblable :?
Merci d'avance pour votre aide
Gaël
Re: [C#] Utilisation d'une variable à partir d'une chaine
Citation:
Envoyé par gael.mases
Bonjour,
Je recupere dans une chaine un nom de variable: par ex datagrid_1_2
J'aimerais maintenant appliquer des méthodes à ce datagrid_1_2 mais je ne vois pas comment faire! :(
(par ex pouvoir faire datagrid_1_2.Visible = true)
J'ai cherché un peu dans les faqs et sur le forum mais j'ai rien trouvé de semblable :?
Merci d'avance pour votre aide
Gaël
tu peux essayer avec ce lien : http://www.microsoft.com/france/msdn...pressions.html
@+
Re: [C#] Utilisation d'une variable à partir d'une chaine
Euh j'ai parcouru rapidement j'ai pas tout saisi
...je regarderai + en profondeur demain j'aurai peut etre le cerveau plus reposé :lol:
Re: [C#] Utilisation d'une variable à partir d'une chaine de
Citation:
Envoyé par gael.mases
Bonjour,
Je recupere dans une chaine un nom de variable: par ex datagrid_1_2
J'aimerais maintenant appliquer des méthodes à ce datagrid_1_2 mais je ne vois pas comment faire! :(
(par ex pouvoir faire datagrid_1_2.Visible = true)
J'ai cherché un peu dans les faqs et sur le forum mais j'ai rien trouvé de semblable :? Merci d'avance pour votre aide
Gaël
Cela reste tout de m^me non souhaitable de proceder tel que tu le décris en POO
utilises plutôt les propriéts de l'objet DataGrid
ainsi si datagrid_1_2 désigne non pas l'adresse mémoire du DataGrid mais plutôt sa propriété DataGrid.Name alors tu pourras user du fait que ce contrôle fait partie d'une collection Form.Controls pour le retrouver en enumérant cette collection
Exemple dans une Form MyForm
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
private Control GetControlByName(string name)
{
Control ctrl = null;
foreach(Control c in this.Controls)
{
if(c.Name.Equals(name))
{
ctrl = c;
break;
}
}
return ctrl;
} |
Utilisable par exemple pour toi
Code:
1 2 3 4
|
Control ctrl = GetControlByName("datagrid_1_2");
if(c != null)
c.Visible = true; |
Re: [C#] Utilisation d'une variable à partir d'une chaine de
Citation:
Envoyé par neguib
Code:
1 2
|
if(c.Name.Equals(name)) |
Je n'ai pas de méthode Name sur c (Control) qui me récupére le nom du Control :?
...mais de toute ca me recupere pas les objects Datagrid de ma page (les datagrids n'appartiennent pas a la liste des Controls ? ) , ton code boucle 3 fois et me trouve :
_ 1 ResourceBasedLiteralControl
_ 1 HtmlForm (me renvoit Form1 si j'utilise c.Id.ToString() )
_ 1 LiteralControl
Merci si tu as d'autres infos a m'apporter