我需要一些telerik radgrid项目命令的帮助,以便在用户在插入模式下打开网格之前添加新记录来获取一些信息。我有itemcommand工作打开一个radwindow,向用户显示要从中选择的项目的下拉列表和一个radbutton来选择值并关闭radwindow,然后将该值传递回javascript中的父页面。传递所有值,我可以使用alert函数来验证这一点。
所以此时我需要继续流程以插入模式打开radgrid,并使用上面提到的radwindow中的值过滤insertmode中的下拉列表。为了使用这个值,我试图将它分配给隐藏的radtextbox,以便在表单以插入模式加载时在ItemDatabound事件中使用。不幸的是,该值不是通过这个隐藏控件中的javascript设置的,并且表现得像是在javascript中的某处出错。我觉得我对此过于复杂,但希望对其他人为实现这样的事情所采取的措施提供一些指导。
<asp:LinkButton ID="addNewRecord" runat="server" Text="Add New Record" OnClientClick="openWin(); return false;" OnClick="InitInsert">Add New Record</asp:LinkButton>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
//<![CDATA[
function openWin(sender, args) {
var oWnd = radopen("ParserFileNewDialog.aspx", "RadWindow1");
}
function OnClientClose(oWnd, args) {
//get the transferred arguments
var arg = args.get_argument();
if (arg) {
var lenderid = arg.LenderID;
var tb = null;
tb = $find("<%=newLenderID2.ClientID %>");
alert(tb.get_text());
tb.set_text(lenderid);
$find("<%=hdnInsertBtn2.ClientID %>").click();
}
}
//]]>
</script>
</telerik:RadCodeBlock>
非常感谢任何帮助!
答案 0 :(得分:0)
您尝试将值设置为的newLenderID2是什么类型的控件?使用此语法,它应该是RadTextBox。如果是asp:HiddenFiel,你需要
$get("<%=newLenderID2.ClientID %>").value = lenderid;
如果您收到错误 - 错误是什么?
此外,您可以直接通过网格的 masterTableView 客户端API和 fireCommand()方法:http://www.telerik.com/help/aspnet-ajax/grid-gridtableview-firecommand.html。因此,您可能根本不需要隐藏按钮。隐藏字段足以进行数据传输。