2014-01-29 2 views
0

Повторный заказ я получил dataTreeListView, попавшую AFEW заголовки столбцов, как к нему добавляется следующим образом:ObjectListView Колонка

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 свойств (в том числе и IdParentId).

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

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 

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

Зачем нужна помощь?

+0

вид типа2 определяет oCol2 первый, а затем oCol1 (с возможностью расширения). По вашему вопросу это выглядит как ожидаемый результат. Если я ничего не пропущу. –

+0

Hi theghostofc, я пытался сделать что-то вроде этого. dataTreeListView.AllColumns.Clear(); oCol2.IsVisible = true; dataTreeListView.AllColumns.AddRange (новый OLVColumn [] {oCol2, oCol1, oCol3, oCol4, oCol5,}); результат все тот же, oCol1 в первом столбце – user3167398

ответ

0

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

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

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

+0

Привет Грамматик, с тех пор я использовал другой подход, чтобы иметь дело с отображением моих данных, спасибо! – user3167398

Смежные вопросы