各位达人:   新手碰到一个难题。
    
   我在写一个新闻版面问题:有段文本过长,这样绑定到页面就会影响布局,我想把这段文本截成20个字符串+省略号来显示?不知道怎么做?
   
    1、我现在用的是VS2005+。NET2.0+ACCESS
    
    2、页面显示的方式是GRIDVIEW,自定义模块显示。    我查了一下资料,可以通过ACCESS的LEN函数来做,我看了老半天,看不懂。。
   
   各位就帮帮新手吧不胜感激啊!    

解决方案 »

  1.   

     public string SubStr(string sString, int nLeng)
        {
            if (sString.Length <= nLeng)
            {
                return sString;
            }
            string sNewStr = sString.Substring(0, nLeng);
            sNewStr = sNewStr + "...";
            return sNewStr;
        }
    nLeng字符长度 sString给定的字符串
    前台页面代码
     <%# SubStr(Convert.ToString(DataBinder.Eval(Container, "DataItem.NewsTitle")), 16)%>
      

  2.   

     <asp:TemplateField HeaderText="新闻内容" SortExpression="新闻内容的列名">
                                 <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" CssClass="grid1" Height="20px" />
                                    <ItemTemplate>
                                        <a href='.\News\news_more.aspx?NewsID=<%# DataBinder.Eval(Container,"DataItem.NewsID") %>'>
                                        <span  title='<%#DataBinder.Eval(Container, "DataItem.NewsTitle") %>'>
                                            <%# SubStr(Convert.ToString(DataBinder.Eval(Container, "DataItem.NewsTitle")), 16)%>
                                        </a>
                                        
                                    </ItemTemplate>
                                    
                                </asp:TemplateField>
      

  3.   

    模板列,把标题列加一个id,纯Css就可以搞定的,何需编程
      

  4.   

    <div title='这里是你的完整内容' style="width:100;text-overflow:ellipsis;overflow:hidden;white-space:nowrap">这里是你的省略内容</div>在使用的时候根据你的实际情况改变width属性就行了