2010-07-09 69 views
0

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

基本上,我想要实现我自己的网站这里的例子(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#中编写响应。:-))预先感谢你。

回答

1

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

迪克

+0

+1帮助我认识到这一点,因为这削减了我需要使用我的RadAjaxManager.ajaxRequest函数。然而,访问更改后的值的问题仍然存在,但我想我已经找到了如何做到这一点:http://www.telerik.com/help/aspnet-ajax/grdaccessingcellsandrows.html - 有关在编辑模式下访问单元格。谢谢你的洞察力,因为我认为它真的很奇怪,updateItem()没有在服务器上产生某种可检测的事件。 – KSwift87 2010-07-09 15:05:27

相关问题