详细说明:
我基本上是在我自己的网站上尝试实现此示例的功能(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单元格文本都具有值“
”。
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#中写回复。:-))先谢谢你。
答案 0 :(得分:1)
使用手动绑定,updateItem()仍应引发网格的UpdateCommand服务器事件,但您必须手动更新网格源。修改Telerik AJAX控件安装所在的在线演示的本地版本,并从那里开始。
迪克
答案 1 :(得分:0)
http://www.telerik.com/help/aspnet-ajax/grdaccessingcellsandrows.html
如果其他人遇到与我相同的问题,请转到上面的链接并向下滚动到标题为“在编辑模式下访问单元格的值”的部分。