Активируемая по щелчку ссылка в столбце RadGrid

У меня есть RadGrid, где столбец в сетке содержит URL. Когда помещенный, значение в столбце I видит URL, но URL не активируем по щелчку (для движения в URL). Как я могу сделать URL активируемым по щелчку?

Вот грубый пример того, что я делаю теперь:

DataTable table = new DataTable();
DataRow row = table.Rows[0];
row["URL"] = "http://www.google.com";
grid.DataSource = table;

Кроме того, я действительно хотел бы показать определенный текст вместо URL. Что-то подобное <a href="http://www.google.com">Link</a> в HTML. Там должен так или иначе сделать это?

6
задан brainimus 6 April 2010 в 19:39
поделиться

2 ответа

Добавьте вручную все столбцы на странице ascx и сделайте столбец, в котором должна быть гиперссылка, GridTemplateColumn:

<telerik:GridTemplateColumn 
    UniqueName="TemplateLinkColumn" 
    AllowFiltering="false" 
    HeaderText="URL">
    <ItemTemplate>
        <asp:HyperLink ID="Link" runat="server"></asp:HyperLink>
    </ItemTemplate>
</telerik:GridTemplateColumn>

Убедитесь, что в вашей сетке есть Метод OnItemDataBound:

<telerik:RadGrid 
    ID="RadGrid" 
    runat="server" 
    AutoGenerateColumns="False" 
    OnItemDataBound="RadGrid_ItemDataBound" >

В вашем методе OnItemDataBound установите для поля URL:

protected void RadGrid_ItemDataBound(object aSender, GridItemEventArgs anEventArgs)
{
    //Get the row from the grid.
    GridDataItem item = anEventArgs.Item as GridDataItem;
    GridTableCell linkCell = (GridTableCell)item["TemplateLinkColumn"];
    HyperLink reportLink = (HyperLink)reportLinkCell.FindControl("Link");

    // Set the text to the quote number
    reportLink.Text = "Google";

    //Set the URL
    reportLink.NavigateUrl = "http://www.google.com";

    //Tell it to open in a new window
    reportLink.Target = "_new";
}
6
ответ дан 8 December 2019 в 17:19
поделиться

Вы пробовали GridHyperLinkColumn? Ниже приведен подробный пример.

<telerik:GridHyperLinkColumn FooterText="HyperLinkColumn footer" DataTextFormatString="Search Google for '{0}'" DataNavigateUrlFields="CompanyName" UniqueName="CompanyName" DataNavigateUrlFormatString="http://www.google.com/search?hl=en&amp;q={0}&amp;btnG=Google+Search" HeaderText="HyperLink<br/>Column" DataTextField="CompanyName"></telerik:GridHyperLinkColumn>

Вы также можете просмотреть демонстрационный сайт, чтобы узнать, как он работает. http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/columntypes/defaultcs.aspx

8
ответ дан 8 December 2019 в 17:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: