gridview 内容过多

labkill 2012-04-17 03:29:34
唉~每次挠的头发都快掉光的时候就来CSDN求解+吐槽,今儿又来求助了!

gridview中有个“备注”列,是用来显示用户备注的,因为字数过多,gridview总是被串好长一串,设置了Width="850px"也没效果,每行设置宽度也没效果
在网上找的http://www.bhcode.net/article/20100623/11335.html
在css里设置了.break{word-break:break-all} 无效果

<asp:BoundField DataField="Remark" HeaderText="备注">
<ItemStyle HorizontalAlign="Center" Width="70px" CssClass="break" />
<HeaderStyle />
</asp:BoundField>


http://hi.baidu.com/freesky125/blog/item/b4f15e44abde9e4b510ffe95.html
我要的就是这个效果,可惜这个帖子的写法不会弄啊

http://hi.baidu.com/evans_wang/blog/item/e5769b11b8f42406213f2eb1.html
这个看着到简单易实现,可谁能告诉我(list[i].Viscera)这个是什么???

求解求解啊!!我现在又在抓头发了……5555555555555
...全文
236 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
labkill 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]
C# code


protected void gridview_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow row in gridview.Rows)
{
foreach (TableCell cell in row.Cells)
……
[/Quote]

好吧,不就是用datakey么!MBD……给完分就不理我了
labkill 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]
C# code


protected void gridview_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow row in gridview.Rows)
{
foreach (TableCell cell in row.Cells)
……
[/Quote]

gridview的内容却是是变了,可是……更新状态取不到remark那列的内容啦!想不出办法,继续求解
labkill 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]
C# code


protected void gridview_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow row in gridview.Rows)
{
foreach (TableCell cell in row.Cells)
……
[/Quote]

哦哦哦,是我弱了~
竟然好使了!没啥说的!谢谢你了!好人,平安~哈哈
_萧萧 2012-04-17
  • 打赏
  • 举报
回复

protected void gridview_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow row in gridview.Rows)
{
foreach (TableCell cell in row.Cells)
if (cell.Text.Length > 20)
cell.Text = cell.Text.Substring(0, 20) + "...";
}
}



这个明显是遍历gridview的 那是ID 只是没改回来
_萧萧 2012-04-17
  • 打赏
  • 举报
回复


#7楼 得分:0回复于:2012-04-17 15:45:42HTML code
<style type="text/css">
.mlength
{
text-align : left;
display: block;
width: 150px;
overflow: hidden;
white-space: nowrap;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;

}
</style>

<asp:TemplateField HeaderText="备注">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Remark") %>' CssClass="mlength" ToolTip='<%# Eval("Remark") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>




C# code
protected void gridview_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow row in gridview.Rows)
{
foreach (TableCell cell in row.Cells)
if (cell.Text.Length > 20)
cell.Text = cell.Text.Substring(0, 20) + "...";
}
}
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
((Label)e.Row.Cells[0].FindControl("Label1")).ToolTip = ((Label)e.Row.Cells[0].FindControl("Label1")).Text;
}
}


改gridview的ID
labkill 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
拿我的代码 7楼 绝对可用 并且美观
[/Quote]
我倒是想用,先求解一下gvTranassessManage是什么玩意?
labkill 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
HTML code


