我会用列和行填充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(); 发布于 2014-11-27 01:34:26
关于如何编写ObjectListView的程序,现有的文档给出了一些答案:
OLVListItems,正如快速入门指南中所解释的那样。所以,你需要这样的东西:
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);但是,代码中没有任何东西会导致程序硬崩溃。你必须从其他地方寻找坠机的源头。
https://stackoverflow.com/questions/27155650
复制相似问题