0

OnRowSelected イベントを使用せずにクライアント側で Telerik RadGrid の SelectedID を取得するにはどうすればよいですか?
私のシナリオを見てみましょう:
私のグリッド プロパティは次のようになります:

  <telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" DataSourceID="SqlDataSource1" AllowPaging="True" AutoGenerateColumns="False" CellSpacing="0" 
      Width="660px" onitemdatabound="RadGrid1_ItemDataBound">
                    <ClientSettings Selecting-AllowRowSelect="true">
                        <Selecting AllowRowSelect="True"></Selecting>
                        <ClientEvents OnRowSelected="OnRowSelected" />
                    </ClientSettings>
...  

および目標列:

 <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn_Q column"
      HeaderText="Q" UniqueName="TemplateColumn_Q">
            <ItemTemplate>
                   <asp:Label ID="lblQInsideGrd" runat="server" Font-Size="11px" Text='<%# GetQ(Eval("Q")) %>'></asp:Label>
             </ItemTemplate>
  </telerik:GridTemplateColumn>

この列に、次のようなコード ビハインドを入力します。

protected string GetQ(object Q)
{
    if (Q.ToString().Length < 10)
    {
        return Q.ToString();
    }
    else
    {
        string Q_str = Q.ToString();
        Q_str = Q_str.Substring(0, 10) + "<span style='font-size:9px;color:red;'><a href='#' class='QClick'> (Full View...)</a></span>";
        return Q_str;
    }

ご覧のとおり、クライアント側でそのアンカーの関連IDフィールドを取得し、その ID をアラートに表示したいすべての列にアンカーがあります。
サーバー側では、そのアンカーに CommandName プロパティを使用できます。
クライアント側でも、すべての行をクリックすると、OnRowSelected イベントを使用してその ID を取得できます。
しかし、私の状況では、これらのアンカーをクリックしても、OnRowSelected を起動するために行全体を選択することはできません。
それで、私はそれについて何ができますか?

前もって感謝します

4

1 に答える 1

3
var radGrid = $find('<%= RadGrid1.ClientID %>');
var selectedItems = radGrid.get_masterTableView().get_selectedItems()
...

はい、どうぞ :)

于 2012-07-04T12:54:01.443 に答える