Как получить доступ к измененным (через GridDropDownListColumnEditor) значениям серверной части Telerik RadGrid? - PullRequest
0 голосов
/ 09 июля 2010

Подробности:

Я в основном пытаюсь реализовать функциональность примера здесь (http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/editondblclick/defaultvb.aspx) на моем собственном сайте, но вместо использования элемента управления источником данных, расположенного в разметке страницы (как в примере: SessionDataSource), я использую набор данных, полученный из некоторого серверного кода. Я могу успешно перевести мою строку с двойным щелчком в режим редактирования, при этом мои выпадающие списки успешно заполнены, однако при нажатии на другую строкучтобы обновить его в режиме редактирования, без косточек.

Я обнаружил, что, по-видимому, функция JavaScript на стороне клиента updateItem () не инициирует обратный вызов AJAX, как я первоначально думал, поэтому я пыталсячтобы обойти это. В настоящее время я использую свой RadAjaxManager для выполнения обратного вызова AJAX с порядковым номером строки следующим образом:

        function RowClick(sender,eventArgs)
        {
            if(editedRow && hasChanges)
            {
                hasChanges = false;
                $find("<%= RAM.ClientID %>").ajaxRequest(editedRow);
            }
        }

Это возвращает меня к моему серверному коду. Удивительно. Но,

Проблема: я должен получить доступ к чему-то неправильному, потому что текст ячейки GridDataItem, который я пытаюсь получить для отредактированной строки, всеУ меня есть значение "&nbsp;".

    Dim gdi As GridDataItem = FieldOpsScheduler.Items(rowIndex)
    Dim d As DateTime = DateTime.Parse(gdi.Item("EndDate").Text) //<--FAIL

Я часами рыскал в Интернете, пытаясь найти способ справиться со своими задачами, но безрезультатно.

Дополнительная информация: Я использую GridDropDownListColumnEditors на лицевой стороне, чтобы выполнить редактирование для моей таблицы, объявленной так:

<telerik:GridDropDownListColumnEditor ID="ddlce_SunAct" runat="server" DropDownStyle-Width="60px"></telerik:GridDropDownListColumnEditor>

Так что у кого-нибудь есть какие-либо идеи относительно того, что у меня естьсделать, чтобы получить доступ к значениям, которые были изменены в моей RadGrid ??Проблема в том, что мне нужно как-то перепривязать мой RadGrid при нажатии на новую строку?Если да, то как мне это сделать?Любые решения или идеи будут с благодарностью.(Также, хотя я делаю это в VB.NET, не стесняйтесь писать ответы на C #, если хотите, как я это понимаю. :-)) Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 09 июля 2010

При ручной привязке updateItem () все равно должен вызывать событие сервера UpdateCommand сетки, но вам придется обновлять источник сетки вручную.Измените локальную версию онлайн-демонстрации, в которой установлена ​​установка Telerik AJAX, и перейдите оттуда.

Дик

0 голосов
/ 09 июля 2010

http://www.telerik.com/help/aspnet-ajax/grdaccessingcellsandrows.html

Если у кого-то еще возникла такая же проблема, как у меня, перейдите по указанной выше ссылке и прокрутите вниз до раздела «Доступ к значению ячеек в режиме редактирования».

...