I've tried changing the RowStyle Wrap property and every Wrap property in the grid. How do I stop word wrap in a Gridview no matter what size the Row's Text Length is?
It's not RowStyle. You need to set the wrap setting of the individual Item under the columns.
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField>
<ItemStyle Wrap="False" />
</asp:BoundField>
<asp:BoundField>
<ItemStyle Wrap="False" />
</asp:BoundField>
</Columns>
</asp:GridView>
This needs to be done for each individual column. You could set up a method in the code-behind to do it for you though.
Jason writes in this blog post:
I was facing the same problems with the Gridview when loading long text from the database. I tried the DIV method to get with CSS styling to stop the table from expanding all the way to the right. I got it to work now with elipsis showing if the text is too long. However, this means that I can't display the whole text in the gridview which can me misleading to users.
So I added another style called "word-break : break-all" to break the text into chunks that fit properly in the table and got the results I wanted. Below is the parts to my code:
<style type="text/css">
.DisplayDesc { width:500px; word-break: break-all; }
.DisplayDiv { width:500px; OVERFLOW:hidden; TEXT-OVERFLOW:ellipsis;}
</style>
<asp:TemplateField HeaderText="Log Description">
<ItemStyle Font-Names="Tahoma" Font-Size="X-Small"
HorizontalAlign="Left" Wrap="True" />
<ItemTemplate>
<div class="DisplayDiv">
<asp:Label CssClass="DisplayDesc" ID="Label1" runat="server"
Text='<%# Bind("TransText") %>'></asp:Label>
</div>
</ItemTemplate>
</asp:TemplateField>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With