如何访问Telerik RadGrid服务器端的更改(通过GridDropDownListColumnEditor)值?

时间:2010-07-09 13:54:59

标签: javascript vb.net telerik server-side radgrid

详细说明:

我基本上是在我自己的网站上尝试实现此示例的功能(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 个答案:

答案 0 :(得分:1)

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

迪克

答案 1 :(得分:0)

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

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