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;  
}
}
原本是超链接列..可是转换以后没有链接了..该怎么处理啊?

解决方案 »

  1.   

    办法1:用正则表达式分解出链接的的文件和href在进行判断
    办法2:在zcfglist_ItemDataBound里生成链接而不是直接用链接列
    办法3:绑定的时候进行判断,<%# ....Length>16? ... : ...%>
      

  2.   

    后台
    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>
      

  3.   

    参考:
    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("&nbsp;"," ");
    string HtmlTitle = "<A title=\"" + titleDemand + "\" >" + subDemand + "</A>"; return HtmlTitle;  
    }
      

  4.   

    可以手动在普通列中添加 <a href="..">+原来的值+</a>
    绑定事件里面写就好啦~