"Refresh" SharePoint site column definition on lists that use it? - sharepoint

We deployed a feature that installs a custom site column named "Classification." It is a Choice column type. Now, we need to change the choices. We can update the XML in the feature easily enough, but it doesn't affect any of the lists already used the existing site column; they still see the old choices.
Is there any way to send a refresh signal or something to the lists that use our Classification site column feature to have those lists use the updated choices?

I think the only way to archive this is by iterating each list that uses the column and change the XML there as the column within a list has no reference to the original column any more.

Flo has a point, and I have previously been working with this issue and have made a blog post that might help you out somewhat. Have a look:
http://johanleino.wordpress.com/2009/08/11/propagating-updates-to-content-types/

SharePoint can do this.. Don't change your feature but modify the created site column in each site collection through the web UI. Changes made this way will propagate.
(I hope you don't have 10.000 site collections ;)

Related

One custom display form for all the lists

Good day to you. I am newbie in SharePoint 2013 so please bear with me. I have created around 15 lists in my website each containing same columns but different data (they differ semantically).
I am aware that we can change the default view, edit and display form for each list by creating new form in SharePoint Designer 2013. This seems like a very bad approach as far as the maintenance is concerned. I know my lists are exactly the same so why do I have to create same 15 display forms for each of the lists?
Is there a way to create one custom Display form (may be in a central location, i don't know i am just thinking :P ) for all the lists? Is there a way to tell a list to use a specific display form? Any help will be highly appreciated. Thanks.
If i understand your question correctly, you have 15 lists with same set of columns. You want to change the display/look of the form. All 15 lists should have same look and feel right!! If yes, then why don't you try with some html, javascript solution. Since you are in sharepoint 2013, javascript support for solutions is very good like rest queries. You can use SPServices also.
If you want to to add data to the list whenever you click on the "New Item" link in the list then hijack this link such that it should navigate to your custom form. Pass your list name as query parameter. Whenever user is saving the form, get the list name from the query parameter and save the data to that list.
There could be another ways also to achieve the solution with html and javascript.
Useful links:
Microsoft, Microsoft, SPServices
Sam I think you can create a custom content type and create custom display form for your content type. Enable the content type in each of your lists so automatically this customized form would be available.
The advantage of this approach is that suppose if you need one more list after some time you can just add this content type and your form would be available into the new list as well.
The approach is explained in the link below.
http://blogs.msdn.com/b/varun_malhotra/archive/2009/06/06/define-custom-new-edit-display-forms-for-content-types.aspx
Check this one also
https://joshmccarty.com/2011/02/sharepoint-custom-list-with-custom-content-types-and-custom-display-forms/
Just wanted to write the solution which I implemented as it might help others as well. (Thanks Hiren and Mihir for your valuable inputs)
I had 15 lists and I was showing the data to the user using content search web part with custom display template. All of the lists were using the same display template so I made a new page just to show the item details. In the display template I pointed the item URL (i hijacked the list name and the current item id) to my new page and displayed the item. Let me know if anyone is interested in the whole solution or further elaboration is required.

Cascading Drop Downs in SharePoint with One Web Part Only

I need your suggestions for my problem area. I am working with SharePoint 2010. My requirement is to create a single web part that has only one DropDown List. Say DropDown List for continents. Now I want to use the same web part more than once on my page to have a cascading effect e.g Continents|Countries|States|Cities|so on.
So my single web part can accept and provide connections.
Though I have been able to create a both provider and consumer web part but I am strucked with post backs. Ever time a DropDown's value is changed all the other DropDowns get bound again and lost the values.
Please suggest me some options.
Thanks a lot.
Kind Regards
Vivek
Try the answer for a similar question here. Check if your dropdowns are rebound on postback. If so make them bound only once.
I would suggest to use the Querystrings to store the dropdown state. This would also help you in creating Deep Url's. We did the same thing on the sharepoint features page here : http://sharepoint.microsoft.com/en-us/product/Pages/Features.aspx
Check if ViewState of dropdowns is enabled.
You can also use cascade dropdown based on Client Object Model.
Take a look at this utility i just released : http://sylvainlancien.blogspot.fr/2013/11/slnspcascadingdropdown-jquery-cascade.html

Sharepoint 2010 - Datasheet view and 3 linked lists

I've got a tricky situation I'm trying to determine the best way to solve. I'm a VS developer who is learning SharePoint so it's a little frustrating to me when what I am trying to accomplish could easily be done with code and a db.
I have three lists, a parent and two children list that are linked through lookup columns. The client actually wanted everything in one list but due to SharePoint column type limitations I had to split the data into the three lists, there are over 300 fields. The client wants to see all the lists together in one view and be able to filter and edit groups of items.
I have successfully created a new data source linking the lists and can display that on one of my pages to view. After some research however I have learned that I can't create a datasheet view from this linked view due to limitations in the Office componets that SP uses. Which makes sense.
The business need is for the client to filter the three lists based on criteria they select from either list A AND list B and list C to get a group of items, they make the updates and save the changes back to the 3 lists. They prefer to do this in datasheet view because this mimics the excel spreadsheet that they are currently using that this website will replace. They will potentially be updating between 1-30 items at a time using this, which is why they prefer the drag and copy functionality.
I was thinking of two options: trying to create some kind of custom web part that has a gridview of all the columns in edit mode that they can filter down to their items and make their changes. Then I would have to loop through the fields and make updates programmatically. I also saw on this site jQuery.sheet, that looks like it may be a good solution if I go this route instead of gridview.
Or have a modal window with the columns listed, have the user select what they want to filter to, then redirect to a page that shows the three lists in their own DSVs. The user would have to make updates in the three separate views. Then I would use workflows to synchronize the lists after they had made their changes.
I always end up trying to do things programmatically since I am still largely unfamiliar with SP and only seem to hit its limitations instead of its strengths. Has anyone tried to do something similar to this? Or do you have any suggestions as to the best way to accomplish this? Best practices? I appreciate all thoughts and comments! FYI I've also posted this on the MS SP forums as well to cast a wider net...
Thanks,
Sabrina
In this case, you are better off going with a custom solution. A webpart would be an excellent choice for delivering your custom interface.
A dataview webpart will do the job, but if you feel comfortable with the jQuery solution it would make for a nicer interface.
In your code, treat the lists as you would a database and isolate it from the logic and interface code within the webpart.

Share Sharepoint lists across sub sites

I've got a situation where I want to have a master list at the top level of a Sharepoint site, and then allow the sub-sites to see the master list. I've tried working with Content Types, and either I'm slow and just can't get the concept, or it doesn't seem to apply.
Anyone have any luck?
It depends on what you mean by "see" the master list.
If you're writing code to access it, you can do that by getting an SPWeb object for the top level site and using its Lists property.
If you just want to display it on a web part page, you can do that with a Content Query Web Part.
If you want to use it in other lists somehow, that's a more involved question. You can definitely set up lookup columns to point to lists in other sites, but we've only done that via custom site and list definitions.
Also, if you want to reuse some text or HTML from your master list and you're using MOSS, the Reusable Content list in the site collection's top site is useful.
I heard some web parts can build relation between lists that are located on different sites. But it is new to seek sharping list relationbetween master-sites and sub-sites.
I am not sure if this relation can be seen as cross-site, if positive then take a look at Sharepoint Cross-site Lookup. Otherwise for me your requirements is an "involved question" .
You can also use data view webparts to serve up list data from other sites.
If you want to be able to have a lookup column, looking in another list at a higher level site. you can at the higher level site create a site column (under site settings) that is a lookup field to the socalled masterlist. Then on the list in a subsite, you can add a site column, then choose the site column you created earlier.

How to tie a dropdown list to a gridview in Sharepoint 2007?

This should be a really really simple thing, but for some reason it is just eluding me.
I want a Sharepoint page which will have a drop down list that is tied to a database lookup table.
When an item is selected and they click a GO button, I want it to update a gridview that is also on the page.
I'm looking for a simple how to - while assuming I'm a sharepoint idiot. BTW, I am using the Microsoft Office Sharepoint Designer.
Thanks,
Edit:
My need is actually very simple. I want to filter the results of a query using a drop down list. This used to be called a master - detail relationship.
For example, my regular data has school name, application name, and how long the application was running. Because there could be a hundred applications per school and there are 60+ schools, I only want to show one schools information at a time.
So, I want to put a drop down list at the top of the screen which contains the list of schools. When one is selected, the gridview should be updated to reflect the new schools information.
Chris.
I currently use a drop down tied to one sharepoint list to filter a dataview of another sharepoint List.
The instructions are here:
http://blogs.msdn.com/sharepointdesigner/archive/2007/03/05/asp-net-controls-filter-the-data-view.aspx
I'm not exactly sure of the specific needs here, but it seems that you are trying to stretch a bit beyond what Sharepoint Designer is well suited to. To look up data, you do have access via the dataview web part, which is here:
http://office.microsoft.com/en-us/sharepointdesigner/HA100948041033.aspx
However your filtering needs may prevent you from using this. If you want to do it .net without knowing too much about MOSS, you can use the "son of smartpart" (google it) which allows you to host standard .net user controls in webparts.
Hope this helps!

Resources