现在的位置: 首页 > 综合 > 正文

在GridView中截取一定长度的方法

2012年09月03日 ⁄ 综合 ⁄ 共 1794字 ⁄ 字号 评论关闭
1你写一个方法,到页面上:
StrLength  
这个方法就是处理字符串的,写到cs文件中。
protected   string   StrLength  
string   str
{
          if       (str.Length       >       10)  
                                                {  
                                                                return   str.Substring(0,       10)       +       "...";  
                                                }  
                                                else  
                                                {  
                                                                return   str;
                                                }  

}
GridView   中用模板列
<asp:TemplateField> 
 <ItemTemplate> 
 <%#   StrLength(DataBinder.Eval(Container.DataItem,"title").ToString())%> 
</ItemTemplate> 
</asp:TemplateField>
2、  用css。

3、在数据库里面直接栽掉...
    select   case   when   len(field)> 10   then   left(field,10)+'...'   else   field   end   as   news_name,news_id   from   tablename
4、 在RowDataBound方法中:
如果是BoundField,则:
 protected   void   GridView1_RowDataBound(object   sender,   GridViewRowEventArgs   e)
{
if   (e.Row.RowType   ==   DataControlRowType.DataRow)
                {
                        if   (e.Row.Cells[2].Text.Length   >   10)
                        {
                                e.Row.Cells[2].Text   =   e.Row.Cells[2].Text.Substring(0,   10)   +   "...";
                        }
                        else
                        {
                        e.Row.Cells[2].Text=e.Row.Cells[2].Text
                        }
                }
}
如果是TemplateField,则:
 

protected   void   GridView1_RowDataBound   (   object   sender,   GridViewRowEventArgs   e   )
        {
                if   (   e.Row.RowType   ==   DataControlRowType.DataRow   )
                {
                        if   ( ( (   Label   )   e.Row.Cells   [   2   ].FindControl   (   "Hehe"   )   ).Text   .Length   >   10 )
                        {
                                (   (   Label   )   e.Row.Cells   [  2   ].FindControl   (   "Hehe"   )   ).Text   =   (   (   Label   )   e.Row.Cells   [   2   ].FindControl   (   "Hehe"   )   ).Text.Substring   (   0,   10   )   +   "...";
                        }  
                }    
        }

5、  如果是 TemplateField 列,可以直接帮定时操作
<asp:TemplateField   HeaderText="Hehe">
<ItemTemplate>
<asp:Label   ID="Hehe"   runat="server"   Text= <%#Eval("job_id").ToString().Substring(0,10)+"..."%> >
</asp:Label>
</ItemTemplate>
</asp:TemplateField>

【上篇】
【下篇】

抱歉!评论已关闭.