Объект из нетипизированного dataseta
От: b0bzzZ  
Дата: 12.09.06 06:10
Оценка:
Доброго времени,
есть такой вопрос.
К примеру имеем классы


    public abstract class Appointment : BizEntity
    {
        public abstract string Name { get;set;}
    }

    [MapField("AppointmentID", "Appointment.ID")]
    public abstract class Person : BizEntity
    {
        [MaxLength(50), Required]    public abstract string FirstName { get;set;}
        [MaxLength(50)]            public abstract string MiddleName { get;set;}
        [MaxLength(50), Required]    public abstract string LastName { get;set;}
        [DefaultValue(Sex.Unknown)]    public abstract Sex Sex { get; set; }
                        public abstract Appointment Appointment { get;set;}
    }


Каким лучше образом отобразить в датагриде поля Person(FirstName, MiddleName, LastName, Sex (в терминах русского языка)), Appointment (Name), что бы потом получить по выбранной в датагриде позиции объект Person??

И еще маленький вопрос:
если в объект Person добавляем —
public abstract Person Relative { get;set;}
, то процесс создания экземпляра Person вешается, зациклившись на Relative. Как быть??
Re: Объект из нетипизированного dataseta
От: Дьяченко Александр Россия  
Дата: 12.09.06 07:38
Оценка:
Здравствуйте, b0bzzZ, Вы писали:

Z>Каким лучше образом отобразить в датагриде поля Person(FirstName, MiddleName, LastName, Sex (в терминах русского языка)), Appointment (Name), что бы потом получить по выбранной в датагриде позиции объект Person??


Смотри демо приложение (там все это есть).

Z>И еще маленький вопрос:

Z>если в объект Person добавляем —
public abstract Person Relative { get;set;}
, то процесс создания экземпляра Person вешается, зациклившись на Relative. Как быть??


Конечно. В конструкторе Person создается экземляр Person в конструкторе которого опять создается Person и так далее. Поэтому и вешается — переполнение стека. А вот как сделать что бы поле для Кудфешму не заполнялось этого я не знаю.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Re[2]: Объект из нетипизированного dataseta
От: Дьяченко Александр Россия  
Дата: 12.09.06 07:43
Оценка:
Здравствуйте, b0bzzZ, Вы писали:

Z>>И еще маленький вопрос:

Z>>если в объект Person добавляем —
public abstract Person Relative { get;set;}
, то процесс создания экземпляра Person вешается, зациклившись на Relative. Как быть??


ДА>Конечно. В конструкторе Person создается экземляр Person в конструкторе которого опять создается Person и так далее. Поэтому и вешается — переполнение стека. А вот как сделать что бы поле для Relative не заполнялось этого я не знаю.


Скорей всего поможет NoInstanceAttribute.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Re[2]: Объект из нетипизированного dataseta
От: b0bzzZ  
Дата: 12.09.06 08:03
Оценка:
Здравствуйте, Дьяченко Александр, Вы писали:

ДА>Здравствуйте, b0bzzZ, Вы писали:


Z>>Каким лучше образом отобразить в датагриде поля Person(FirstName, MiddleName, LastName, Sex (в терминах русского языка)), Appointment (Name), что бы потом получить по выбранной в датагриде позиции объект Person??


ДА>Смотри демо приложение (там все это есть).


Демо я всё изучил, но там ведь просто одна таблица персон, расширяемая Doctor и Patient (один к одному) и выводится список List<Person>, из которого потом лекго эти самые объекты достаются.
Как быть если в грид нужно вывести что-то более сложное чем List<Person>, а именно список составных объектов, ведь там же нужно видеть Appointment (Name)??
Кроме того как enum Sex представить в гриде в терминах русского языка, а не Men, Female??
Re[3]: Объект из нетипизированного dataseta
От: Дьяченко Александр Россия  
Дата: 12.09.06 08:49
Оценка:
Здравствуйте, b0bzzZ, Вы писали:

Z>>>Каким лучше образом отобразить в датагриде поля Person(FirstName, MiddleName, LastName, Sex (в терминах русского языка)), Appointment (Name), что бы потом получить по выбранной в датагриде позиции объект Person??


ДА>>Смотри демо приложение (там все это есть).


Z>Демо я всё изучил, но там ведь просто одна таблица персон, расширяемая Doctor и Patient (один к одному) и выводится список List<Person>, из которого потом лекго эти самые объекты достаются.


Странно мне казалось там все это было.

Z>Как быть если в грид нужно вывести что-то более сложное чем List<Person>, а именно список составных объектов, ведь там же нужно видеть Appointment (Name)??


Это просто DataGridView рубишь к List<Person> через ObjectBinder тогда можно биндить на "Appointment.Name"

Z>Кроме того как enum Sex представить в гриде в терминах русского языка, а не Men, Female??


Попробуй к элементам enum дорисовать DisplayName должно поидее отобразиться нормально.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Re[4]: Объект из нетипизированного dataseta
От: b0bzzZ  
Дата: 12.09.06 11:39
Оценка:
Здравствуйте, Дьяченко Александр, Вы писали:

Списибо за помощь, буду пробовать........

ДА>Это просто DataGridView рубишь к List<Person> через ObjectBinder тогда можно биндить на "Appointment.Name"


Z>>Кроме того как enum Sex представить в гриде в терминах русского языка, а не Men, Female??


ДА>Попробуй к элементам enum дорисовать DisplayName должно поидее отобразиться нормально.
Re[4]: Объект из нетипизированного dataseta
От: b0bzzZ  
Дата: 12.09.06 12:08
Оценка:
Здравствуйте, Дьяченко Александр, Вы писали:


ДА>Это просто DataGridView рубишь к List<Person> через ObjectBinder тогда можно биндить на "Appointment.Name"


Буду очень признателен за пример, как это делается......
Re[5]: Объект из нетипизированного dataseta
От: Дьяченко Александр Россия  
Дата: 13.09.06 00:51
Оценка: 11 (1)
Здравствуйте, b0bzzZ, Вы писали:

ДА>>Это просто DataGridView рубишь к List<Person> через ObjectBinder тогда можно биндить на "Appointment.Name"

Z>Буду очень признателен за пример, как это делается......

Мог бы и сам попробывать. Пример можно забрать здесь.
... << RSDN@Home 1.2.0 alpha rev. 655>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.