Доброго времени,
есть такой вопрос.
К примеру имеем классы
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. Как быть??
Здравствуйте, b0bzzZ, Вы писали:
Z>Каким лучше образом отобразить в датагриде поля Person(FirstName, MiddleName, LastName, Sex (в терминах русского языка)), Appointment (Name), что бы потом получить по выбранной в датагриде позиции объект Person??
Смотри демо приложение (там все это есть).
Z>И еще маленький вопрос: Z>если в объект Person добавляем —
public abstract Person Relative { get;set;}
, то процесс создания экземпляра Person вешается, зациклившись на Relative. Как быть??
Конечно. В конструкторе Person создается экземляр Person в конструкторе которого опять создается Person и так далее. Поэтому и вешается — переполнение стека. А вот как сделать что бы поле для Кудфешму не заполнялось этого я не знаю.
Здравствуйте, b0bzzZ, Вы писали:
Z>>И еще маленький вопрос: Z>>если в объект Person добавляем —
public abstract Person Relative { get;set;}
, то процесс создания экземпляра Person вешается, зациклившись на Relative. Как быть??
ДА>Конечно. В конструкторе Person создается экземляр Person в конструкторе которого опять создается Person и так далее. Поэтому и вешается — переполнение стека. А вот как сделать что бы поле для Relative не заполнялось этого я не знаю.
Здравствуйте, Дьяченко Александр, Вы писали:
ДА>Здравствуйте, b0bzzZ, Вы писали:
Z>>Каким лучше образом отобразить в датагриде поля Person(FirstName, MiddleName, LastName, Sex (в терминах русского языка)), Appointment (Name), что бы потом получить по выбранной в датагриде позиции объект Person??
ДА>Смотри демо приложение (там все это есть).
Демо я всё изучил, но там ведь просто одна таблица персон, расширяемая Doctor и Patient (один к одному) и выводится список List<Person>, из которого потом лекго эти самые объекты достаются.
Как быть если в грид нужно вывести что-то более сложное чем List<Person>, а именно список составных объектов, ведь там же нужно видеть Appointment (Name)??
Кроме того как enum Sex представить в гриде в терминах русского языка, а не Men, Female??
Здравствуйте, 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 должно поидее отобразиться нормально.
Списибо за помощь, буду пробовать........
ДА>Это просто DataGridView рубишь к List<Person> через ObjectBinder тогда можно биндить на "Appointment.Name"
Z>>Кроме того как enum Sex представить в гриде в терминах русского языка, а не Men, Female??
ДА>Попробуй к элементам enum дорисовать DisplayName должно поидее отобразиться нормально.
Здравствуйте, b0bzzZ, Вы писали:
ДА>>Это просто DataGridView рубишь к List<Person> через ObjectBinder тогда можно биндить на "Appointment.Name" Z>Буду очень признателен за пример, как это делается......
Мог бы и сам попробывать. Пример можно забрать здесь.