好的,基本上我有一个只包含RadGrid的母版页。我使用了一个自定义的弹出式WebUserControl表单来处理更新/插入控件的输入。当我进入编辑模式时,我有一个叫“复制和添加新记录”的按钮。当用户单击此按钮时,我希望复制页面内容的2/3,打开一个新记录,然后将该信息粘贴到适当的文本框中。
我对复制或粘贴信息没有任何问题。问题出在关闭我当前的编辑窗体,然后打开一个新的记录窗体。我尝试使用以下命令关闭窗体:
Dim temp As RadGrid = Parent.Page.FindControl("rgRT")
temp.MasterTableView.ClearEditItems()
temp.MasterTableView.IsItemInserted = True
然后将上述语句设置为true,以尝试打开新的记录表单。然而,它并没有起作用。弹出编辑表单仍然在相同的位置,我没有收到任何错误,唯一发生的事件是自动返回。我觉得这是一件非常容易的事情,但我无论如何也想不出来。
发布于 2015-04-21 11:18:23
请在清除插入项后尝试添加Rebind()
调用。这将使您的网格处于默认模式(视图模式),并删除IsItemInserted = True
调用。
尝试在客户机上注册一个脚本来初始化插入,这样它就会进入编辑模式:http://www.telerik.com/forums/how-to-add-new-row-in-radgrid-clientside-which-should-be-inline-and-stay-in-editmode#hJ-0yiaxakaxzdOf-UXDYw (提示:您可能希望使用Sys.Application.Load
事件来执行代码,早期的调用可能会导致错误,如下所示)。
string script = "function f(){$find(\"" + RadGrid1.ClientID + "\").get_masterTableView().fireCommand("InitInsert", ""); Sys.Application.remove_load(f);}Sys.Application.add_load(f);";
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);
然后,使用ItemCommand事件设置默认值:Telerik RadGrid - How do I set default data on insert?
https://stackoverflow.com/questions/29706271
复制