大家好,我希望对此有一个简单的解决方法,但是在最后一天半弄乱之后,我会接受一个复杂的解决方法!
我正在组装一个模块,该模块将放入DotNetNuke门户中,并用数据填充Telerik RadGrid。我已经按照我可以找到的所有教程和示例进行操作,但是结果总是返回“ object Object”,“ null”或“ undefined”。
我需要:
1)为所选的每一行获取“ BookingID”列的值
2)将值传递到在RadWindow中打开的url字符串中。
我正在尝试使用javascript来完成所有这些操作,但是如果您知道更好的方法,那么目前我什么都不愿意。
这是我当前的JavaScript和简化的radGrid:
///Javascript///
function gup(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null) return "";
else return results[1];
}
function ShowEditForm() {
var tab = gup('tabid')
var mid = gup('mid').replace(/#/, '')
var masterTableView = $find("perDiemBookingsRadGrid").get_masterTableView();
var id = masterTableView.get_selectedItems()[0].getDataKeyValue('BookingID');
window.radopen("/Default.aspx?tabid=" + tab + "&ctl=multiEdit&mid=" + mid + "&SkinSrc=[G]Skins/Blue-NCPP/Plain&BIDs=" + id, "RadWindow3");
}
最佳答案
以下代码将为您提供所选行的键。通常,当用户选择行时,我不会弹出RadWindow。我让他们单击图像/按钮以弹出RadWindow。
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
<!--
function RowSelected(sender, args)
{
var userId = args.getDataKeyValue("UserId");
window.radopen('UserDetail.aspx?userid=' + userId, "RadWindow1");
}
-->
</script>
</telerik:RadCodeBlock>
<telerik:RadGrid ID="RadGrid1" runat="server" >
<MasterTableView ClientDataKeyNames="UserId" />
<ClientSettings>
<Selecting AllowRowSelect="true" />
<ClientEvents OnRowSelected="RowSelected" />
</ClientSettings>
</telerik:RadGrid>
<%-- RadWindowManager --%>
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" Modal="true" Behaviors="Default"
VisibleTitlebar="true" VisibleStatusbar="false" InitialBehavior="Reload" Style="z-index: 7001"
Skin="Default" DestroyOnClose="true" Width="750px" Height="500px" >
<windows>
<telerik:RadWindow ID="RadWindow1" runat="server">
</telerik:RadWindow>
</windows>
</telerik:RadWindowManager>
关于asp.net - 在客户端的RadGrid的选定行中获取单元格的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3103527/