2010-08-08 16 views
2

utilisant C# & asp.netComment cacher la vide colonne

s'il n'y a pas de données dans le tableau, gridview l'affichage d'une des lignes (il était vide)

Je veux cacher la ligne GridView vide.

Comment faire.

Répondre

3

En supposant que vous pouvez normalement supprimer qu'une ligne visible juste vérifier que si un Feild qui aurait normalement une valeur est vide et le nombre de lignes est 1 puis supprimez cette ligne.

if(String.IsNullOrEmpty(mydatagrid.Rows[0][0].ToString()) && mydatagrid.Rows.Count==1) //Check a field that would normally have a value 
{ 
    mydatagrid.Rows.RemoveAt(0); 
} 

Laissez-moi savoir si cela aide/fonctionne

1

Si vous effectuez manuellement une liaison de données que vous pouvez vérifier à ce moment et masquer ou désactiver le contrôle s'il n'y a pas de données. Si vous utilisez la vue de conception pour la liaison de données, vous devez vous abonner aux événements DataBinding ou PreRender sur le contrôle, puis vérifier.

1

vous pouvez vérifier si datatable n'a pas de lignes

utilisation:

mydatagrid.DataSource=null; 

mydatagrid.DataBind(); 
0

Le comportement normal GridView est de rendre rien s'il n'y a pas de lignes de données. (Eh bien, presque rien, il insiste sur le rendu d'une < div wrapper >, mais ce sera vide.)

Si vous spécifiez un EmptyDataTemplate, cependant, une table d'emballage unicellulaire est généré pour contenir tout ce qui est dans votre modèle. Même si votre modèle est vide, vous obtiendrez cette table d'emballage (avec sa cellule vide). On dirait que la réponse à votre question est ne spécifiez pas un EmptyDataTemplate.

+0

Cette enveloppe de table EmptyDataTemplate est une présomption encore plus ennuyante que la div GridView. Si vous voulez que votre GridView vide ressemble à un tableau rempli de données (avec un pied de page pour ajouter de nouvelles lignes, par exemple), vous créez un modèle de table ... qui est alors inutilement enveloppé dans une autre table. Pas une recette pour le succès CSS. – fortboise

Questions connexes