Construction de n datagrid [Résolu]

Signaler
Messages postés
25
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
29 mai 2014
-
Messages postés
25
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
29 mai 2014
-
Salut;
je veux faire une boucle pour crée des data grid comment faire pour le nom de datagridpuisque il dépend de i.
for(i=0;i<=n;i++)
{Datagrid datagrid+i=new Datagrid ;
}

datagrid+i cette concaténation est impossible est ce que il y'a une solution

5 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
Salut, plusieurs possibilités..






// 1 ) Ajouter les DataGrid dans la collection de contrôles de la forme.


int cnt = 4;


for ( int i = 0; i < cnt; i++ )
{
DataGrid dg = new DataGrid( );
dg.Name = "DataGrid" + ( i + 1 ); // Index de base 1.
dg.Location = new Point( 0, dg.Height * i );


this.Controls.Add( dg ); // Ajoute le DataGrid dans la forme.
}


// 2 ) Utiliser un tableau.


int cnt = 4;
DataGrid[ ] tab = new DataGrid[ cnt ]; // Tableau vide de 4 DataGrid.


for ( int i = 0; i < cnt; i++ )
{
tab[ i ] = new DataGrid( );
tab[ i ].Name = "DataGrid" + ( i + 1 ); // Index de base 1.
tab[ i ].Location = new Point( 0, tab[ i ].Height * i );
}


this.Controls.AddRange( tab ); // Ajoute les DataGrid dans la forme.


// 3 ) Utiliser une liste.


List< DataGrid > list = new List< DataGrid >( );


DataGrid dg = new DataGrid( );
dg.Name = "DataGrid" + ( list.Count + 1 ); // Index de base 1.
list.Add( dg );


// ..
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
Je rajoute la solution avec une HashTable au cas ou tu veux utiliser une liste en NET 1.1

// 4 )


Hashtable ht = new Hashtable( );
ht.Add( "DataGrid" + ( ht.Count + 1 ), new DataGrid( ) ); // clé + objet


this.Controls.Add( ( DataGrid )ht[ "DataGrid1" ] ); // Ajoute le DataGrid dans la forme.
Messages postés
25
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
29 mai 2014

MERCI, c'est Bon pour la creation des data grid mais j'ai un probléme pour l'appel des data grid
par exemple:
for (int i = 0; i < 9; i++)
{
DataGrid dg = new DataGrid();
dg.Name = "dataGrid" + (i + 1);
}
dataGrid1 N'EST pas accépté


for(i=0;i<cnt;i++)
{
Datagrid+i.visible=false;

}
Datagrid+i
"Datagrid"+i

les deux sont non accéptés est ce je trouve chez toi une solution.

POUR LES DATATABLE COMMENT CONSTRUIRE N FOIS UNE DATATABLE CAR DataTable.Name n'existe pas ET AUSSI APRES CONSTRUCTION COMMENT FAIRE L APPELest ce que je trouve une solution chez toi

MERCI.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
Cette construction là "Datagrid+i.visible=false;" n'existe pas en C# avant de faire des interfaces graphiques avec des DataGrids tu devrais apprendre la manipulation des collections et des tableaux, c-à-d les base du C#.





1 ) Si le contrôle est dans la collection des contrôles de la forme.


this.Controls[ "DataGrid1" ].Visible = true


2 ) Si le contrôle est dans un tableau.


tab[ 0 ].Visible = true;


3 ) Si le contrôle est dans une liste.


list[ 0 ].Visible = true;


4 ) Si le contrôle est dans une hashtable


( ( DataGrid )ht[ "DataGrid1" ] ).Visible = true;
Messages postés
25
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
29 mai 2014

Ok, mais d'aprés votre répense je comprens que je ne peux pas appler les datagrid dans une boucle sans savoire le nom c'est a dire un nom variable c' est impossible .ET POUR la manipulation des collections et des tableaux, c-à-d les base du C# . J'ai pas trop le temps j'ai un miniprojet a travail le plus vite possible donc je cherche seulement les trucs utiles et ca va ca avance Merci pour ton conseil .