如何在使用ShowNewButtonInHeader时有条件地隐藏New按钮?

时间:2015-03-23 10:08:56

标签: devexpress aspxgridview

摘要:我只需要为具有该角色的用户(此处为 manager )显示“新建”按钮。当新按钮放在命令列标题中时,我不知道该怎么做。

详情:我正在使用DevExpress 14.2。当ASPxGridView中的New按钮在行的命令列中使用时,我可以在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设置为true时,它应该以不同的方式完成。我找到了一些使用InitLoad项的提示。但是,我不知道该怎么做。

1 个答案:

答案 0 :(得分: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;
        }
    }
}