Domanda

Ho un SPFIELLO SHAREPOINT 2010 personalizzato di tipo SpfieldMulticolumn. I dati in questa colonna sono memorizzati in una stringa delimitata, che viene analizzata e resa in un formato leggibile nella maggior parte delle aree (vista elenco, 'Visualizza proprietà' ecc.). I dati grezzi sembrano questo (wording wording):

; # 0; # etichetta1; #true; #guid; #description_of_label; #; # 1; # etichetta2; #true; #guid; # Descrizione_of_label2; # ...

e così via. Le descrizioni sono piuttosto lunghe, rendendo questa corda lunga centinaia di personaggi, e davvero brutto quando non analizzato e reso. Il problema con questo è che in alcune parti del sistema, non possiamo controllare il rendering del campo. Il problema più comune che vediamo è nella vista Datasheet, dove vengono visualizzati i dati grezzi e sembrano semplicemente terribili e rende la scheda tecnica quasi inutilizzabile per gli utenti. I dati si presentano anche in e-mail di avviso e risultati di ricerca.

Mi è stato incaricato di rendere questa "più carina" e la mia soluzione dovesse aggiungere una colonna secondaria, "display" e per nascondere la colonna "Data". Quando un elemento viene aggiornato o aggiunto, ho ricevuto ricevitori di eventi che trasformano e spostano i dati nel campo del display, che sembra bello nella visualizzazione del foglio dati e così via.

Tutto funziona molto, tranne che per il fatto che richiede 2 aggiornamenti () invita ogni oggetto che ottiene questi metadati. Uno quando il campo "Dati" è popolato e un altro quando il ricevitore dell'evento copia i dati sul display.

La nostra produzione (e qas, ma non test o sviluppo) agriglie utilizzano lo stoccaggio Blob remoto (RBS) e il nostro team di operazioni ha scoperto che ogni volta che questa colonna (o immagino che qualsiasi colonna) sia aggiornata su un documento di ufficio (DOC, DOCX, ecc.) Provoca un nuovo BLOB nel file system. Così come la soluzione è oggi, un nuovo file caricato genererà 2 BLOB (uno per il caricamento, uno per l'applicazione di questo metadata). Con questo nuovo eventreceiver, generaremo 3 Blobs, che è incessantemente inutilizzabile al nostro team di operazioni (non abbiamo il 50% di spazio su disco per supportarlo).

'Fixing' RBS è fuori questione - quindi ho bisogno di aggiornare in qualche modo entrambe queste colonne contemporaneamente, piuttosto che aggiornando una, che spara un ricevitore di eventi per aggiornare l'altro.

C'è un modo per aggiornare 2 spfoni personalizzati con 1 chiamata da aggiornare ()?

TL; DR: soluzione personalizzata con 2 spfoni personalizzati - uno aggiornato attraverso il modulo 'Modifica', l'altro attraverso un ricevitore di eventi (secondo è completamente dipendente dal primo per i suoi dati). Come posso aggiornare entrambi senza l'uso di un ricevitore di eventi (con una sola chiamata di aggiornamento ()?)

È stato utile?

Soluzione

Sembra che tu stia usando l'evento ItemUpdated.Se hai utilizzato ItemUpdating, credo che potresti modificare le Afterproperties invece di eseguire un secondo aggiornamento.

Questo può essere utile per te: nbsp: ricevitori di eventi

Altri suggerimenti

Quando si crea una colonna di ricerca, è possibile scegliere di mostrare colonne aggiuntive dall'elenco di ricerca.

Sembra quello che vorresti qui è un elenco con la tua etichetta / descrizione, quindi una colonna di ricerca alla colonna Etichetta e avere la descrizione come campo aggiuntivo.Non so se sarebbe perfettamente pulito nella vista della scheda tecnica, ma sarebbe un miglioramento.

Un'altra potenziale soluzione a questo tipo di problema è una colonna calcolata, ma da quello che vedo del tuo scenario non si adatta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top