2009-05-26 5 views
1

J'utilise gridView. J'ai 4 colonnes générées automatiquement et 1 généré par moi-même. Maintenant, la colonne que j'ai générée est affichée en premier, puis les colonnes générées automatiquement. Je veux afficher les colonnes générées automatiquement d'abord, puis la colonne générée.Modifier l'ordre des colonnes

Répondre

0

pour que vous devez connaître le datafield (élément de données que vous souhaitez lié) et utiliser soit modèle ou boundcolumns pour y parvenir, comme:

une grille de colonne générer automatiquement

<asp:GridView id="gv" runat="server" AutoGenerateColumns="True"> 
</asp:GridView> 

une grille de colonne générer manuellement

<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundField HeaderText="My First Column" DataField="myField1" /> 
     <asp:BoundField HeaderText="My Second Column" DataField="myField2" /> 
     <asp:BoundField HeaderText="My Third Column" DataField="myField3" /> 

     <asp:TemplateField HeaderText="My Fourth Column"> 
      <ItemTemplate> 
       <asp:Label ID="lbl" runat="server" Text='<%# Eval("myField4") %>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

On peut utiliser soit un BoundFi eld ou un TemplateField, avec le modèle que vous pouvez faire beaucoup plus, créer une liste déroulante au lieu d'une étiquette, etc ... dans un BoundField la sortie sera toujours une étiquette et vous ne pouvez formater la valeur de chaîne en utilisant la nomenclature .NET comme {0: d}

Vous avez plus de modèles prédéfinis à utiliser tels que Checkbox, Button, Hyperlink, Commande et Image.

+0

Je dois user AutoGenerateColumns = "true" faux. J'ai besoin de générer automatiquement. mais veulent aussi généré manuellement. – Waheed

+0

vous ne pouvez pas avoir les deux ... si vous configurez comme AutoGenerateColumns = "true" il n'y a aucun contrôle sur les colonnes, sauf à partir de votre entité d'objet – balexandre

Questions connexes