datagrid超链接列的问题?
private void zcfglist_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType!=ListItemType.Header)
{
string subject=Convert.ToString(DataBinder.Eval(e.Item.DataItem,"wjmc"));
if (subject.Length>26)
{
subject=subject.Substring(0,25)+ "... ";
}
e.Item.Cells[0].Text=subject;
}
}
原本是超链接列..可是转换以后没有链接了..该怎么处理啊?
问题点数:20、回复次数:5Top
1 楼net_lover(【孟子E章】)回复于 2006-01-10 07:57:01 得分 10
办法1:用正则表达式分解出链接的的文件和href在进行判断
办法2:在zcfglist_ItemDataBound里生成链接而不是直接用链接列
办法3:绑定的时候进行判断,<%# ....Length>16? ... : ...%>Top
2 楼singlepine(小山)回复于 2006-01-10 08:17:35 得分 5
后台
protected string Format(object item,string type)
{
DataRowView drv=(DataRowView)item;
string val=string.Empty;
string subject=Convert.ToString(drv["wjmc"]));
if(subject.Length>26)
{
subject=subject.Substring(0,25)+ "... ";
}
return subject;
}
前台
<A href='Preview.aspx?NewsID=<%# DataBinder.Eval(Container.DataItem,"NewsId") %>' target=_blank> <%# Format(Container.DataItem,"wjmc") %> </A>Top
3 楼ChengKing((.net: http://blog.csdn.net/ChengKing ))回复于 2006-01-10 08:28:49 得分 5
参考:
1.前台代码
<asp:TemplateColumn>
<ItemStyle HorizontalAlign="Left" Wrap="true"></ItemStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# GetDemand(DataBinder.Eval(Container, "DataItem.demand").ToString())%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
2.后台代码
protected string GetDemand(string strDemand)
{
string subDemand = strDemand;
if(subDemand.Length > 26)
{
subDemand = subDemand.Substring(0,25) + "...";
}
string titleDemand = strDemand.Replace("<br>","\r\n").Replace(" "," ");
string HtmlTitle = "<A title=\"" + titleDemand + "\" >" + subDemand + "</A>";
return HtmlTitle;
}Top
4 楼njbaige(白鸽)回复于 2006-01-10 08:43:48 得分 0
可以手动在普通列中添加 <a href="..">+原来的值+</a>
绑定事件里面写就好啦~Top
5 楼hl_ws(小数点)回复于 2006-01-10 08:56:07 得分 0
按楼上的操作简单啊Top




