2012-03-29 1 views
0

У меня проблемы с возвратом данных правильно в datagridview. Первое, что я получил:[Nhibernate F] Загрузка данных в datagridview

два класса:

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, и это нормально, вся информация смотрите в базу данных но только столбец «Dział» показывает мне во всех строках значения: hms.Core.Entities.Dział. Как решить эту проблему?

ответ

0

Я не знаком с WinForms, но похоже, что DataGridView не знает, как показать свой объект Dział в столбцах, чтобы он просто отображал представление ToString(). Я думаю, что должен быть способ указать в столбце сетки Dzia, какое свойство Dzial показать.

+0

Но как я мог это сделать? – nighttrain

+0

Любой может помочь? – nighttrain