2012-01-24 9 views
3

私はカスタムオブジェクトのListにバインドされているGridViewコントロールを持っています。オブジェクトには5つのプロパティがありますが、すべてのプロパティのGridViewに列を生成する必要はありません。私は 'AutoGenerateColumns'をオフにする方法を知っていますが、私はどのように各オブジェクトの特定のプロパティを選択的に表示するかわかりません。これをどうやってやるべきか分かっているの?GridViewに特定のリストオブジェクトのプロパティのみを表示


のは、私はそうのようなリストを持っているとしましょう:List<Car> cars = new List<Car>

は各CarModelMakeYearTransmissionColorためのプロパティがあります。

私は私のGridViewコントロールが車Listにバインドしたいが、唯一のModelを示す列、Make、およびYearを持っています。

答えて

2

BoundFieldまたはTemplateFieldを作成する必要があります。例えば。

<asp :GridView ID=“GridView1″ runat=“server”> 
    <columns> 
     <asp :BoundField DataField=“ColumnName” 
      DataFormatString=“{0:M-dd-yyyy}” 
      HtmlEncode=“false” 
      HeaderText=“ColumnName” /> 
     </columns> 
</asp:GridView> 

または

<asp:TemplateField> 
     <HeaderTemplate>Make</HeaderTemplate> 
     <ItemTemplate><%# DataBinder.Eval(Container.DataItem, 
        "Make")%></ItemTemplate> 
</asp:TemplateField> 
+0

ニース、ありがとう!これは完全に機能しました! – JToland

+1

心配する必要はありません - これらのコントロールは非常に強力なので、読んで新しいことを試してください。 –

0

あなたはBindingList<yourObject>を作成する必要があります。基本的にはListのようですが、データソースとしてバインドする方が簡単です。

フロントエンドの列コレクションでは、DataPropertyNameプロパティを使用して、表示する各プロパティのパブリックプロパティを表示します。次の記事をチェックしてください。お役に立てれば。

Binding a GridView to a collection

関連する問題