通常の ListView では、通常、次のような列をその場で生成します。
var list = new List<ColumnNameSize>();
list.Add(new ColumnNameSize("Computer Name", 0));
list.Add(new ColumnNameSize("Full Computer Name", 150));
list.Add(new ColumnNameSize("Migrated", 150));
list.Add(new ColumnNameSize("Disabled", 0));
list.Add(new ColumnNameSize("Disabled & Not Migrated", 150));
generateListView(listViewObjects, list);
public static void generateListView(ListView varListView, List<ColumnNameSize> nameSizeList) {
varListView.ClearColumns();
foreach(ColumnNameSize nameSize in nameSizeList) {
varListView.AddColumn(nameSize.ColumnName, nameSize.ColumnSize);
}
}
ObjectListViewでどうすればよいでしょうか。複数の組み合わせを試しました:
public void generateListView(ObjectListView varListView, List<ColumnNameSize> nameSizeList) {
ArrayList myArrayList = new ArrayList();
foreach (ColumnNameSize nameSize in nameSizeList) {
OLVColumn columnHeader = new BrightIdeasSoftware.OLVColumn();
columnHeader.Width = nameSize.ColumnSize;
columnHeader.Text = nameSize.ColumnName;
myArrayList.Add(columnHeader);
varListView.AllColumns.Add(columnHeader);
}
Object columnsHeader = myArrayList.ToArray();
varListView.Columns.AddRange( columnsHeader);
}
しかし、どれも機能していないようです...