我有一个RadGrid,其中网格中的列包含URL.当在列中放置一个值时,我可以看到URL,但URL不可点击(转到URL).如何使URL可点击?
这是我现在正在做的一个粗略的例子:
DataTable table = new DataTable();
DataRow row = table.Rows[0];
row["URL"] = "http://www.google.com";
grid.DataSource = table;
Run Code Online (Sandbox Code Playgroud)
另外,我真的想显示特定的文本而不是URL.与<a href="http://www.google.com">Link</a>HTML 类似的东西.反正有没有这样做?
你试过GridHyperLinkColumn吗?下面是一个详细的例子.
<telerik:GridHyperLinkColumn FooterText="HyperLinkColumn footer" DataTextFormatString="Search Google for '{0}'" DataNavigateUrlFields="CompanyName" UniqueName="CompanyName" DataNavigateUrlFormatString="http://www.google.com/search?hl=en&q={0}&btnG=Google+Search" HeaderText="HyperLink<br/>Column" DataTextField="CompanyName"></telerik:GridHyperLinkColumn>
Run Code Online (Sandbox Code Playgroud)
您还可以查看演示,看看它是如何工作的. http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/columntypes/defaultcs.aspx
在ascx页面中手动添加所有列,并使要包含GridTemplateColumn的超链接的列成为:
<telerik:GridTemplateColumn
UniqueName="TemplateLinkColumn"
AllowFiltering="false"
HeaderText="URL">
<ItemTemplate>
<asp:HyperLink ID="Link" runat="server"></asp:HyperLink>
</ItemTemplate>
</telerik:GridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)
确保您的网格具有OnItemDataBound方法:
<telerik:RadGrid
ID="RadGrid"
runat="server"
AutoGenerateColumns="False"
OnItemDataBound="RadGrid_ItemDataBound" >
Run Code Online (Sandbox Code Playgroud)
在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";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32753 次 |
| 最近记录: |