【问题标题】:Showing list of nonpersistent objects in xaf在 xaf 中显示非持久对象列表
【发布时间】:2015-08-05 07:17:34
【问题描述】:

我想使用 xaf 显示非持久对象的列表视图。我有一个非持久类。我想在弹出弹出窗口时将其显示为列表视图。到目前为止,我无法做到这一点。任何帮助表示赞赏。

【问题讨论】:

标签: c# listview xaf


【解决方案1】:

在 DevExpress 支持中心有一个完整的例子:How to: Display a List of Non-Persistent Objects。你甚至可以run it online

大部分解决方案是这样的:

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 的所有内容,您应该先尝试他们的support center

【讨论】:

  • 谢谢@shamp00,我昨天确实像这个例子那样做了,它有效
猜你喜欢
  • 2015-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-14
  • 1970-01-01
  • 2022-12-17
  • 2018-08-08
  • 1970-01-01
相关资源
最近更新 更多