2013-07-23 88 views
0

在Telerik的网格绑定超链接数据我有一个包含radgrid控件的页面。其中一列包含在编辑模板使超链接:在客户端

<telerik:GridTemplateColumn HeaderText="Asset Name" FilterControlAltText="FilterAssetName"> 
    <ItemTemplate> 
     <asp:HyperLink ID="hplEditAsset" runat="server" ForeColor="Blue" AutoPostBackOnFilter="true"></asp:HyperLink> 
    </ItemTemplate> 
</telerik:GridTemplateColumn> 

我通过web服务加载的数据,所以我想将数据绑定到客户端上的网格。我试图访问的超级链接的javascript函数如下:束缚

function gridRowBound(sender, args) { 
    var row = args.get_item() 
    var link = $telerik.findElement(row , 'hplEditAsset'); 
    var d = args.get_dataItem(); 

    link.innerHtml = d.Url; 
    link.outerHtml = d.UrlDescription; 
} 

的数据,以网格为列表的形式,并MyDataRow有一个名为URL和UrlDescription性能。

当我运行代码时,根据Firebug将行设置为“tr#ctl00_MainContent_QuickScanGrid_ctl00__0.rgRow”。但是,脚本在下一行失败,并且链接从不设置。

如何访问该元素,这样我可以的超级链接绑定到客户端上的数据?

回答

0

得到了极好的支持帮助下,从Telerik的这一点。他们有两个备选方案:

1)不同的呼叫类型,以findElement

function rowDataBound(sender, args) { 
    var row = args.get_item(); 
    var d = args.get_dataItem(); 
    var link = $telerik.findElement(row.get_element(), 'hplEditAsset'); 

    $(link).text(d.ProductName); 
} 

OR

2)代替GridItemTemplate的,使用GridHyperLinkColumn,其目的是准确地自动绑定如何我想要它。

我选择了第二种方式和它的工作在第一次尝试。我从来没有尝试过第一种方法。

总体来说,我不得不说Telerik的支持非常出色。不要总是做正确的第一时间,但他们坚持,你确定这个问题是不是他们的控制,有时甚至之后。