Я хочу показать список непостоянных объектов, используя xaf. У меня есть непостоянный класс. Я хочу показать его как список, когда появляется всплывающее окно. Пока мне это не удавалось. Любая помощь приветствуется.
Отображение списка непостоянных объектов в xaf
comment
Пожалуйста, покажите, что у вас есть на данный момент, и попытайтесь объяснить, где у вас есть проблемы с вашим существующим кодом!
- person DerApe   schedule 05.08.2015
comment
Пожалуйста, научитесь быть добрее к людям, а не использовать восклицательные знаки. Тебе не нужно мне помогать @derape
- person bilgestackoverflow   schedule 05.08.2015
comment
Ну, я не думаю, что был груб, я просто пытался сказать вам, чтобы улучшить ваш вопрос, что люди здесь, на SO, с большей вероятностью смогут вам помочь. Если у вас возникли проблемы с его улучшением, вы можете посмотреть, как задавать вопросы здесь: stackoverflow.com/help/how- спросить
- person DerApe   schedule 05.08.2015
comment
См. также более простое, но более мощное решение с использованием события NonPersistentObjectSpace.ObjectsGetting в следующих разделах: Как: Отображение представления списка непостоянных объектов из навигации Как: Отображение непостоянных объектов в отчете
- person Dennis Garavsky   schedule 22.09.2015
Ответы (1)
В Центре поддержки DevExpress есть полный пример: Как: Отобразить список не- Постоянные объекты. Вы даже можете запустить его онлайн.
Основная часть решения такова:
public class ShowDuplicateBooksController : ObjectViewController<ListView, Book>
{
public ShowDuplicateBooksController()
{
PopupWindowShowAction showDuplicatesAction =
new PopupWindowShowAction(this, "ShowDuplicateBooks", "View");
showDuplicatesAction.CustomizePopupWindowParams += showDuplicatesAction_CustomizePopupWindowParams;
}
void showDuplicatesAction_CustomizePopupWindowParams(object sender, CustomizePopupWindowParamsEventArgs e)
{
Dictionary<string, int> dictionary = new Dictionary<string, int>();
foreach(Book book in View.CollectionSource.List) {
if(!string.IsNullOrEmpty(book.Title)) {
if(dictionary.ContainsKey(book.Title)) {
dictionary[book.Title]++;
}
else
dictionary.Add(book.Title, 1);
}
}
DuplicatesList duplicateList = new DuplicatesList();
int duplicateId = 0;
foreach(KeyValuePair<string, int> record in dictionary) {
if (record.Value > 1) {
duplicateList.Duplicates.Add(
new Duplicate() {
Id = duplicateId,
Title = record.Key,
Count = record.Value });
duplicateId++;
}
}
e.View = Application.CreateDetailView(Application.CreateObjectSpace(), duplicateList);
e.DialogController.SaveOnAccept = false;
e.DialogController.CancelAction.Active["NothingToCancel"] = false;
}
}
По всем вопросам, связанным с DevExpress, вам следует сначала обратиться в их центр поддержки.
person
shamp00
schedule
05.08.2015
Спасибо @ shamp00, вчера я действительно сделал это, как этот пример, и он работает.
- person bilgestackoverflow; 06.08.2015