Sharepoint:Il modo migliore per visualizzare elenchi di contenuti non SharePoint con un'interfaccia utente "compatibile"?

StackOverflow https://stackoverflow.com/questions/75747

Domanda

Ho creato una web part per Sharepoint che recupera i dati da un servizio esterno.Vorrei visualizzare gli elementi in un modo che sia compatibile con l'interfaccia utente di Sharepoint (si adatti all'ambiente circostante).

Sono a conoscenza di "DataFormWebPart" ma non sono riuscito a farne funzionare correttamente uno.Richiede un DataSource valido e non sono riuscito a crearne uno dai risultati di una chiamata al servizio Web...Parte del problema è che i wrapper dei miei servizi Web non espongono le informazioni di restituzione XML, piuttosto ho un mucchio di oggetti deserializzati.Non sembra esserci un modo semplice per trasformare oggetti reali in un'origine dati o popolare un'origine dati "generica" ​​dai dati dell'oggetto.

Potrei usare un SPGridView per ottenere la stessa interfaccia utente, ma il controllo della griglia non ha molto in termini di intelligenza e forza ogni campo nella propria colonna.Preferirei visualizzare ogni elemento dell'elenco come una singola cella con un rendering complesso (ad esempio il modo in cui StackOverflow mostra i suoi elenchi di domande). Mi piacerebbe anche ottenere quanta più interfaccia utente standard di Sharepoint possibile, come ad esempio i controlli di ordinamento, filtraggio e impaginazione.

Quindi, prima:Qualcuno qui ha scritto un controllo Sharepoint che fa questo e, in caso affermativo, hai un codice di esempio da condividere?Altrimenti:sto trascurando qualche controllo utile, fornito da MS o disponibile in una libreria esterna?

Grazie!Steve

È stato utile?

Soluzione

Sharepoint:Il modo migliore per visualizzare elenchi di contenuti non sharepoint con interfaccia utente "compatibile"?

Dai un'occhiata ai controlli web integrati di SharePoint:

Spazio dei nomi Microsoft.SharePoint.WebControls

Contiene tutti i controlli utilizzati in SharePoint.Ti direi di più, ma la documentazione è molto approfondita.

Altri suggerimenti

Il problema con SharePoint è che esistono molti modi diversi per farlo.Se i tuoi dati non cambiano troppo spesso e non sono eccessivamente grandi, potrebbe valere la pena considerare di inserirli in un elenco per la visualizzazione.Se disponi della licenza Enterprise, potrebbe valere la pena inserire i tuoi dati nel BDC e utilizzarli lì.potrebbe essere necessario convertire gli oggetti in XML o utilizzare gli oggetti serializzati con la web part XML per la visualizzazione.Questo presenta ancora il problema del rendering personalizzato utilizzando XSLT.

Ecco un ottimo articolo che spiega come configurare le connessioni BDC ai servizi Web utilizzando l'editor delle definizioni BDC:

Creazione di una connessione al servizio Web utilizzando l'editor delle definizioni di Business Data Catalog http://msdn.microsoft.com/en-us/library/bb737887.aspx

Il modo migliore per eseguire questa operazione IMO è creare una web part.Come web part, il rendering dell'interfaccia utente verrà eseguito automaticamente in modo che corrisponda al tema utilizzato dal sito (a meno che non venga eseguito l'override) e potrà essere posizionata ovunque da chiunque disponga di privilegi di amministratore.

È possibile creare una web part personalizzata e utilizzare SPGridView.Dici che non ti piace, perché forza ogni campo nella propria colonna, ma non è vero.Puoi creare un modello (ITemplate) per ogni colonna e personalizzare completamente ciò che viene mostrato al suo interno, proprio come faresti utilizzando un normale ASP.Net GridView.Utilizzando questo approccio ho aggiunto le piccole immagini "Nuove" proprio accanto al titolo di un elemento dell'elenco, proprio come fa SharePoint stesso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top