簡體   English   中英

整行可在中繼器中選擇

[英]whole row selectable in a Repeater

我有以下內容:具有幾行的中繼器。 每行都以linkbutton開頭,通過它我可以導航到另一頁。 我現在想做的是,可以使用鏈接按鈕的相同單擊功能單擊整個行。 這是我的中繼器:

    <table>
    <tr>
    <td>
<asp:Repeater ID="rptTasks" runat="server" onitemcommand="rptTasks_ItemCommand" 
    onitemdatabound="rptTasks_ItemDataBound" onitemcreated="rptTasks_ItemCreated">
<HeaderTemplate>
<table>
<tr>
<td colspan="8"></td>
<td colspan="2"> </td>
</tr>
</HeaderTemplate>
<ItemTemplate>

<tr style="cursor: pointer" onclick="Select(this);">
<td>
<asp:LinkButton ID="SelectRow" runat="server" CommandName="SelectRow" Text="Test" />
<asp:HyperLink ID="LnkTaskID1" runat="server"  CommandName="SelectRow" Text='<%# Eval("TaskID") %>' Font-Underline="True" /></td>
<td><asp:Label ID="StatusLabel1" runat="server" Text='<%# LocalizeStatusBinding(Eval("Status", "{0}")) %>' /></td>

</tr>

</ItemTemplate>
<AlternatingItemTemplate>
<tr style="cursor: pointer" onclick="Select(this);">
<td>
<asp:LinkButton ID="SelectRow" runat="server" CommandName="SelectRow" Text="Test" />
<asp:HyperLink ID="LnkTaskID1" runat="server"  CommandName="SelectRow" Text='<%# Eval("TaskID") %>' Font-Underline="True" /></td>
<td><asp:Label ID="StatusLabel1" runat="server" Text='<%# LocalizeStatusBinding(Eval("Status", "{0}")) %>' /></td>

</tr>

</table>
</AlternatingItemTemplate>
<FooterTemplate>
<tr>
<td colspan="5" align="left">
                    <asp:Label ID="lblCurrentPage" 
    runat="server"></asp:Label>
                </td>
                <td colspan="5" align="right">
                    <asp:HyperLink ID="lnkPrev" runat="server" Text="<< Prev"></asp:HyperLink>
                    <asp:HyperLink ID="lnkNext" runat="server" Text="Next>>"></asp:HyperLink>
                </td>
</tr>
</table>
</FooterTemplate>
</asp:Repeater>
 </td>
 </tr>
 </table>

我也使用javascript來獲取選定的行:

    <script type="text/javascript" >
function Select(obj) 
{ 
    obj.className = 'selected'; 
    var tbl = document.getElementById("table1") 
    var firstRow = tbl.getElementsByTagName("TR")[0]; 
    var oldRow = tbl.rows[firstRow.getElementsByTagName("input")[0].value];
    if (oldRow != null) 
    { 
        oldRow.className = ''; 
    } 
    firstRow.getElementsByTagName("input")[0].value = obj.rowIndex; 
}
    </script>

    <script type="text/C#" >
    onclick="this.getElementsByTagName('input')[0].clicked=true;
    </script>

當我給第二個表標簽一個id =“ table1”時,出現jscript錯誤,oldRow不明

有人知道這個問題的解決方案嗎? 為了清楚起見:我想單擊一行然后進行導航,就像單擊每一行的第一個鏈接按鈕一樣。

預先感謝。

    $(function () {
        SetNaigationToSearchList();
    }
  );

    function SetNaigationToSearchList() {
        $("tr td")
        .css("cursor", "pointer")//set the pointer cursor for table row
        .click(function () {

            $row = $(this).parent();               
            var ID = $("td", $row).eq(0).text();//Get the 0 th col value of the cliked index... 
           alert('clicked');
            }

        });
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM