2010-09-01 3 views
3

Hai all, Я использую devexpress XtraGrid в приложении C# .NET. Во время выполнения я хочу скрыть 1 столбец XtraGrid и получить доступ к этому столбцу в коде за страницей. И, пожалуйста, помогите получить доступ к строкам и столбцы XtraGrid.Как скрыть столбец devexpress XtraGrid

Спасибо

+2

http://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridColumnsGridColumn_Visibletopic – Josh

ответ

8

Чтобы скрыть столбец из набора пользователя столбцов видимого свойство Ложных как упомянуто выше.

Однако это помещает скрытый столбец в меню SelectColumn, доступ к которому пользователь может получить во время выполнения.

Щелкните правой кнопкой мыши Grid Header -> Щелкните Select Columns -> Выберите скрытый столбец из маленького окна -> Перетащите его в Grid.

В этом случае ваши скрытые столбцы будут доступны для пользователя. Есть два возможных решения, чтобы избежать описанной выше ситуации:

  1. В дополнение к установке свойства Видимый Колонка также установить OptionColumn.AllowShowHide в Ложный. Это позволит убедиться, что этот столбец не появится в окне выбора столбца.

  2. Другое решение должно использоваться только в том случае, если вы не даете абсолютно никакого права пользователю изменять макет сетки. Это может быть сделано установкой GridView - OptionMenu-> EnableColumnMenu to False. Однако после установки этого пользователя будет ограничено от всех других вариантов компоновки также как Groupping, фильтр, поиск и т.д.

+0

Знаете ли вы, как установить AllowShowHide для treelist? – Offler

+1

Привет, я никогда не использовал Treelist, но это могло бы вам помочь: https://documentation.devexpress.com/#WindowsForms/CustomDocument326 Похоже, это можно сделать с помощью чего-то вроде этого: свойство TreeListOptionsColumn.ShowInCustomizationForm. – IFlyHigh

0

Ok. Я сделал это, чтобы бесконечно скрыть ВСЕ мои столбцы xtraGrid, чтобы я мог выбрать несколько, которые я могу показать (сделать видимым true).

 int myCount; 
     try { myCount = this.gridView2.Columns.Count; } 
     catch { myCount = 0; } 

     for (int j = 0; j < myCount; j++) 
     { 
      this.gridView2.Columns[j].Visible = false; 
     } 

Надеюсь, это поможет.

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