在GridView中截取一定长度的方法
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 ) + "...";
}
}
}
<asp:TemplateField HeaderText="Hehe">
<ItemTemplate>
<asp:Label ID="Hehe" runat="server" Text= <%#Eval("job_id").ToString().Substring(0,10)+"..."%> >
</asp:Label>
</ItemTemplate>
</asp:TemplateField>