cs_aurelie
Messages postés87Date d'inscriptionlundi 22 avril 2002StatutMembreDernière intervention12 octobre 2006
-
22 oct. 2004 à 08:46
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 2011
-
22 oct. 2004 à 10:04
J'ai un datagrid, pas de problème j'arrive à le remplir. Par contre, j'aimerais pouvoir insèrer une ligne entre chaque ligne dynamiquement.
ex :
col1 col2 col3
2 test 2 -> ligne normal
1ere ligne à insérer
3 essai 3 -> ligne normal
2ème ligne à insérer
Sur la datagrid, j'appelle "OnItemCreated =ItemCreated" dont le code est le suivant :
public void ItemCreated(object o,DataGridItemEventArgs e)
{
if((e.Item.ItemType==ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
{
DataGrid dg = (DataGrid)o;
TableCell tc = new TableCell();
tc.Controls.Add(new LiteralControl("foo"));
DataGridItem di = new DataGridItem(e.Item.ItemIndex+2,0,ListItemType.AlternatingItem);
di.Cells.Add(tc);
Table t = (Table)dg.Controls[0];
t.Rows.Add(di);
}
}
Cette fonction permet d'ajouter une ligne mais le problème c'est qu'elle ne l'affiche pas au bon endroit, ça me donne :
col1 col2 col3
1ere ligne à insérer
2 test 2 -> ligne normal
2ème ligne à insérer
3 essai 3 -> ligne normal
Et j'aimerais qu'elle s'affiche après les ligne normales.
Si quelqu'un pouvait m'aider, ça serait vraiment bien.
Merci d'avance.
Aurélie
cs_aurelie
Messages postés87Date d'inscriptionlundi 22 avril 2002StatutMembreDernière intervention12 octobre 2006 22 oct. 2004 à 09:39
J'ai trouvé, en fait le onItemCreated est déclenché à chaque fois qu'une ligne va être ajouté, et non pas après, donc en fait, il faut utiliser "OnItemDataBound", et dans cette fonction, appeler ItemCreated.
Voilà si ça peut aider quelqu'un qui veut faire la même chose!