2015-03-23 1 views
0

Резюме: Мне нужно показать кнопку «Новый» только для пользователей, у которых есть эта роль (здесь менеджер). Я не знаю, как это сделать, когда новая кнопка помещается в заголовок столбца команды.Как скрыть условно кнопку New при использовании ShowNewButtonInHeader?

Подробнее: Я использую DevExpress 14.2. Когда Новая кнопка в ASPxGridView используется в колонке команд в строке, я могу скрыть его в обработчик события CommandButtonInitialize:

protected void gv_CommandButtonInitialize(object sender, ASPxGridViewCommandButtonEventArgs e) 
{ 
    ASPxGridView grid = sender as ASPxGridView; 
    switch (e.ButtonType) 
    { 
     case ColumnCommandButtonType.New: 
      e.Visible = Page.User.IsInRole("manager"); 
      break; 
    ... 
    } 

Однако, когда свойство ShowNewButtonInHeader установлено значение верно, то, вероятно, следует сделать иначе. Я нашел несколько советов по использованию Init или Load элементов. Однако я не знаю, как это сделать.

ответ

0

Я нашел путь. Если вы знаете лучший подход, я отвечу на ваш ответ:

protected void gv_Init(object sender, EventArgs e) 
{ 
    ASPxGridView grid = sender as ASPxGridView; 
    foreach (GridViewColumn col in grid.Columns) 
    { 
     if (col is GridViewCommandColumn && !Page.User.IsInRole("manager")) 
     { 
      (col as GridViewCommandColumn).ShowNewButtonInHeader = false; 
      break; 
     } 
    } 
} 

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

  • Нет связанных вопросов^_^