绑定SqlDataSource的Gridview字符串字段长度截取

一批现有代码,页面都是直接绑定了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" οnmοuseοut="this.style.backgroundColor='#FFFFFF'" οnmοuseοver="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")%>' οnclick=Del(this)>删除</span>
      <a href="FeedBackdetails.aspx?id='<%# _fcksavedurl=""FeedBackdetails.aspx?id='<%#" DataBinder.Eval(Container.DataItem,"id")%>'">查看详情</a>
</td>
</tr>
</ItemTemplate>
</asp:repeater>

--------------------------------------------------------

唉,模版列我也会加阿
有没有改动更小的方法,没有的话下午给楼上2位没人50分好了

--------------------------------------------------------

<style>.stringCut{
width:50px; overflow:hidden;text-overflow:ellipsis; white-space:nowrap;
}</style>
<div class="stringCut">Linux+Java+Oracle开发方案      从c#程序员到微软架构工程师   </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);
         }
     }

转载于:https://www.cnblogs.com/gentlewolf/archive/2008/08/17/1269663.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值