La façon la plus simple de le faire est de lier un tableau avec une longueur de un. Vous pouvez mettre n'importe quoi dans ce que vous aimez à identifier que c'est une ligne fictive. Sur votre GridViews RowDataBound méthode de vérifier pour voir si l'élément de données est la ligne fictive (assurez-vous que le RowType est un DataRow d'abord avant d'essayer de vérifier les données). Si c'est le mannequin ensemble de lignes, les lignes de visibilité à faux. Le pied de page et l'en-tête doit maintenant être visible sans aucune donnée.
Assurez-vous de définir le ShowFooter true à la propriété sur votre GridView.
Ce n'est pas de travail lors de générer automatiquement des Colonnes == false, d'autres idées ? Il devrait être comme je l'ai fait plusieurs fois auparavant. Avez-vous fait en sorte que vous avez quelque chose lié à elle au chargement de la page? Cela n'a pas fonctionné pour moi parce que j'avais DataKeyNames spécifié dans la définition de la grille. Enlevé le DataKeyNames et la grille affichée normalement, lorsque seul le pied de page indiquant quand pas de données. Aussi, vous ne pouvez pas utiliser cette solution lorsque vous êtes à l'aide de l'asp:BoundField de contrôle. Vous avez un modèle tout.
///<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>publicstaticvoidEnsureGridViewFooter<T>(GridView gridView)where T:new(){if(gridView ==null)thrownewArgumentNullException("gridView");if(gridView.DataSource!=null&& gridView.DataSourceisIEnumerable<T>&&(gridView.DataSourceasIEnumerable<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 =newList<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;};}
De l'Invoquer, vous pouvez utiliser les éléments suivants:
La façon la plus simple de le faire est de lier un tableau avec une longueur de un. Vous pouvez mettre n'importe quoi dans ce que vous aimez à identifier que c'est une ligne fictive. Sur votre GridViews RowDataBound méthode de vérifier pour voir si l'élément de données est la ligne fictive (assurez-vous que le RowType est un DataRow d'abord avant d'essayer de vérifier les données). Si c'est le mannequin ensemble de lignes, les lignes de visibilité à faux. Le pied de page et l'en-tête doit maintenant être visible sans aucune donnée.
Assurez-vous de définir le ShowFooter true à la propriété sur votre GridView.
par exemple.
Il devrait être comme je l'ai fait plusieurs fois auparavant. Avez-vous fait en sorte que vous avez quelque chose lié à elle au chargement de la page?
Cela n'a pas fonctionné pour moi parce que j'avais DataKeyNames spécifié dans la définition de la grille. Enlevé le DataKeyNames et la grille affichée normalement, lorsque seul le pied de page indiquant quand pas de données.
Aussi, vous ne pouvez pas utiliser cette solution lorsque vous êtes à l'aide de l'asp:BoundField de contrôle. Vous avez un modèle tout.
OriginalL'auteur Mike737
Voici quelque chose de facile que j'ai créé:
De l'Invoquer, vous pouvez utiliser les éléments suivants:
Espère que cette aide. Cheers!
OriginalL'auteur Devin
Ici est la manière la plus simple pour afficher le pied de page quand il est vide de données dans GridView .
OriginalL'auteur star