2012-03-29 9 views
0

データをdatagridviewに正しくリトリーブすることに問題があります。まず、私が得たもの:[Nhibernate F]データをデータグリッドビューにロードする

2つのクラス:

namespace hms.core.Entities 
{ 
    public class Osoba : BaseEntity 
    { 
     public virtual int Id { get; set; } 
     public virtual string Imie { get; set; } 
     public virtual decimal SumaWydatkow { get; set; } 

     public virtual Dział Dział { get; set; } 
    } 
} 

namespace hms.core.Entities 
{ 
    public class Dział 
    { 
     public virtual int Id { get; set; } 
     public virtual string Nazwa { get; set; } 
     public virtual int SumaWydatkowDzialu { get; set; } 

     public virtual IList<Osoba> Osoby { get; set; } 
    } 
} 

とマッピング:

namespace hms.data.Mappings 
{ 
    public class OsobaMap : ClassMap<Osoba> 
    { 
     public OsobaMap() 
     { 
      Table("Osoba"); 

      Id(e => e.Id); 
      Map(e => e.Imie, "Imie").Length(50); 
      Map(e => e.SumaWydatkow, "SumaWydatkow"); 

      References(e => e.Dział, "IdDzialu").Not.LazyLoad(); 
     } 
    } 
} 

namespace hms.data.Mappings 
{ 
    public class DziałMapowanie : ClassMap<Dział> 
    { 
     public DziałMapowanie() 
     { 
      Table("Dział"); 

      Id(e => e.Id); 
      Map(e => e.Nazwa, "Nazwa").Length(50); 
      Map(e => e.SumaWydatkowDzialu, "SumaWydatkowDzialu"); 

      HasMany(c => c.Osoby).KeyColumn("IdDzialu").LazyLoad().Cascade.DeleteOrphan().Inverse(); 
     } 
    } 
} 

を私はDataGridViewのにテーブルOsobaからデータをロードしようとした、そしてそれは大丈夫だ、すべての情報がデータベースに表示されています列 "Dział"だけすべての行の値で私を示しています: hms.Core.Entities.Dział。その問題を解決するには?

答えて

0

私はWinFormsに慣れていませんが、DataGridViewはDziałオブジェクトを列に表示する方法を知らないため、ToString()表現を示しているようです。私は、Dzialのどのプロパティを表示するかをDziałグリッドの列で指定する方法があるはずだと思います。

+0

しかし、どうすればいいですか? – nighttrain

+0

誰かが助けることができますか? – nighttrain