Un modo per aggiungere incollare dati a più righe in una tabella ripetuta di InfoPath?

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

  •  05-07-2019
  •  | 
  •  

Domanda

I miei utenti usano Excel per elaborare alcuni elenchi ad hoc di edifici di nostra proprietà. Sto costruendo un modulo InfoPath per gestire i contratti su quegli edifici. Sto cercando un modo per consentire ai miei utenti di specificare gli edifici di cui hanno bisogno in Excel e incollare tale elenco nel modulo Controllo ripetuto tabella InfoPath.

La tabella ha più campi; gli utenti selezionerebbero la colonna ID edificio nel loro foglio di calcolo, incollandolo nel campo ID edificio nella tabella ripetuta, quindi il modulo InfoPath cercherebbe le informazioni rimanenti dell'edificio dall'origine dati associata al controllo, utilizzando l'ID edificio come chiave.

La parte di ricerca della tabella ripetuta al momento funziona: l'utente può inserire (digitando o incollando da Excel) un singolo ID edificio, premere Tab e la tabella cerca il resto delle informazioni. Quindi possono inserire una nuova riga e inserire il secondo ID edificio, schiuma, risciacquo, ripetizione. Questo va bene per una manciata di edifici, ma non per dozzine o centinaia. Quindi sto cercando un modo per lasciarli incollare in un elenco e compilare la tabella da lì.

Se non riescono a incollare direttamente in una tabella ripetuta, posso farli incollare in un controllo di testo multilinea e quindi analizzarlo con un'espressione XPath? Come sarebbe XPath? Un'ultima limitazione: nessun code-behind C # o VB - per il momento abbiamo deciso che la logistica della distribuzione di moduli con code-behind è troppo per l'attuale progetto.

Qualsiasi aiuto apprezzato ...

È stato utile?

Soluzione

L'unico problema che vedo sorgere (principalmente a causa del fatto che questa soluzione non può coinvolgere codebehind) è il fatto che non esistono regole Infopath che è possibile utilizzare per aggiungere in modo dinamico nodi aggiuntivi a un gruppo ripetuto (che è ciò che il la tabella ripetuta è vincolante per.)

L'unico modo per creare record aggiuntivi in ??una tabella ripetuta è per l'utente di premere manualmente " Inserisci riga aggiuntiva " scheda nella parte inferiore della tabella.

Consiglio vivamente di usare codebehind, in modo che un utente possa incollare i suoi dati Excel delimitati da tabulazioni dagli appunti in una casella; fallo analizzare sul lato server; e utilizzare quei dati insieme a una routine per accedere a MainDataSource del modulo e aggiungere le righe aggiuntive in quel modo.

Altri suggerimenti

Se si estraggono i file di origine da infopath, uno dei documenti sarà il file template.xml. questo conterrà i dati per il tuo modulo infopath. utilizzare una macro di Excel per aprire il modello come documento XML e aggiungere i dati dal foglio di calcolo Excel. puoi quindi consentire all'utente di aprire il file da solo o aprirlo per loro. Solo un modo per aggirare non avere codebehind.

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