Переупорядочение столбцов ObjectListView

У меня есть dataTreeListView который имеет несколько заголовков столбцов, добавленных к нему следующим образом:

oCol2.IsVisible = false;
dataTreeListView.AllColumns.AddRange(new OLVColumn[] { oCol1, oCol2, oCol3, oCol4, oCol5});

dataTreeListView.KeyAspectName = id;
dataTreeListView.ParentKeyAspectName = ParentId;
dataTreeListView.DataSource = list;
dataTreeListView.RootKeyValue = 0;

У самого списка есть 7 свойств (включая Id а также ParentId).

Я пытаюсь добиться того, чтобы selectedIndex При изменении поля со списком заголовок столбца изменит позицию.

From View (type1) (oCol2.IsVisible = false):
oCol1 (expandable) | oCol2 (hidden) | oCol3 |   oCol4 | oCol5

To View (type2) (oCol2.IsVisible = true):
oCol2 | oCol1 (expandable) | oCol3 | oCol4 | oCol5

Теперь я получил представление о том, что view (type1) работает правильно, но после переключения на view type2 расширяемый столбец все еще находится в oCol1 вместо oCol2. Кажется, я не мог switch основной столбец.

Любая помощь для этого?

1 ответ

Решение

Если вы просто хотите изменить порядок, измените DisplayIndex свойство на каждый столбец.

Если вы хотите скрыть / показать столбцы (а также изменить их порядок), вы измените содержимое AllColumns а затем позвоните RebuildColumns(), Смотрите этот FAQ

Если вы хотите переключаться между различными колонками, вы можете использовать SaveState() а также RestoreState() Посмотреть этот рецепт

Другие вопросы по тегам