Domanda

Voglio disabilitare l'opzione che consente agli utenti di selezionare i diversi campi di nome (colonne) disponibili durante una creazione di libreria di SharePoint. Voglio che gli utenti creino una nuova colonna invece di scegliere tra le colonne di nomi disponibili predefinite. È possibile iniettare uno script che disabilita queste funzioni? O qualche altro lavoro intorno?

La libreria di documenti viene creata da un modello di libreria personalizzata. Questi campi di nome dovrebbero essere disabilitati solo per le librerie create da questo particolare modello.

enter image description here

Questa è un'app di SharePoint 2010.

In generale come disabilitare un'opzione colonna predefinita?

Qualsiasi aiuto apprezzato, grazie!

È stato utile?

Soluzione

Nel caso in cui qualcuno stia cercando una risposta, sto pubblicando questo

L'URL è l'URL assoluto di HttpContext

if (url.Contains(@"/_layouts/ViewEdit.aspx"))
            {
                sb.AppendLine("Name Field script injection");
                using (SPSite site = new SPSite(url))
                {
                    sb.AppendLine("Site URL : " + site.Url);
                    using (SPWeb web = site.OpenWeb("/"))
                    {
                        sb.AppendLine("Web URL : " + web.Url);

                            string[] urls = url.Split('/');

                            sb.AppendLine("List Name:" + urls[urls.Length - 3]);

                            SPDocumentLibrary library = web.Lists[urls[urls.Length - 3]] as SPDocumentLibrary;
                            SPContentType contentType = library.ContentTypes["Document_Content_type"];

                            if (contentType != null)
                            {
                                sb.AppendLine("Content Type Name:" + contentType.Name);
                                InjectNameColumnScript();
                                sb.AppendLine("Name Column Script has been injected");
                            }
                    }
                }  
            }

Lo script fa qualcosa del genere all'interno della funzione documet.getReady

$(document).ready(function() {
   $("#check box_ID").closest("td").parent().attr("style","display:none;");
 });
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top