0

细节:

我基本上是想在我自己的网站上实现示例的功能(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# 编写响应,因为我也理解这一点。:-))提前谢谢您。

4

2 回答 2

1

使用手动绑定 updateItem() 仍应引发网格的 UpdateCommand 服务器事件,但您必须手动更新网格源。修改 Telerik AJAX 控件安装所在的在线演示的本地版本,然后从那里开始。

迪克

于 2010-07-09T14:40:54.300 回答
0

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

如果其他人遇到与我相同的问题,请转到上面的链接并向下滚动到标题为“在编辑模式下访问单元格的值”的部分。

于 2010-07-09T15:40:08.163 回答