Отключить кнопку «Добавить новый» в Rad Grid - PullRequest
0 голосов
/ 18 ноября 2018

Итак, у меня есть Rad Grid, который содержит данные, и у меня выше Add New Button.Я хочу, чтобы, когда у пользователя есть разрешение на добавление, чтобы включить его, если он не имеет доз, тогда его отключение Я ищу часы в течение часа, и все, что я получаю, это код:

Dim cmditem As GridCommandItem = CType(gvDefCountry.MasterTableView.GetItems(GridItemType.CommandItem)(0), GridCommandItem)
Dim ctrl As System.Web.UI.WebControls.Button = CType(cmditem.FindControl("AddNewRecordButton"), System.Web.UI.WebControls.Button)
ctrl.Enabled = False

Но каждый раз, когда я запускаюкод, я получаю эту ошибку:

"Индекс был за пределами массива"

Вид выглядит так:

enter image description here

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

должно работать. Где вы положили коды? если вы поместите его в gvDefCountry_PreRender событие сетки, оно будет работать нормально.

Однако я бы порекомендовал вам полностью скрыть кнопку, а не отключать ее, поскольку не будет визуальной разницы между включенным и выключенным состоянием кнопки, в зависимости от используемого скина (в моем случае - Metro). В противном случае вам также нужно поменять стили на серый и убрать эффект наведения мыши.

0 голосов
/ 19 ноября 2018

попробуйте

If (TypeOf e.Item Is GridEditableItem) AndAlso (e.Item.IsInEditMode) Then

        For Each cmdItm As GridCommandItem In RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)
            Dim Addbtn As LinkButton = CType(cmdItm.FindControl("InitInsertButton"), LinkButton)
            Addbtn.Enabled = False
            Dim btn As Button = CType(cmdItm.FindControl("AddNewRecordButton"), Button)
            btn.Enabled = False
        Next
    End If
...