首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建ObjectListView动态

创建ObjectListView动态
EN

Stack Overflow用户
提问于 2014-11-26 17:42:28
回答 1查看 1.5K关注 0票数 0

我会用列和行填充ObjectListView,但是我的简单程序会崩溃而不会出错。怎么啦?我指定的目标是从带有未知模式的数据库创建一个ListView。为什么我不知道列名,我需要创建方面getter动态。我已经尝试过ObjectListView,但是我没有给ListView添加一个行。

编辑:(愚蠢的代码被删除)我已经解决了我的问题,谢谢AllColumns和RebuildColumns()的提示

代码语言:javascript
复制
            foreach (TTablecolumn c in table.Columns) {
                // Spalte zum Zeigen der aktuellen Werte einfügen ...
                col = new OLVColumn(c.Columnname + " (ALT)", "value");
                col.AspectGetter = delegate(object x) { return ((XmlStuff.Row)x).getColumnByName(c.Columnname).Value; };
                col.IsEditable = false;
                lv.AllColumns.Add(col);

                // Spalte zum Zeigen des neuen Wertes
                col = new OLVColumn(c.Columnname, "newvalue");
                col.AspectGetter = delegate(object x) { return ((XmlStuff.Row)x).getColumnByName(c.Columnname).NewValue; };
                col.IsEditable = true;
                lv.AllColumns.Add(col);

                createViewField(c);
            }
            lv.RebuildColumns();    
EN

回答 1

Stack Overflow用户

发布于 2014-11-27 01:34:26

关于如何编写ObjectListView的程序,现有的文档给出了一些答案:

  • 根据常见问题中提供的信息添加列
  • 不要添加OLVListItems,正如快速入门指南中所解释的那样。

所以,你需要这样的东西:

代码语言:javascript
复制
lv.AllColumns.Add(col1);
lv.AllColumns.Add(col2);
lv.RebuildColumns();

var list = new List<Model>();
for (int i = 1; i <= 10; i++) 
    list.Add(new Model());
lv.SetObjects(list);

但是,代码中没有任何东西会导致程序硬崩溃。你必须从其他地方寻找坠机的源头。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27155650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档