关于DataGrid中字符串长度的设置

来源:互联网 发布:智能高清网络摄像机 编辑:程序博客网 时间:2024/04/28 11:50
今天上班的时候就碰到这个问题,郁闷了半天!!
本来想想反正是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 

 

http://field.cnblogs.com/archive/2006/07/20/455747.html

原创粉丝点击