Il modo più pulito per implementare voci comprimibili in una tabella generata tramite asp:Repeater?

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

  •  09-06-2019
  •  | 
  •  

Domanda

Prima che qualcuno suggerisca di eliminare del tutto i tag della tabella, sto semplicemente modificando questa parte di un sistema molto grande, quindi non sarebbe saggio per me rivedere la struttura della tabella (l'app è piena di tabelle simili).

Questa è un'app Web in C# .NET: i dati provengono da un servizio Web e vengono visualizzati sullo schermo in una tabella.Le righe della tabella vengono generate con asp:Repeaters, in modo che le righe alternino bene i coler.La tabella in precedenza conteneva un elemento di dati per riga.Ora, essenzialmente, la tabella ha dei sottotitoli...La prima riga è la data, la seconda riga mostra una riga di dati e tutte le righe successive sono righe di dati finché non arrivano i dati di una nuova data, nel qual caso ci sarà un'altra riga di sottointestazione.

All'inizio pensavo di poter imbrogliare un po' e farlo abbastanza facilmente per mantenere l'attuale struttura del ripetitore: devo solo alimentare alcune celle con la stringa vuota in modo che non appaiano dati al loro interno.Ora, tuttavia, stiamo considerando uno di questi +/- compressori accanto a ciascuna data, in modo da poter comprimere tutti i dati.La mia mente è andata immediatamente a nascondere le righe quando si preme un pulsante...ma non so come nascondere le righe dal code dietro a meno che la riga non abbia un ID univoco e non sono sicuro che tu possa farlo con i ripetitori.

Spero di aver espresso bene il problema.Sono sicuro che troverò un modo, TBH, ma ho appena visto questo sito su slashdot e ho pensato di provarlo :)

È stato utile?

Soluzione

Quando crei la riga nell'evento di associazione dati, puoi aggiungere un identificatore univoco utilizzando, ad esempio, l'id del campo dati o qualcos'altro che usi per renderlo univoco.

Quindi potresti utilizzare un metodo lato client per espandere la compressione se desideri riempirlo con i dati all'inizio, attivando l'impostazione style.display in Javascript per l'elemento riga della tabella.

Altri suggerimenti

basta avvolgere il contenuto del modello di elemento in un asp:Panel, quindi hai un ID univoco. Poi butta dentro qualche jquery per un po' di spezie ;)

modificare:ho appena notato che stai utilizzando una tabella.metti l'id sulla riga.quindi attivalo.

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