在Gridview控件中,如何限制指定列的字符长度,超过部分用省略号“...“代替,比如说,GridView中有个列叫备注列,数据库中此字段长度为200个汉字,但是不能都显示在Gridview中,只显示前10个汉字,其余的用”...“来代替,这该怎么实现呢,本人新手,求助各位大侠!!!!

解决方案 »

  1.   

     模板列 label显示备注 
    前台:
     label Text='<%#Eval("bz").ToString().Length>10?Eval("bz").ToString().SubString(0,10)+"...":Eval("bz").ToString()%>'
      

  2.   


    //自己写方法!~
    //后台:
    public string SetValue(object o)
    {
    if(o.ToString().Length>10)
    {return o.ToString().Substring(0,10)+"...";}
    else
    {return o.ToString();}
    }
    //前台绑定的时候:
    <%#SetValue(Eval(""))%>
      

  3.   

    其实最好是在BL层就将数据格式化好了再传到 WEB层显示出来这本来就不是WEB层应该干的工作
      

  4.   

    绑定事件里
    if(e.Row.Cells[0].Text.Length>5) e.Row.Cells[0].Text = e.Row.Cells[0].Text.SubString(0,5) + "..." 
     
      

  5.   

     <asp:GridView ID="GridView1" runat="server">
                <Columns>
                    <asp:TemplateField>
                     
                        <ItemTemplate>
                            <asp:Label ID="Label1"  Text='<%#Eval("bz").ToString().Length>10?Eval("bz").ToString().SubString(0,10)+"...":Eval("bz").ToString()%>' runat="server"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
               
            </asp:GridView>
      

  6.   

    不是啊,报错了,SubString(),没有引用,页面我用的是模板,怎么加using啊
      

  7.   

    GridView实现用“...”代替超长字符串
    第11点
    http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx
      

  8.   

    是Substring()不是SubString()