Progettazione dell'interfaccia utente per la modifica di più record contemporaneamente

6

Ho un'applicazione desktop in cui l'utente ha viste tabulari su alcuni record di dati. Ora abbiamo il requisito di consentire all'utente di selezionare più di questi record allo stesso tempo e lasciare che modifichi alcune proprietà dei record selezionati in una finestra di modifica separata. L'idea è

  • per modificare solo le proprietà che l'utente desidera davvero cambiare

  • per mantenere tutte le altre proprietà invariate

Inoltre, quando l'utente ha selezionato i record e apre la finestra di modifica, le proprietà con gli stessi valori in tutti i record selezionati sono mostrate nei corrispondenti campi dell'interfaccia utente, le altre proprietà dovrebbero essere mostrate come "non definite" finché l'utente non inizia a inserire qualcosa lì. Dopo aver premuto "Ok", le modifiche vengono applicate ai record. Questo tipo di comportamento dell'interfaccia utente non è una "scienza missilistica", lo abbiamo già trovato, ad esempio, negli editor di diagrammi (in cui è possibile selezionare più elementi di disegno contemporaneamente e modificarne le proprietà).

Il problema è come visualizzare lo stato "indefinito" in modo intuitivo, specialmente per le proprietà del testo. Per i valori booleani, questo è facile: usiamo solo una casella di controllo a tre stati. Anche per i valori numerici questo è facile: lo stato "indefinito" viene visualizzato come un campo UI numerico vuoto e, se in esso c'è effettivamente un numero, lo stato è "definito".

Ma come si può progettare questo per le proprietà del testo? Un campo di una casella di testo vuota non è in realtà uno stato "non definito", poiché molte delle proprietà di testo possono essere effettivamente vuote. Si potrebbe aggiungere una casella di controllo separata accanto a ciascuna casella di testo per indicare la differenza tra "non definito" e "definito", ma poiché la nostra finestra di dialogo di modifica contiene già caselle di controllo per le proprietà booleane, ciò sembra essere controintuitivo e confuso all'utente.

Se questo è importante, stiamo usando Winforms (ma penso che questo problema non sia specifico per l'attuale framework dell'interfaccia utente).

    
posta Doc Brown 07.03.2014 - 15:14
fonte

2 risposte

2

Sono d'accordo che una casella di controllo potrebbe confondere l'utente.

La mia reazione al problema di come visualizzare una casella di testo non definita e differenziarla da una valida ma vuota è usare un segnaposto per uno indefinito e uno vuoto per l'altro.

La casella vuota valida apparirà normale all'utente e la normalità verrà rinforzata quando l'utente tenta di usarlo. La casella segnaposto avrà un messaggio segnaposto "digita qualcosa qui" che è disattivato o disattivato in qualche modo in modo che sia chiaro all'utente che non è un valore effettivo. Questa nozione secondo cui è temporanea verrà rafforzata quando l'utente inserisce la casella e il testo segnaposto scompare.

Vediamo questo comportamento frequentemente sul web, quindi dovrebbe sembrare intuitivo per l'utente e non dovrebbe farli pensare.

L'altra cosa è che potresti considerare SE gli utenti devono sapere che c'è una differenza. In caso contrario, entrambe le caselle potrebbero essere lasciate vuote.

    
risposta data 07.03.2014 - 15:36
fonte
1

Potresti usare il sistema usato da Windows. Se si apre una finestra di dialogo per modificare più voci, le voci in cui entrambe le parti dei dati corrispondono vengono visualizzate insieme ai dati, dove differiscono tra loro "" o una stringa simile. L'utente deve selezionare un singolo elemento per modificare le voci a più valori, oppure può sovrascriverlo sostituendo il campo su tutti gli articoli.

Se si guardano le proprietà del progetto di Visual Studio, questo è immediatamente evidente.

Le definizioni di preprocessore sui 2 progetti selezionati sono diverse, quindi non possono essere visualizzate, quindi VS visualizza una stringa statica. Posso o sovrascriverli per entrambi i progetti o dovrò selezionare i progetti individualmente per vedere quali sono i dati. A me sembra intuitivo e ovvio: non posso modificare 2 cose diverse contemporaneamente in un singolo campo, quindi naturalmente dovrò modificarle individualmente.

    
risposta data 17.02.2015 - 12:03
fonte

Leggi altre domande sui tag