【问题标题】:show content of a datarow of radgrid in radwindow在 radwindow 中显示 radgrid 数据行的内容
【发布时间】:2013-09-05 04:34:30
【问题描述】:

我在显示 radwindow 中选定的 radgrid 行的数据时遇到问题。我尝试的是使用此脚本双击客户端事件:

function RowDblClick(sender, eventArgs) { window.radopen("ViewForum.aspx?ForumID=" + eventArgs.getDataKeyValue("ForumID"), "RadWindow1");}

<ClientSettings>
       <Selecting AllowRowSelect="true"></Selecting>
       <ClientEvents OnRowDblClick="RowDblClick"></ClientEvents>
       <Scrolling AllowScroll="false" UseStaticHeaders="True" />
</ClientSettings>

基本上,我想要的只是当用户双击一行 radgrid 时,它会打开 radwindow 并显示他们选择的 radgrid 行的内容,但我确实遇到了问题。如果我双击 radgrid 的行,我可以打开 radwindow,但问题是内容 radwindow 总是显示 radgrid 的第一行,即使我点击不同的行它也不会改变。提前谢谢你。

【问题讨论】:

    标签: vb.net telerik radgrid radwindow


    【解决方案1】:

    试试这个代码:

    ASPX:

    <telerik:RadGrid ID="grid1" runat="server" Width="200px" AutoGenerateEditColumn="true" AutoGenerateColumns="true" DataSourceID="SqlDataSource2">
    <ClientEvents OnRowDblClick="OnRowDblClick" />
    </ClientSettings>
    </telerik:RadGrid>
    <telerik:RadWindowManager ID="radwinmgr" runat="server">
      <Windows>
       <telerik:RadWindow ID="win1" runat="server">
        <ContentTemplate>
          ID: <asp:Label ID="Label1" runat="server"></asp:Label><br />
          Name:  <asp:Label ID="Label2" runat="server"></asp:Label>
         </ContentTemplate>
       </telerik:RadWindow>
     </Windows>
    </telerik:RadWindowManager>
    

    JS:

    function OnRowDblClick(sender, eventArgs) {
    
            var grid = sender;
            var MasterTable = grid.get_masterTableView();
             var row = MasterTable.get_dataItems()[eventArgs.get_itemIndexHierarchical()];
            var cell = MasterTable.getCellByColumnUniqueName(row, "EmployeeID"); // get the value by uniquecolumnname
            var FirstName = MasterTable.getCellByColumnUniqueName(row, "FirstName");
            var ID = cell.innerHTML;
            var name = FirstName.innerHTML;
            var win1 = $find("<%=win1.ClientID%>");
            var Label1 = document.getElementById("win1_C_Label1"); // accessing controls inside radwindow
            Label1.innerHTML = ID; // assigning the column value to the control inside radwindow
            var Label2 = document.getElementById("win1_C_Label2");
            Label2.innerHTML = name;
            win1.show();
        }
    

    如果您在 radwindow open 上重定向到另一个页面,请查看以下论坛链接。

    How to make a rad window appear while double clicking a row in radgrid

    在这里,我们将参数作为查询字符串传递并在页面加载时对其进行评估。

    【讨论】:

    • 非常感谢!我现在就试试这个。
    • 嗨,Saritha,我已尝试应用您的代码,但无法打开 radwindow。
    • 您是否添加了整个代码?它对我有用,请查看我上面上传的图片。也只是调试窗口是否正在获取代码
    • 我的错,我忘了更改 ondoubleclick 事件的名称。谢谢你的帮助。欣赏它。
    猜你喜欢
    • 2014-07-19
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多