Выбор узла на стороне сервера ASPxTreelist не работает - PullRequest
0 голосов
/ 02 февраля 2011

Я пытаюсь выбрать / отменить выбор узлов aspxtreelist, которые соответствуют критериям. Когда пользователь щелкает строку, и она запускает событие, которое обрабатывается обработчиком событий на стороне сервера. Когда я отлаживаю код, все в порядке. Выбор работает, но на стороне браузера.выбор остается таким же, как и раньше.

protected void grid_FocusedRowChanged(object sender, EventArgs e)
    {
        menutree.UnselectAll();
        EUserRole role = (EUserRole)grid.GetRow(grid.FocusedRowIndex);
        long roleguid = role.Guid;

        TreeListNodeIterator iterator = new TreeListNodeIterator(menutree.RootNode);
        while (iterator.GetNext() != null)
        {
            if ((long)iterator.Current["RoleGuid1"] == roleguid)
                iterator.Current.Selected = true;
        }

    }

Как решить проблему?

1 Ответ

0 голосов
/ 02 февраля 2011

Причиной этой проблемы является то, что ваш код реализован во время обратного вызова сетки. Поскольку ответ обратного вызова содержит только информацию о элементе управления, который его инициировал, ваши изменения, сделанные в коде на стороне сервера, не отображаются на стороне клиента. Возможное решение - добавить оба элемента управления (ASPxGridView и ASPxTreeList) в MS UpdatePanel и установить для свойства EnableCallbacks этих элементов управления (ASPxGridView и ASPxTreeList) значение false. В этом случае MS UpdatePanel будет перехватывать обратные вызовы и «преобразовывать» их в обратные вызовы. Кроме того, оба элемента управления будут обновлены во время этих обратных вызовов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...