Как отключить возможности пользователей для Devexpress GridView - PullRequest
2 голосов
/ 22 июля 2010

Я использую DevExpress.XtraGrid.Views.Grid.GridView в своем приложении Visual Studio 2008 и думал, что ограничил возможности пользователя, но я ошибся. Я программирую на VB.NET, но могу легко перевести с C #.

Я вошел в свойства вида сетки и установил ShowGroupPanel, AllowAddRows, AddNewColumns, AllowDeleteRows, RemoveOldColumns и Editable в false. Делая это, я думал, что отключил возможность пользователя удалять, добавлять и обновлять строки вместе с отключением панели группировки.

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

((GridViewCommandColumn)ASPxGridView1.Columns["CommandColumn"]).EditButton.Visible = Convert.ToBoolean(e.Parameters);

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

Кроме того, я обнаружил, что если я щелкну правой кнопкой мыши по сетке во время работы программы, я смогу показать group by panel, который я специально считал отключенным. Также, щелкнув правой кнопкой мыши, я могу открыть column chooser, который позволяет пользователю получить доступ к столбцам, которые я не хочу, чтобы они видели, и установить visible=false.

Как полностью отключить возможность пользователя удалять строки, открывать / использовать средство выбора столбцов и показывать группу за панелью в DevExpress Gridview?

РЕДАКТИРОВАТЬ:

Я использую DevExpress.XtraGrid.Views.Grid.GridView в DevExpress.XtraEditors.PanelControl на DevExpress.XtraEditors.XtraForm.

Я не смог найти ни одного примера, специально предназначенного для DevExpress.XtraGrid.Views.Grid.GridView, хотя первая ссылка (ASP.NET) с сайта DevExpress, поэтому я надеялся, что они будут иметь некоторую корреляцию.

1 Ответ

1 голос
/ 23 июля 2010

OK:)

Необходимо установить для свойств столбцов OptionsColumn.AllowGroup и OptionsColumn.AllowShowHide значение false.В этом случае конечный пользователь не сможет сгруппировать по столбцу или переместить этот столбец в окно CustomizationWindow.Если вы хотите удалить соответствующие пункты из меню, обратитесь к

Как отключить определенные пункты меню в сеточных меню по умолчанию

article.

Наконец, сетка не удаляет строки из базового источника данных, если нажата клавиша Delete.Эта функциональность не встроена в Grid.Итак, я думаю, что в вашем приложении должен быть какой-то код, когда строки удаляются программно ...

...