0

RadTabStrip を使用することを決定するまで、正常に機能していたネストされたグリッド用の JavaScript があります。

JavaScript コード:

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"> </script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js">     </script>
 <script type="text/javascript">
   function collapseExpand(obj) {
    var gvObject = document.getElementById(obj);
    var imageID = document.getElementById('image' + obj);

    if (gvObject.style.display == "none") {
        gvObject.style.display = "inline";
        imageID.src = "~/ims/Images/bullet_toggle_minus.jpg";
    }
    else {
        gvObject.style.display = "none";
        imageID.src = "~/ims/Images/bullet_toggle_plus.jpg";
    }
}
</script>
</asp:content>

RadTab コード:

<telerik:RadTabStrip ID="RadTabStrip1" runat="server">
<Tabs> 
<telerik:RadTab  runat="server" Text="tab1">
<TabTemplate>
<telerik:RadGrid ID="GridView1" runat="server" AutoGenerateColumns="False" 
    BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" 
    CellPadding="3" GridLines="Horizontal" OnItemDataBound="RadGrid2_ItemDataBound" >
<MasterTableView DataKeyNames="id1">
<Columns>
<telerik:GridTemplateColumn>
<ItemTemplate>
<a href="javascript:collapseExpand('id1_<%# Eval("id1") %>');">
<img id="imageSubId_<%# Eval("id1") %>" alt="Click to show/hide orders" border="0" src="Images/bullet_toggle_plus.jpg" />
</a>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="id1" HeaderText="ID"/>
<telerik:GridTemplateColumn>
<ItemTemplate>
            <tr>
            <td colspan="100%">
            <div id="id1_<%# Eval("id1") %>" style="display: none; position: relative; left: 25px;">
            <telerik:RadGrid ID="GridView2" runat="server" AutoGenerateColumns="false" CellPadding="4" ForeColor="#333333" 
                    GridLines="None" >
            <MasterTableView >
                    <Columns>
                    <telerik:GridBoundColumn DataField="fname" HeaderText="First Name" />
                    <telerik:GridBoundColumn DataField="mname" HeaderText="Middle Name" />
                    <telerik:GridBoundColumn DataField="lname" HeaderText="Last Name" />
                    <telerik:GridTemplateColumn>
                    <ItemTemplate>
                    <asp:CheckBox ID="checkselect" runat="server" />
                    </ItemTemplate>
                    <HeaderTemplate>
                    <asp:Button ID="Button4" runat="server" Text="Remove"  CommandName="Split"  />
                    </HeaderTemplate>
                    </telerik:GridTemplateColumn>
                    </Columns>
                    </MasterTableView >
             </telerik:RadGrid>
             </div>
             </td>
             </tr>
 </ItemTemplate>
 </telerik:GridTemplateColumn>
 </Columns>
 </MasterTableView>
 </telerik:RadGrid>
 </TabTemplate>
 </telerik:RadTab>
 </Tabs>
 </telerik:RadTabStrip>

このコードは、タブなしで正常に機能しています。また、CollapseExpand 関数のタブとの互換性に問題があると思います。

誰かがこれで私を助けることができますか?

ありがとう。

4

2 に答える 2

1

いくつかのこと...

まず、jQuery が表示されず、単純な JavaScript が表示されます (それはあなたの問題ではなく、単に言っているだけです)。

第二に、(vs )<a href="javascript:collapseExpand('d1_<%# Eval("id1") %>');">のように見えます。<a href="javascript:collapseExpand('id1_<%# Eval("id1") %>');">d1_id1_

第三に、画像を変更するコードが機能するとは思いません。

<%# Eval("id1") %>としましょう4。したがって、divのIDはid1_4. つまり、画像の実際のID が の場合、が にvar imageID = document.getElementById('image' + obj);設定さimageIDれます。imageid1_4imageSubId_4

于 2013-07-12T15:15:35.097 に答える