Link to home
Start Free TrialLog in
Avatar of happyhappyjoyjoy
happyhappyjoyjoy

asked on

How to fix column widths (for headers) in Sharepoint WSS 3.0

Hi

We are using WSS 3.0 and have access to sharepoint designer.

I want to set the column header (and column) width for certain list views to a fixed width. This is because some of our column headers have long titles and we want all the columns the same width.

This is my first time doing this, not sure whether I should be using a css style and applying this to certain pages or just adjusting the column width manually / in the code.

I have googled this and tried the following:

1.      Go into sharepoint designer (spd) and go into excel data view, then manually edit the column width (select column, drag width)
This had no effect so I tried…
2.      Repeat step 2 but remove Nowrap=’Nowrap’  in code as descibed here:  http://aanuwizard.wordpress.com/2010/08/01/sharepoint-2010-how-to-change-width-of-list-column/
Didn’t work either
3.      I tried playing about with css styles by copying our core.css to a new style and playing about with this. What CSS properties should I be looking at? And how do I apply the style to a whole page/view.


Any help would be great, thanks gents
Avatar of chapmanjw
chapmanjw
Flag of United States of America image

Try adding this CSS to your page:

.ms-vh2, .ms-vb2, .ms-vb-icon, .ms-vb-title, .ms-vb-user
{
      width: 50px !important;
}

If I missed any of the CSS classes for the table columns, use the IE Developer Toolbar to help you identify them.
Avatar of happyhappyjoyjoy
happyhappyjoyjoy

ASKER

Thanks

That has amended all the data in the sheet but not the column headings. Appreciate the help though!

Attached is example.

The top screencap is before, the second is after. It's just dummy data so I can work out the theory of doing this first.

thanks
Ok, the issue is the NoWrap attribute on the table cells.  Here is one way to over come it with CSS and JQuery combined:



<script type="text/javascript" src="/jquery-1.4.2.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {
      $('.ms-vh2').removeAttr('noWrap');
      $('.ms-vb').removeAttr('noWrap');
      $('.ms-vb2').removeAttr('noWrap');
      $('.ms-vb-icon').removeAttr('noWrap');
      $('.ms-vb-title').removeAttr('noWrap');
      $('.ms-vb-user').removeAttr('noWrap');
});

</script>
thanks for that. seemed to accept the code ok and now i get better results when i try to change the column width by dragging. The problem is that the column headers still aren't getting smaller when i make the width smaller. I can make the column headers MORE wide however

the 5 column has been made wider in this image: http://tinypic.com/r/2njlpqe/7

i.e. i want 1234567 89101112 to look like:

1234567
89101112

Is there any more info I should provide or settings I should check? I put the code you posted in the CSS style sheet attached as a link to that page (a view) . Should I be clicking on some of the styles in the bottom right and applying them?

SPD screenshot: http://i55.tinypic.com/ok7a0w.png

apologies for any naievety, i have no development team to ask. I'm just a cable monkey!
You will also need to set a fixed with of the web part (in the Modify Shared Web Part settings).  For instance, with a 5 column table that you want to have each column at 100px, set the width of the web part to 500px.
thanks

did that, from the webpart on the page itself and here are the results, column headers un-changed

http://i53.tinypic.com/kf5pog.png

thanks
If you use the IE Developer Toolbar and select one of the headers with it, does it still have the NoWrap tag?
hi

The nowrap attribute still shows in IE developer toolbar (see attached).

http://i56.tinypic.com/1zwjak5.png

I will have a play about now with a few pages with as blank a CSS as I can, trying to remove all the nowrap tags, see if i can just start again



thanks again
ASKER CERTIFIED SOLUTION
Avatar of chapmanjw
chapmanjw
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Well that went to the wrong post lol.
still doesn't work but thanks for trying
i managed to find some success by messing about with CSS. While your code didnt work, all the tips in here helped me solve the issue. Thanks
thanks