<style type="text/css">
.mlength
{
text-align : left;
display: block;
width: 150px;
overflow: hidden;
whi……
[/Quote]

感觉还是不错的……只是,我已经弱到,不知该怎么提问了,C# code的想不出怎么修改
_萧萧 2012-04-17
  • 打赏
  • 举报
回复
拿我的代码 7楼 绝对可用 并且美观
labkill 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
http://hi.baidu.com/freesky125/blog/item/b4f15e44abde9e4b510ffe95.html
这个就是个截取显示啊。有什么问题看不懂呢?
[/Quote]
不好意思~本人才疏学浅,就是没看懂
labkill 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
把你的备注换成下面模板列

<asp:TemplateField HeaderText="备注" SortExpression="Remark">
<ItemStyle HorizontalAlign="Center" Width="200px" />
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#……
[/Quote]
这个倒是能用,只是,怎么每项后面都有个“...”我只要显示不下的项才显示“...”啊
中间那段实在没看懂,所以不知道怎么改~
继续求讲解~谢了!!
xboxeer 2012-04-17
  • 打赏
  • 举报
回复
我是指概念上就是你的Remark 具体怎么绑定我不怎么用gridview不太清楚总之你把你备注的内容放到他的SubString函数里面就可以了 然后绑定函数输出值
[Quote=引用 8 楼 的回复:]

引用 2 楼 的回复:
list[i].Viscera这个就是你这边的Remark

引用楼主 的回复:
唉~每次挠的头发都快掉光的时候就来CSDN求解+吐槽,今儿又来求助了!

gridview中有个“备注”列,是用来显示用户备注的,因为字数过多,gridview总是被串好长一串,设置了Width="850px"也没效果,每行设置宽度也没效果
在网上找的http://www.b……
[/Quote]
labkill 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
控制一下字符串 比如超过5个字符的长度就截取前五个字符,再追加个"..."
[/Quote]
我也知道是可以这样,但gridview都是绑定的数据,我不知道该怎么改
labkill 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
list[i].Viscera这个就是你这边的Remark

引用楼主 的回复:
唉~每次挠的头发都快掉光的时候就来CSDN求解+吐槽,今儿又来求助了!

gridview中有个“备注”列,是用来显示用户备注的,因为字数过多,gridview总是被串好长一串,设置了Width="850px"也没效果,每行设置宽度也没效果
在网上找的http://www.bhcode.net/artic……
[/Quote]

你是说把list[i].Viscera改成Remark就能用了?
_萧萧 2012-04-17
  • 打赏
  • 举报
回复

<style type="text/css">
.mlength
{
text-align : left;
display: block;
width: 150px;
overflow: hidden;
white-space: nowrap;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;

}
</style>

<asp:TemplateField HeaderText="备注">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Remark") %>' CssClass="mlength" ToolTip='<%# Eval("Remark") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>



protected void gridview_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow row in gvTranassessManage.Rows)
{
foreach (TableCell cell in row.Cells)
if (cell.Text.Length > 20)
cell.Text = cell.Text.Substring(0, 20) + "...";
}
}
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
((Label)e.Row.Cells[0].FindControl("Label1")).ToolTip = ((Label)e.Row.Cells[0].FindControl("Label1")).Text;
}
}
Change_L 2012-04-17
  • 打赏
  • 举报
回复
http://hi.baidu.com/freesky125/blog/item/b4f15e44abde9e4b510ffe95.html
这个就是个截取显示啊。有什么问题看不懂呢?
Change_L 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

控制一下字符串 比如超过5个字符的长度就截取前五个字符,再追加个"..."
[/Quote]

这种办法就行吧
happytonice 2012-04-17
  • 打赏
  • 举报
回复
把你的备注换成下面模板列

<asp:TemplateField HeaderText="备注" SortExpression="Remark">
<ItemStyle HorizontalAlign="Center" Width="200px" />
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# String.Format("{0}", Eval("Remark")).Length >= 20 ? String.Format("{0}", Eval

("Remark")).Substring(0, 20) + ".." : String.Format("{0}", Eval("Remark")).Substring(0) + ".."%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
orochiheart 2012-04-17
  • 打赏
  • 举报
回复
控制一下字符串 比如超过5个字符的长度就截取前五个字符,再追加个"..."
xboxeer 2012-04-17
  • 打赏
  • 举报
回复
list[i].Viscera这个就是你这边的Remark
[Quote=引用楼主 的回复:]
唉~每次挠的头发都快掉光的时候就来CSDN求解+吐槽,今儿又来求助了!

gridview中有个“备注”列,是用来显示用户备注的,因为字数过多,gridview总是被串好长一串,设置了Width="850px"也没效果,每行设置宽度也没效果
在网上找的http://www.bhcode.net/article/20100623/11335.html
在css里设置了.break{word-……
[/Quote]
zllllz6 2012-04-17
  • 打赏
  • 举报
回复
你说的哪个效果 跳转过去只有代码```看不到效果

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