2009-02-26 2 views
0

J'utilise datatable pour remplir gridview. Comment puis-je ajouter une ligne vide dans datatable pour afficher footertemplate même si je n'ai aucune donnée? J'utilise asp.net 2005. J'utilise le contrôle gridview pour ajouter, éditer et modifier les données. Je mets un contrôle supplémentaire sur footertemplate. ça marche bien, mais je suis confronté à un problème: quand il n'y a pas de données dans la grille, footertemplate n'est pas visible. Je veux que footertemplate soit visible tout le temps pour que l'utilisateur puisse ajouter des données même s'il n'y a pas de données disponibles.Footertemplate dans gridview

tout organisme peut me aider ...

Merci

Répondre

1

je suis tombé aussi. Si je me souviens bien, il n'y a aucun moyen de le réparer. J'ai travaillé autour du problème en créant un modèle de données vide qui avait les contrôles dont j'avais besoin pour pouvoir ajouter les données.

1

Il y a quelques trucs à faire, et la plupart d'entre eux sont plutôt "ad hoc". L'itinéraire que j'ai emprunté consistait à intercepter ma source de données et à vérifier le nombre de lignes. Si le nombre de lignes était de 0, alors je suis allé de l'avant et j'ai injecté ma propre ligne dans l'ensemble de données avec une valeur "vide" codée. Ensuite, dans l'événement de liaison de données, je me suis assuré que la ligne vide mettrait juste des chaînes vides dans les champs appropriés, permettant au pied de page de restituer encore.

L'autre chemin à parcourir consisterait essentiellement à sous-classer la classe GridView et à ajouter quelques extensions afin que vous puissiez toujours afficher l'en-tête/pied de page en l'absence de données. Matt Berseth a un nice little article sur la façon d'accomplir cela.

+0

Je vois cette technique mais comment puis-je ajouter cette propriété personnalisée dans gridview – Kartik

+0

Ce que vous faites est de créer votre propre classe, appelez KartikGridView qui implémente la GridViewClass afin que vous puissiez l'étendre avec le code fourni. Ensuite, sur votre page asp.net, vous utiliserez une nouvelle balise à la place de GridView. Trouvez le lien de démonstration dans cet article. Il aura le code source à télécharger –