2010-11-17 4 views
1

J'ai développé un contrôle asp.net qui hérite du gridview et de son gridviewex appelé ... j'ai besoin de trucs de navigation de page pour le rendre en dessous pour certains pagination personnalisée que j'implore .. Tout va bien mais je ne peux pas semble ajouter de nouveaux contrôles aux contrôles ..ASP.NET Extension du gridview pour afficher une barre de navigation sous le gridview?

Par exemple ce que je voulais faire est d'ajouter un panneau asp.net sous la grille et d'ajouter des boutons de liaison au panneau.

J'ai ce jusqu'à présent, mais il donne une erreur

Unable to cast object of type 'System.Web.UI.WebControls.Panel' to type 
    'System.Web.UI.WebControls.Table'. 

Le code ..

protected override void OnPreRender(EventArgs e) 
    { 
     base.OnPreRender(e); 

     Panel uxGridViewNavigation = new Panel(); 

     LinkButton linkButton = null; 

     linkButton = new LinkButton(); 
     linkButton.Text = "First"; 
     linkButton.Click += new EventHandler(linkButton_Click); 

     uxGridViewNavigation.Controls.Add(linkButton); 

     this.Controls.Add(uxGridViewNavigation); 

    } 

Je voudrais vraiment apprécié toute aide. Son ma première extension de commande du serveur :-)

Merci

+0

Je ne l'ai jamais fait une extension de commande du serveur, mais avez-vous essayé d'utiliser la propriété 'ShowFooter' du GridView puis en ajoutant les contrôles à la dernière rangée (qui est la rangée de pied de page)? –

+0

Merci Matthew, mais j'ai vraiment besoin de l'étendre ... comme je dois faire plus de choses avec lui aussi :-) – Martin

Répondre

2

Override Render comme:

override Render(HtmlTextWriter writer) 
{ 
    // outputs all the inner magic of your grid 
    base.Render(writer); 

    Panel panel = new Panel(); 
    // do magic 

    // now also render the panel to the writer 
    panel.RenderControl(writer); 
} 
+0

Merci !! juste ce dont j'avais besoin – Martin