Comment faire gridview colonne visible vrai ou faux dynamiquement?
Je suis en utilisant GridView dans asp.net comme ceci:
mygrid.DataSource = dTable;
mygrid.DataBind();
if (mygrid.Columns.Count > 1)
{
mygrid.Columns[2].Visible = false;
}
ma grille afficher le code est comme suit
<asp:GridView ID="mygrid" runat="server" AllowPaging="True"
onpageindexchanging="mygrid_PageIndexChanging" PageSize="15"
PersistedSelection="true"
ondatabound="mygrid_DataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="Edit" runat="server" Text="Edit" NavigateUrl='<%# Eval("Value", "~/myweppage.aspx?Id=M{0}") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings PageButtonCount="4" />
</asp:GridView>
Ici, je ne suis pas en mesure de définir visible=false
.
J'ai essayé avec la réponse suivante
Comment puis-je faire plusieurs gridview colonnes invisibles dynamiquement?
Je ne parviens pas à trouver datarow
événement dans Visual Studio 2010. Quelqu'un peut-il m'aider à définir la colonne propriété visible?
ma structure de Colonne de la table de données est
colonne[0] est Value
colonne, puis 4 autres colonnes sont là.
ma structure de Colonne de la Grille de point de vue est
colonne[0] est link field
colonneUn est Value field from Dtable
4 autres colonnes
si je ne suis pas en mettre à l'intérieur de l'if condition then objet de référence non définie erreur de sa présentation. si je l'ai mis à l'intérieur si la condition contol n'est pas venue.
avez-vous utilisé
Pas de. je ne suis pas habitué.
Kachhadiya si j'ai mis AutoGenerateColumns="false" ptoperty alors que sur la colonne est visible. les colonnes qui sont à venir à partir des données de la table ne sont pas visibles. de nouveau le même problème de colonne count> 1 condition échoue.
J'ai édité réponse, il fonctionnera parfaitement pour vous.Veuillez voir mon édité réponse.
avez-vous utilisé
AutoGenerateColumns="false"
pour gridview?Pas de. je ne suis pas habitué.
Kachhadiya si j'ai mis AutoGenerateColumns="false" ptoperty alors que sur la colonne est visible. les colonnes qui sont à venir à partir des données de la table ne sont pas visibles. de nouveau le même problème de colonne count> 1 condition échoue.
J'ai édité réponse, il fonctionnera parfaitement pour vous.Veuillez voir mon édité réponse.
OriginalL'auteur Raghuveera | 2013-11-28
Vous devez vous connecter pour publier un commentaire.
C'est la solution parfaite pour générées dynamiquement des colonnes dans le contrôle gridview
Veuillez essayer ceci :
Pour .page aspx modifier gridview tag :
OriginalL'auteur Bhavesh Kachhadiya
*texte fort*Essayez de faire usage de l'événement
ItemDataBound
événement et essayer la syntaxe suivante pour masquer la colonne de manière dynamique:Nombre de colonnes pour un datatable commence à partir de 0 pas de 1 . si c'est la deuxième colonne , vous voulez cacher, l'indice devrait être de 1.
Espère que cela aide..
Donnant erreur comme cet Index était hors de portée. Doit être non négatif et inférieur à la taille de la collection. Nom du paramètre: index
est la valeur de l'indice , vous avez donné ?
2 parce que dans le tableau de données c'est la 2ème colonne.
cela ne fonctionne pas..pouvez-vous s'il vous plaît essayez d'utiliser des pré-rendu et l'autre chose, c'est vous le mettre AutogenerateColumns=Faux ou pas?
OriginalL'auteur Sai Avinash
Ici est la réponse la plus simple. Créer des css comme ci-dessous
alors au lieu de
column.visible = false
, suffit d'attribuerclassHide
classe CSS à la colonne.par exemple
mygrid.Les colonnes[2].cssClass="classHide"
Propriété cssClass pas trouvé
est-il travaillé mon frnd?
Pas de yar même erreur c'est de donner.
OriginalL'auteur Indranil.Bharambe
Clic droit sur gridview et sélectionnez Propriétés, puis sélectionnez les Événements que vous y trouverez RowDataBound Double-Cliquez sur elle et dans la Ligne de données lié à écrire ce
OriginalL'auteur Vishal Pandey
Essayez ceci:
Merci @ Robert-Britannique
OriginalL'auteur Pavani Manthena