Я использую инструменты DevExpress в моем текущем проекте WinForms. На странице, на которой я работаю, есть сетка для суб-агентств, которая видима или не зависит от определенного флага под названием IsParentAgency
. Если агентство является родительским агентством, то сетка должна быть видна во всех суб-агентствах агентства. Если нет, то сетка должна быть невидимой.DevExpress XtraGrid не отображается даже после установки Visible = true
Независимо от того, что я делаю, я не могу заставить сетку быть видимой. Даже после того, как я дал ему источник данных, заставил его инициализировать и заполнил столбцы. Я даже пробовал ехать прямо и установил SubAgenciesGridControl.Visible = true
. Независимо от того, что я делаю, всегда имеет видимый набор false (даже при отладке строки после SubAgenciesGridControl.Visible = true
).
Вот код, который я использую, чтобы настроить сетку и переключить его видимость (я использую шаблон MVP в верхней части WinForms):
SubAgenciesGridControl.DataSource = Model.SubAgencies;
SubAgenciesGridControl.ForceInitialize();
SubAgenciesGridView.PopulateColumns();
SubAgenciesGridControl.Visible = Model.IsParentAgency;
Как я могу получить сетку, чтобы быть видно? Он добавляет его в элементы управления, как показано в комментариях.
Вы уверены, что это не просто прячется за другим элементом управления или настроено на смещение, которое выдает его из диапазона просмотра? Попробуйте никогда не видеть его и не видеть, появляется ли оно. (set visible = true в дизайнере) Возможно, вам нужно будет перенести его на передний край любых других элементов управления. – Nikki9696
В дизайнере Visible задано значение true, и перед ним нет других элементов управления. – IronMan84
- это элемент управления сеткой, добавленный в форму разложения управления? ('this.Controls') –