Field's Space

.NET技术学习

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
今天上班的时候就碰到这个问题,郁闷了半天!!
本来想想反正是DataGrid里面的列,还不一样么,结果问题出来了,列里面的字符太多,把DataGrid弄得N难看,更郁闷中...

慢慢思考问题出在那里,后来我干脆重新做一遍,结果发现,要是把列设定成BoundColumn,然后再用:
if(e.Item.Cells[2].Text.ToString().Length>25)
            
{
                e.Item.Cells[
2].Text=e.Item.Cells[2].Text.Substring(0,25)+"";
            }
这一段代码来处理,是完全正确的!
后来再把列设定成HyperLinkColumn,问题跟刚开始一样!
得出结论:上面的方法只能对列为BoundColumn的时候才有用(说得不恰当的地方,请指出!)!
但是要怎么要处理呢,虽然说不知道问题所在是件最郁闷的事,要是知道问题所在,不知道解决也是件N郁闷的事,我在想,是不是人品出了问题,嘻嘻!!
干脆找了个人品计算器来玩了下,分数相当高,还有84分,不错啊!!

想玩的来玩玩啊!!

后来第一时间想到了CSDN,哈哈.不到半个小时就有好多人帮我回答!

后来一个朋友帮我解决了,方法如下:
后台添加:
protected string FormatString(object o,int length)
{
string s = o.ToString();
if(s.Length > length)
return s.Substring(0,length) + "";
return s;
}

前台改变列为模板列:
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.News_ID", "NewsShow.aspx?ID={0}") %>' Text='<%# FormatString(DataBinder.Eval(Container, "DataItem.News_Subject"),10) %>' Target="_blank">
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
真是太感谢他了!!

CSDN的地址:http://community.csdn.net/Expert/topic/4893/4893536.xml?temp=.2914545
posted on   Field  阅读(1807)  评论(3)    收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示