467,188 Members | 1,436 Online
Bytes | Developer Community
Ask Question

Home New Posts Topics Members FAQ

Post your question to a community of 467,188 developers. It's quick & easy.

Datagrid -width of a column

I have a datagrid and i'm trying to fix the width of one of the columns to be
exactly 300px. My problem is that one of the records fields(CompanyName) is
really long and has no spaces so it streches the whole datagrid accross the
screen. Has anyone else ever experienced this problem and is there any way of
fixing it. Basically my datagrid is streching to about 120% because of this
one record. Would love to work out how I can change this setting. Any
suggestions or help at all would be appreciated.

EXAMPLE CODE:
<asp:Table Width="500px" BorderWidth="1px">
<asp:TableRow>
<asp:TableCell Width="500px">
<asp:DataGrid id="MyDataGrid" runat="server" Width="450px"
AllowPaging="True" AllowSorting="True" PageSize="5"
AutoGenerateColumns="false" DataKeyField="SupplierID"
AllowCustomPaging="True" ShowFooter="True">
<Columns>
<asp:BoundColumn Visible="False" DataField="SupplierID"
HeaderText="SupplierID">
<HeaderStyle Height="20px" Width="60px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="CompanyName" ReadOnly="True" HeaderText="Company
Name">
<HeaderStyle Height="20px" Width="300px"></HeaderStyle>
</asp:BoundColumn>
Jul 21 '05 #1
  • viewed: 1708
Share:
1 Reply
I use a css style for my repeater controls, but you can make it work with a
datagrid by using the style attributes in the column template or by adding it
dynamically if you are building your datagrid on the fly:

e.Item.Cells([INDEX]).Style.Add("word-wrap", "break-word")
e.Item.Cells([INDEX]).Attributes.Add("width", "250px")

<style type="text/css">TABLE#tableName { TABLE-LAYOUT: fixed }
TD.url { WORD-WRAP: break-word }
</style>

where #tableName is the name of your table and TD.XXX(url in my case) is the
column to break

might help...

"Stephen" wrote:
I have a datagrid and i'm trying to fix the width of one of the columns to be
exactly 300px. My problem is that one of the records fields(CompanyName) is
really long and has no spaces so it streches the whole datagrid accross the
screen. Has anyone else ever experienced this problem and is there any way of
fixing it. Basically my datagrid is streching to about 120% because of this
one record. Would love to work out how I can change this setting. Any
suggestions or help at all would be appreciated.

EXAMPLE CODE:
<asp:Table Width="500px" BorderWidth="1px">
<asp:TableRow>
<asp:TableCell Width="500px">
<asp:DataGrid id="MyDataGrid" runat="server" Width="450px"
AllowPaging="True" AllowSorting="True" PageSize="5"
AutoGenerateColumns="false" DataKeyField="SupplierID"
AllowCustomPaging="True" ShowFooter="True">
<Columns>
<asp:BoundColumn Visible="False" DataField="SupplierID"
HeaderText="SupplierID">
<HeaderStyle Height="20px" Width="60px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="CompanyName" ReadOnly="True" HeaderText="Company
Name">
<HeaderStyle Height="20px" Width="300px"></HeaderStyle>
</asp:BoundColumn>

Jul 21 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by GregM | last post: by
reply views Thread by mgenti | last post: by
reply views Thread by BK Kim | last post: by
4 posts views Thread by tshad | last post: by
4 posts views Thread by Suzanne | last post: by
7 posts views Thread by Dave | last post: by
9 posts views Thread by rn5a@rediffmail.com | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.