如何在客户端检索Telerik RadGrid的SelectedID

时间:2012-06-29 12:38:42

标签: c# asp.net telerik client-side radgrid

如何在不使用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 那我该怎么办呢?

提前致谢

1 个答案:

答案 0 :(得分:3)

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

你在这里:)