日期:2014-05-19  浏览次数:20781 次

关于DataGrid显示问题.
我这有一个DataGrid

<td   width= "95% "> <asp:datagrid   id= "bbsdg "   runat= "server "   PageSize= "8 "   CellSpacing= "2 "   AllowPaging= "True "   Border= "0 "
AutoGenerateColumns= "False "   Width= "100% "   CssClass= "DataGrid ">
<AlternatingItemStyle   CssClass= "Alternating "> </AlternatingItemStyle>
<Columns>
<asp:BoundColumn   DataField= "bbscontext "   HeaderText= "留言内容 ">
<HeaderStyle   CssClass= "header "> </HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn   DataField= "bbsname "   HeaderText= "留言人 ">
<HeaderStyle   CssClass= "header "> </HeaderStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle   Visible= "False "> </PagerStyle>
</asp:datagrid> </td>


如果他要是输入的数据多的话,就超出了TD,整个网页就乱了,
请问有什么办法,让他从库里读出来后,每行最多显示10个字,多余的就不显示,
或用...来代替,有什么办法吗?

------解决方案--------------------
TemplateColumn会用吗?给你段代码看一下
<asp:TemplateColumn>
<HeaderTemplate> 密码问题 </HeaderTemplate>
<ItemTemplate>
<a href= "xianshiusers.aspx?id= <%#DataBinder.Eval(Container.DataItem, "id ")%> &psw= <%#DataBinder.Eval(Container.DataItem, "password ")%> " target=_blank title= ' <%#DataBinder.Eval(Container.DataItem, "question ")%> '> <%#DataBinder.Eval(Container.DataItem, "question ").ToString().Length> 8?DataBinder.Eval(Container.DataItem, "question ").ToString().Substring(0,8)+ "... ":DataBinder.Eval(Container.DataItem, "question ").ToString()%> </a>
</ItemTemplate>
</asp:TemplateColumn>
把我的字段改为你的字段