Friday, May 20, 2011

Missing values of one column in list item

Today working on MOSS 2007 project, Adil - my team member mentioned that he is facing a weird behaviour with OOTB sharepoint list. One of the column in the list is not showing value, even though value does exist for that column.

He was getting blank in Display mode and also in ListView mode.
Values are showing up for Admin user but for all other users it's showing blank.

Strange, isn't it ?

I started analyzing whats so different with this list and I realized we had so many number columns. Is that an issue ??

Yes , that can be.

As we know SharePoint database is not simple and uses a big table to store all the values. When we create a new column , say type Number , it will look into the datarow and allocate a number column to it , i.e. numbercolumn1. Now there is a limited number of columns in datarow for each type. If we already consumed all the columns for other fields then only way to accomodate it is 'Row-wrap'.
Yes , you are right. It will book an another row for each item u create.

All that is fine but how it is connected to above issue ??

I opened SharePoint manager to checked the details of each field. While all the fields which are working file had RowOrdinal="0" , the field showing blank had RowOrdinal="1".

SharePoint is limited by design and sometime not able to pull the information back from wrapped rows/columns.

1. Just like good DB normalization technique, split the data in 2 lists.
2. Look for columns you really don't need. If 'Row-wrap' is because of 1-2 columns, you might be able to remove them to ensure you don't cross columns maximum limitation.

Check out
Column Limitation for MOSS 2007