2016-09-22 10 views
0

結合:私のasp.netアプリケーションでASP.Net ObjectDataSourceのデータは、私は2つのクラス持っ

public class Contact{ 

    public string contact { get; set; } 
    public string contact_type { get; set; } 

} 

public class Person{ 

public string first_name { get; set; } 
public string last_name { get; set; } 
Contact phone 

} 

を私はGridViewの中の人物のリストを参照する必要があります。 私はObjectDataSourceを使ってListをバインドします。ただし、first_nameとlast_nameの2つの列だけがgridviewに表示されます。人の接触を見ることが重要です。 つまり、サブクラスContactを同じgridviewにバインドする方法です。 これを行う最善の方法は何ですか?私はDataTableを使う考えが嫌いです。 ありがとう!

+0

グリッドビューに別の列として表示する連絡先フィールドはありますか? – Andrei

答えて

1

私はあなたの最善の策は、内部オブジェクトのフィールドにアクセスするには、テンプレートのフィールドとはevalを使用することであると思う:

<asp:TemplateField HeaderText="Contact"> 
    <ItemTemplate> 
     <%# Eval("phone.contact") %> 
    </ItemTemplate> 
</asp:TemplateField> 

Autoを使用している場合は、列はそれを維持する、特色生成され、列が生成されたものの後に追加されますと宣言。

+0

いいです。私は上記の例を使用することになっていました。 –

+0

ありがとう!このアドバイスは私を助けました。 – user1268479

関連する問題