注册 登录
编程论坛 ASP.NET技术论坛

[求助]GridView单元格显示部分内容的问题

重在参与 发布于 2007-07-31 11:43, 2059 次点击

数据库里的字段太长,我想显示在GridView里时,只是一部分,然后鼠标放上去后,出现一个ToolTip,显示此字段的所有内容,我是这样写的,可是运行后说标记不正确?
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField HeaderText="商家名称" SortExpression="uname">
<EditItemTemplate>
<asp:TextBox ID="txtuname" Width=100px runat="server" Text='<%# Bind("uname") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text=<%# (Bind("uname").ToString()).Length>10 ?((Bind("uname")).ToString()).Substring(0,10)+"...":Bind("uname") %>' ToolTip='<%# Bind("uname")%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

5 回复
#2
冰彩虹2007-07-31 12:25
<asp:TemplateField HeaderText="项目名称">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ProjectName").ToString().Length>5 ? Eval("ProjectName").ToString().Substring(0,5)+"..." : Eval("ProjectName") %>'
ToolTip='<%# Eval("ProjectName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
#3
川流不息2007-07-31 12:43
e.Item.Cells[10].Attributes.Add("title",e.Item.Cells[10].Text);
//如果文本長度大於8,則只取前8個字符,後面用......來代替
if(e.Item.Cells[10].Text.Length>8)
{
e.Item.Cells[10].Text=e.Item.Cells[10].Text.Substring(0,8)+"... ...";
}

在dataBound事件中
#4
重在参与2007-07-31 13:21
好用了,谢谢冰彩虹,川流不息的有点麻烦,还得在后台写代码,不过也谢谢
#5
刘小芳2007-07-31 18:01

我都一直还没调试出来怎么让他把所有内容显示在其他文本框中

#6
冰彩虹2007-07-31 18:02
以下是引用刘小芳在2007-7-31 18:01:38的发言:

我都一直还没调试出来怎么让他把所有内容显示在其他文本框中

啥子意思?莫明白

1