У меня есть бизнес-объект в моем приложении XAF, который наследуется от стандартного класса Scheduler'Event'. В представлении списка я получаю представление списка планировщика по умолчанию, в котором поля отображают описательный текст. Я хочу отображать дополнительный текст в этих полях. Я осмотрелся и нашел событие «ScheduleControl.InitAppointmentDisplayText», но не смог понять, как реализовать его в моем классе.
DevExpress: настройка отображаемого текста в представлении списка планировщика XAF
Ответы (1)
Вы можете реализовать следующий код в контроллере представления в рамках проекта Module.Win.
namespace Project.Module.Win.Controllers{
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Scheduler.Win;
using DevExpress.XtraScheduler;
public partial class SchedulerViewController : ObjectViewController<ListView, Project.Module.BusinessObjects.Event>
{
public SchedulerViewController()
{
this.InitializeComponent();
this.RegisterActions(this.components);
}
protected override void OnViewControlsCreated()
{
base.OnViewControlsCreated();
SchedulerListEditor listEditor = View.Editor as SchedulerListEditor;
if (listEditor != null)
{
SchedulerControl scheduler = listEditor.SchedulerControl;
if (scheduler != null)
{
scheduler.InitAppointmentDisplayText += new AppointmentDisplayTextEventHandler(this.SchedulerControl_InitAppointmentDisplayText);
}
}
}
private void SchedulerControl_InitAppointmentDisplayText(object sender, AppointmentDisplayTextEventArgs e)
{
MyEventObject myEventObject = this.ObjectSpace.GetObjectByKey<MyEventObject>(e.Appointment.Id);
if (myEventObject != null)
{
e.Text = string.Concat("Text Goes Here - ", myEventObject.FieldValue);
}
}
}
person
Shwabster
schedule
18.03.2015
Мне не удалось получить доступ к свойствам моего класса. e.Appointment дает доступ только к свойствам «События» по умолчанию.
- person user1821344; 18.03.2015
View.Editor.List содержит список всех объектов, доступных в списке. Но View.CurrentObject всегда возвращает null
- person user1821344; 18.03.2015
Я обновил свой ответ для вас, мне удалось заставить его работать, показывая мои настраиваемые поля, которые я добавил в свой класс событий.
- person Shwabster; 18.03.2015