• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

各位大哥斑竹帮帮我,如何用datagrid显示的数据限定每栏的字数?并在后面带上…!???

zooo 2004-10-27 12:44:36
各位大哥斑竹帮帮我,如何用datagrid显示的数据限定每栏的字数?并在后面带上…!???
例如,“甲乙丙丁”限定显示两个字,显示为“甲乙…”并带连接!
请给出代码!
...全文
167 点赞 收藏 18
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zooo 2004-10-28
qiangsheng(代码工人)
没关系我的确不是程序员!
回复
zooo 2004-10-28
chenhaoying(风雨无阻)
<%# DataBinder.Eval(Container.DataItem,"text1").ToString().Length>=100?DataBinder.Eval(Container.DataItem,"text1").ToString.Substring(0,100)+"...":DataBinder.Eval(Container.DataItem,"text1").ToString() %>
我试了,可是还是不好使啊!
我的每项也就5到6个字母。可是Length>我都添到50了还是都有“…”等我填1000的时候又都没有了!
这是为什么啊?
你试这段吗?
回复
qiangsheng 2004-10-28
不好意思,我也是随便说说,冒犯之处请多包涵。
回复
zooo 2004-10-28
qiangsheng(代码工人)
呵呵,连这么的困难的问题你都看出来了!
其实我真不是个程序员
回复
zooo 2004-10-28
我昨天是这样写的可是不对啊!
<%# (DataBinder.Eval(Container.DataItem,"text1").ToString().Length>=100)?DataBinder.Eval(Container.DataItem,"text1").ToString.Substring(0,100)+"...":DataBinder.Eval(Container.DataItem,"text1").ToString() %>
我去试试 !
回复
chenhaoying 2004-10-28
我以前回答过。在
http://community.csdn.net/Expert/topic/3308/3308793.xml?temp=.8487207
回复
qiangsheng 2004-10-28
说真的,其实你真不是个程序员!,连这么点小问题都要问,不会自己钻研?
str有个length属性,可以计算字符串长度。
回复
zooo 2004-10-28
回复
zooo 2004-10-28
<%# sub((string)DataBinder.Eval(Container.DataItem,"字段"))%>

public string sub(string str1)
{
str=str.Substring(0,2);
str=+"...";
return str;
}
这个如果是两个字的就不加,多余2个的才加怎么办啊????
回复
chenhaoying 2004-10-28
-----------------------------------------------------------------------------------
<%# DataBinder.Eval(Container.DataItem,"text1").ToString().Length>=100?DataBinder.Eval(Container.DataItem,"text1").ToString.Substring(0,100)+"...":DataBinder.Eval(Container.DataItem,"text1").ToString() %>
我试了,可是还是不好使啊!
我的每项也就5到6个字母。可是Length>我都添到50了还是都有“…”等我填1000的时候又都没有了!
这是为什么啊?
你试这段吗
-----------------------------------------------------------------
我一直都是用这个的,没什么问题,若是出现小于100有“……”而大于的没有的话是反过来了。改成
<%# ( DataBinder.Eval(Container.DataItem,"text1").ToString().Length>=100?DataBinder.Eval(Container.DataItem,"text1").ToString.Substring(0,100)+"...":DataBinder.Eval(Container.DataItem,"text1").ToString() ) %> //加了个()
回复
amandar 2004-10-28
不好意思,没有查资料就给答案,
e.Item.Cells[0].Text是只读的.
回复
cancersyf 2004-10-27
在后台用一个方法来实现,方法见楼上的。
回复
lovedick 2004-10-27
<%# sub((string)DataBinder.Eval(Container.DataItem,"字段"))%>

public string sub(string str1)
{
str=str.Substring(0,2);
str=+"...";
return str;
}
回复
smx717616 2004-10-27
你搜索一下在问好不好?这个问题好多人问过了 !
回复
rickjelly2004 2004-10-27
select substring(ziduan,1,10) | "……"
回复
kbkingbird 2004-10-27
不知道是不是下面的意思~~
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//只要求取前5位,多于5则取…
if(e.Item.Cells[0].Text.Length > 5)
{
e.Item.Cells[0].Attributes.Add("ID", e.Item.Cells[0].Text);
e.Item.Cells[0].Text = e.Item.Cells[0].Text.Substring(0, 5) + "…";
}
}
}
回复
zooo 2004-10-27
再问各位一个问题
在.aspx文件中的code behind=和src=有什么区别啊????为什么不可以通用???
回复
amandar 2004-10-27


当数据与DATAGRID绑定后,可以写以下代码:

public void ItemDataBound(Object sender, DataGridItemEventArgs e)
{
DataRowView drv = (DataRowView) e.Item.DataItem;
if (drv == null)
return;

if (drv["列名"].ToString().Length > 你要设定的值)
{
drv["列名"] = GetStrLeng( drv["列名"] ,取值长度);
}
}

///GetStrLeng是你自己写函数,功能是按你传进的字符串及长度,返回传入长度的值.


good Luck!
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-10-27 12:44
社区公告
暂无公告