ASPxGridView customCommandColumnButton - PullRequest
       4

ASPxGridView customCommandColumnButton

0 голосов
/ 02 сентября 2010

Я реализую удаление custrom, добавив в мой ASPxGridView GridViewColumnCustomButton.

Затем в моем GridView я обрабатываю ClientSideEvent

<ClientSideEvents CustomButtonClick="function(s, e) { customButton_OnClick(s, e); }" />

JS:

function customButton_OnClick(s, e) {
        if (e.buttonID == "customButtonId") {
            e.processOnServer = confirm("Really want to delete?");
        }
    }

Я также добавил в свою сетку:

OnCustomButtonCallback="GvMyGridViews_OnCustomCallback"

Теперь на стороне сервера я пользуюсь linq, чтобы удалить указанную строку, а затем отправить изменения в мой DataContext, а затем в DataBind () в моей сетке.

Проблема в том, что иногда стандартная панель загрузки ASPxGridView отображается в течение примерно 1 секунды, а затем моя строка исчезает, поэтому она ведет себя правильно, но иногда панель загрузки перестает двигаться. и мне нужно навести указатель мыши на сетку или нажать кнопку, чтобы обновить сетку (строка исчезает).

Есть ли у вас идея, где проблема? Спасибо за помощь

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Трудно ответить на ваш вопрос.Пожалуйста, попробуйте определить, действительно ли строка была удалена из БД, когда вы вызываете метод DataBind сетки.Также я подозреваю, что ASPxGridView привязан к объекту LinqDataSource.Если это так, я предлагаю вам записать, какие данные он возвращает, и проверить, есть ли в списке удаленная строка.Это возможно, поскольку этот компонент может кэшировать данные и возвращать недопустимый набор записей.Чтобы определить, какие данные возвращаются LinqDataSource, вы можете использовать код из

http://forums.asp.net/p/1583916/3998100.aspx

0 голосов
/ 21 сентября 2010

Убедитесь, что после того, как вы удалите запись в конце вашего обработчика custombuttoncallback, которую вы УСТАНАВЛИВАЕТЕ DATASOURCE, затем перепроверьте сетку. Если вы просто вызовете DataBind () без установки источника данных, он не будет работать должным образом. Т.е..

  aspxGrid.DataSource = updatedDataSourceAfterTheDelete;
  aspxGrid.DataBind();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...