绑定SqlDataSource的Gridview字符串字段长度截取
2010-10-20 11:24
399 查看
一批现有代码,页面都是直接绑定了SqlDataSource的Gridview,现在想对字段显示的长度做一个控制,目的是不想因为字段过长折到下一行,使每行高度不同。改动最小,最简单的方案是什么呢
听说可以用CSS使过长的字段隐起来吗?
字符串不能格式化真不方便...
----------------------------------------------------------------------
天台gridview中 加模版列
<asp:TemplateField HeaderText=" 内容 ">
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" Width="15%" />
<ItemTemplate>
<%# CutString(Convert.ToString(Eval("Content")), 20)%>
</ItemTemplate>
</asp:TemplateField>
后台代码中
/// <summary>
///
字符长度控制 中文 英文识别!
/// 注:一个汉字作为2个字符长度处理
/// </summary>
/// <param name="str">要进行切割的字符串</param>
/// <param name="len">返回的长度(自动识别中英文)</param>
/// <returns></returns>
protected string CutString(string str, int len)
{
byte[] sarr = System.Text.Encoding.Default.GetBytes(str);
if (sarr.Length > len)
return System.Text.Encoding.Default.GetString(sarr, 0, len) + "...";
else
return str;
}
--------------------------------------------------------
给个参考
<asp:repeater id="FeedBackList" Runat="server">
<ItemTemplate>
<tr height="35px"
onmouseout="this.style.backgroundColor='#FFFFFF'"
onmouseover="this.style.backgroundColor='#eeeffe'">
<td align="center"><%# DataBinder.Eval(Container.DataItem,"username")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"title")%></td>
<td><%#
DataBinder.Eval(Container.DataItem,"content").ToString().Length>15?DataBinder.Eval(Container.DataItem,"content").ToString().Substring(0,15)+"...":DataBinder.Eval(Container.DataItem,"content").ToString()%></td>
<td align="center"><%# DataBinder.Eval(Container.DataItem,"date")%></td>
<td align="center">
<span style="cursor:hand" id='<%#
DataBinder.Eval(Container.DataItem,"id")%>'
onclick=Del(this)>删除</span>
<a href="FeedBackdetails.aspx?id='<%#
_fcksavedurl=""FeedBackdetails.aspx?id='<%#"
DataBinder.Eval(Container.DataItem,"id")%>'">查看详情</a>
</td>
</tr>
</ItemTemplate>
</asp:repeater>
--------------------------------------------------------
<style>.stringCut{
width:50px; overflow:hidden;text-overflow:ellipsis; white-space:nowrap;
}</style>
<div class="stringCut">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div>
--------------------------------------------------------
在CS里面GRIDVIEW的事件截取 e.Row.Cells[2] 这是那个地段!选择框为0然后往后排
protected void gvFlash_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Text=e.Row.Cells[2].Text.ToString().PadRight(50).Substring(0,50);
}
}
听说可以用CSS使过长的字段隐起来吗?
字符串不能格式化真不方便...
----------------------------------------------------------------------
天台gridview中 加模版列
<asp:TemplateField HeaderText=" 内容 ">
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" Width="15%" />
<ItemTemplate>
<%# CutString(Convert.ToString(Eval("Content")), 20)%>
</ItemTemplate>
</asp:TemplateField>
后台代码中
/// <summary>
///
字符长度控制 中文 英文识别!
/// 注:一个汉字作为2个字符长度处理
/// </summary>
/// <param name="str">要进行切割的字符串</param>
/// <param name="len">返回的长度(自动识别中英文)</param>
/// <returns></returns>
protected string CutString(string str, int len)
{
byte[] sarr = System.Text.Encoding.Default.GetBytes(str);
if (sarr.Length > len)
return System.Text.Encoding.Default.GetString(sarr, 0, len) + "...";
else
return str;
}
--------------------------------------------------------
给个参考
<asp:repeater id="FeedBackList" Runat="server">
<ItemTemplate>
<tr height="35px"
onmouseout="this.style.backgroundColor='#FFFFFF'"
onmouseover="this.style.backgroundColor='#eeeffe'">
<td align="center"><%# DataBinder.Eval(Container.DataItem,"username")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"title")%></td>
<td><%#
DataBinder.Eval(Container.DataItem,"content").ToString().Length>15?DataBinder.Eval(Container.DataItem,"content").ToString().Substring(0,15)+"...":DataBinder.Eval(Container.DataItem,"content").ToString()%></td>
<td align="center"><%# DataBinder.Eval(Container.DataItem,"date")%></td>
<td align="center">
<span style="cursor:hand" id='<%#
DataBinder.Eval(Container.DataItem,"id")%>'
onclick=Del(this)>删除</span>
<a href="FeedBackdetails.aspx?id='<%#
_fcksavedurl=""FeedBackdetails.aspx?id='<%#"
DataBinder.Eval(Container.DataItem,"id")%>'">查看详情</a>
</td>
</tr>
</ItemTemplate>
</asp:repeater>
--------------------------------------------------------
<style>.stringCut{
width:50px; overflow:hidden;text-overflow:ellipsis; white-space:nowrap;
}</style>
<div class="stringCut">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div>
--------------------------------------------------------
在CS里面GRIDVIEW的事件截取 e.Row.Cells[2] 这是那个地段!选择框为0然后往后排
protected void gvFlash_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Text=e.Row.Cells[2].Text.ToString().PadRight(50).Substring(0,50);
}
}
相关文章推荐
- 绑定SqlDataSource的Gridview字符串字段长度截取
- 绑定SqlDataSource的Gridview字符串字段长度截取(转)
- 绑定SqlDataSource的Gridview字符串字段长度截取
- gridview 实现排序 (在不是使用sqlDataSource控件,而在后台编码绑定gridview时,指定那个字段排序时使用。本例用了单层结构,可修改后应用于多层)
- 不用sqldatasource,自己编写sql语句绑定gridview
- mysql sql语句提取截取字段值中的数字字符串,动态截图指定字符串数字
- 数据库中判断字段中字符串长度 截取字符,字符转换,
- SQL截取字段字符串的方法
- sql中从指定位置截取指定长度字符串
- GridView截取某一列字符串的长度,
- 如何用SQL动态截取字符串的长度?
- 为DataList、GridView赋值字段截取长度
- .net对绑定控件中的字段截取固定长度
- sql中截取和算出字符串的长度
- Oracle截取字符串去掉字段末尾指定长度的字符
- Oracle截取字符串去掉字段末尾指定长度的字符
- 关于绑定了GridView控件后怎么截取字符串和CSS样式来控制表头不换行
- SQL 字符串截取左边指定长度字符串中文、英文
- gridview绑定linqdatasource后获取gridview中的字段
- sql截取字段的固定长度