comment afficher le pied de page lorsqu'il n'y a pas de données dans gridview pour insérer des données du pied de page.Rendre le pied de page GridView visible lorsqu'il n'y a pas de données liées
Répondre
La méthode la plus simple consiste à lier un tableau d'une longueur de un. Vous pouvez mettre n'importe quoi dedans que vous aimez identifier que c'est une rangée factice. Sur votre méthode GridViews RowDataBound, vérifiez si l'élément de données est la ligne factice (assurez-vous que RowType est un DataRow en premier avant d'essayer de vérifier les données). Si c'est la ligne fictive, définissez la visibilité des lignes sur false. Le pied de page et l'en-tête doivent maintenant être affichés sans aucune donnée.
Assurez-vous de définir la propriété ShowFooter sur true sur votre GridView.
par ex.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostback)
{
myGrid.DataSource = new object[] {null};
myGrid.DataBind();
}
}
protected void myGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DataItem == null)
{
e.Row.Visible = false;
}
}
}
Here is the simple way pour afficher le pied de page lorsqu'il y a des données vides dans GridView.
C'est définitivement une mauvaise idée. – abatishchev
Voici quelque chose facile que je l'ai conçu:
/// <summary>
/// Ensures that the grid view will contain a footer even if no data exists.
/// </summary>
/// <typeparam name="T">Where t is equal to the type of data in the gridview.</typeparam>
/// <param name="gridView">The grid view who's footer must persist.</param>
public static void EnsureGridViewFooter<T>(GridView gridView) where T: new()
{
if (gridView == null)
throw new ArgumentNullException("gridView");
if (gridView.DataSource != null && gridView.DataSource is IEnumerable<T> && (gridView.DataSource as IEnumerable<T>).Count() > 0)
return;
// If nothing has been assigned to the grid or it generated no rows we are going to add an empty one.
var emptySource = new List<T>();
var blankItem = new T();
emptySource.Add(blankItem);
gridView.DataSource = emptySource;
// On databinding make sure the empty row is set to invisible so it hides it from display.
gridView.RowDataBound += delegate(object sender, GridViewRowEventArgs e)
{
if (e.Row.DataItem == (object)blankItem)
e.Row.Visible = false;
};
}
Pour l'invoquons vous pouvez utiliser les éléments suivants:
MyGridView.DataSource = data;
EnsureGridViewFooter<MyDataType>(MyGridView);
MyGridView.DataBind();
Hope this helps. À votre santé!
- 1. Comment ajouter 2 lignes dans le pied de page Gridview
- 2. ASP.net mvc données communes pour le pied de page
- 3. Ajoutez dynamiquement un pied de page à ASP.NET GridView
- 4. Pied de page flottant CSS
- 5. Reportez-vous à la valeur Pied de page dans GridView créé dynamiquement ASP VB
- 6. jQuery: Rendre un bouton visible quand un TextBox a contenu
- 7. Android: Comment rendre le clavier toujours visible?
- 8. Astuce css pied de page avec IE6 ne fonctionne pas
- 9. css pour le texte de pied de page
- 10. iTextSharp Création d'un pied de page Page # de #
- 11. liaison de problème colonnes liées de gridview datafield utilisant le nom de colonne de mon datatable
- 12. JSF UIInput dans le pied de page DataTable
- 13. Asp.net GridView - comment accéder à la source de données avant que les données ne soient liées?
- 14. ajouter un pied de page à FlowDocumentsdocuments
- 15. ie 6 pied de page flottant vers le haut numéro
- 16. Problème avec le pied de page dans IE8
- 17. Rendre la sélection de plage programmatique visible pour l'utilisateur?
- 18. FLEX 4 s: Scroller, comment rendre le composant contenu visible?
- 19. Oracle Base de données de performance liées
- 20. Pied de page sur la dernière page imprimée
- 21. Liaison de données simple aux colonnes gridview
- 22. Lignes de pied de page multiples dans un tableau de données JSF
- 23. le contenu dynamique chevauche le pied de page mais reste dans le flux de contenu?
- 24. Le pied de page du rapport n'est pas exporté vers Excel
- 25. Rendre la source de données gridview rester dans l'interface non convertie en objet
- 26. Le code pense que la zone de texte Pied de page Datagrid est vide
- 27. Données dynamiques dans un pied de page de rapport RDLC sur plusieurs pages
- 28. Le bouton de suppression de gridview dynamique ne s'affiche pas
- 29. Gridview design: Comment découper le gridview afin qu'il ne prenne pas toute la largeur de la page?
- 30. Enlever l'en-tête et pied de page en utilisant C#
Cela ne fonctionne pas lorsque les colonnes Autogenerate == false, d'autres idées? – msbyuva
Il devrait être comme je l'ai fait plusieurs fois auparavant. Vous êtes-vous assuré que vous avez lié quelque chose au chargement de la page? – Mike737
Cela ne fonctionnait pas pour moi car DataKeyNames était spécifié dans la définition de la grille. Suppression des DataKeyNames et de la grille affichée normalement lorsque seul le pied de page indique l'absence de données. – YeeHaw1234