2012-12-13 2 views
2

J'essaie d'insérer un contrôle dans le téléavertisseur Gridview. Le contrôle apparaît avec succès mais il l'assigne sous le contrôle précédent comme vous pouvez le voir sur l'image.Insérer un bouton personnalisé dans le téléavertisseur Gridview

enter image description here

J'ajoute avec le code suivant.

if (e.Row.RowType == DataControlRowType.Pager) 
{ 
    e.Row.Cells[0].Controls.Add(ImageButton1); 
} 

Ce que je veux est d'attribuer le bouton Enregistrer les réponses à côté du bouton précédent et non ci-dessous. Toute aide?

+0

Non, je ne dispose pas d'un modèle. J'ai seulement EnablePaging vrai – user1292656

Répondre

2
if (e.Row.RowType == DataControlRowType.Pager) 
{ 
    Table pagerTable = (e.Row.Cells[0].Controls[0] as Table); 
    TableRow row = new TableRow(); 
    row = pagerTable.Rows[0]; 
    TableCell cell1 = new TableCell(); 
    cell1.Controls.Add(ImageButton1); 

    row.Cells.AddAt(1,cell1); 
} 
0

Peut-être que vous pouvez ajouter un style de téléavertisseur dans votre gridview:

<PagerStyle Width="100%" /> 

Pourquoi ne pas créer un pagertemplate avec votre bouton à l'intérieur? Il vous sera plus facile de définir les positions de chaque bouton.

<asp:gridview id="CustomersGridView" 
     datasourceid="CustomersSource" 
     autogeneratecolumns="false" 
     emptydatatext="No data available." 
     allowpaging="true" 
     runat="server"> 
... 
     <pagerstyle Width="100%"/> 

     </asp:gridview> 
+0

il n'y a pas de cellule 1 :) – user1292656

+0

comment puis-je faire cela? – user1292656

+0

Encore une fois ça ne marche pas – user1292656

Questions connexes