Domanda

Sto usando un Datagrid con diverse colonne di dati (chiamalo myDG) e una di queste colonne è un DateTime associato a un'origine dati. Il suo valore dipende da un "lavoro". oggetto che completa un lavoro e assegna il valore della data e dell'ora. Poiché ciò richiede normalmente fino a un minuto, all'inizio il valore non viene assegnato.

La definizione asp.net della colonna è:

<asp:boundcolumn 
  DataField="CompletedDate" 
  HeaderText="Date Completed" 
  DataFormatString="{0:dd-MMM-yyyy <br> hh:mm:ss tt}" />

Quindi la funzionalità funziona bene quando il " lavoro " ha completato e imposta l'ora. Ma prima, mentre la riga viene visualizzata, mostra come

01-gen-0001 12:00:00

Voglio nascondere questo e ho deciso che il modo migliore sarebbe mascherare quella particolare riga e colonna con uno spazio vuoto o sovrascrivere temporaneamente il valore. Sto riscontrando problemi nel fare questo e trovare un modo per accedere a quella specifica riga e colonna.

È la colonna [3] del datagrid e sempre nella prima riga (poiché le nuove righe vengono aggiunte in alto).

C'è un modo per accedere direttamente a questa cella e 'nasconderlo' temporaneamente o mascherarli? Idealmente sarebbe fantastico se ci fosse un modo per cancellare tutte le righe che avevano un valore uguale a questo nella loro colonna, ma funzionerebbe anche un modo per manipolare la cella specifica.

-grazie in anticipo!

È stato utile?

Soluzione

Ho fatto cose simili in passato ed ecco cosa ho fatto.

Associa i dati a una colonna che non è affatto visibile. Aggiungi una colonna visibile per i dati che desideri visualizzare. Nel momento in cui popoli la griglia, esegui il ciclo tra i record e per quelli che hanno un valore diverso da 01-gen-0001 12:00:00, imposta la riga visibile su quel valore. Se equivale a 01-Jan-0001 12:00:00, imposta il valore della riga visibile su una stringa vuota o su un valore a tua scelta. (Puoi anche impostare il colore del testo sullo stesso colore di sfondo in modo che non appaia all'utente)

Altri suggerimenti

Probabilmente vorrei agganciare OnItemDataBound, controllare il valore e, se necessario, sostituire / riformattare.

Ho fatto una domanda simile su come nascondere le colonne qui .

Ho dovuto usare l'evento RowCreated per nascondere determinate colonne all'utente (colonne PK) e questo potrebbe aiutarti anche (specialmente nascondendo le colonne del database).

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