2013-07-23 122 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的支持非常出色。不要總是做正確的第一時間,但他們堅持,你確定這個問題是不是他們的控制,有時甚至之後。