创建ObjectListView动态

时间:2014-11-26 17:42:28

标签: c# objectlistview

我会使用列和行填充ObjectListView,但是我的简单程序崩溃没有错误。怎么了?我的指定目标是从具有未知架构的数据库创建ListView。为什么我不知道列名,我需要动态创建方面getter。我已经尝试过ObjectListView但是我没能在ListView中添加一行。

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

            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();    

1 个答案:

答案 0 :(得分:0)

就如何编程ObjectListView而言,现有文档给出了一些答案:

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

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);

但是,代码中的任何内容都不会导致程序崩溃。您将不得不寻找其他地方的崩溃来源。