Pregunta

Estoy usando un Datagrid con varias columnas de datos (llámelo myDG) y una de estas columnas es un DateTime vinculado a una fuente de datos. Su valor depende de un " trabajo " objeto que completa un trabajo y asigna el valor de fecha y hora. Como esto normalmente toma hasta un minuto, el valor se deja sin asignar al principio.

La definición de asp.net de la columna es:

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

Por lo tanto, la funcionalidad funciona bien cuando el " trabajo " Se ha completado y establece el tiempo. Pero antes de eso, mientras se muestra la fila, se muestra como

01-Ene-0001 12:00:00 AM

Estoy deseando ocultar esto y he determinado que la mejor manera sería enmascarar esa fila y columna en particular con un espacio en blanco, o anular el valor temporalmente. Estoy teniendo problemas para hacer esto y encontrar una manera de acceder a esa fila y columna específica.

Es la columna [3] de la cuadrícula de datos y siempre en la primera fila (ya que las nuevas filas se agregan en la parte superior).

¿Hay alguna forma de acceder directamente a esta celda y "ocultar" temporalmente su contenido o enmascararlo? Idealmente, sería genial si hubiera una manera de eliminar todas las filas que tuvieran un valor igual a este en su columna, pero una manera de manipular la celda específica también funcionaría.

-gracias de antemano!

¿Fue útil?

Solución

He hecho cosas similares en el pasado y esto es lo que he hecho.

Enlace los datos a una columna que no sea visible en absoluto. Agregue una columna visible para los datos que desea mostrar. En el momento en que complete su cuadrícula, recorra los registros y para cualquiera que tenga un valor que no sea 01-Ene-0001 12:00:00 AM, establezca su fila visible a ese valor. Si es igual a 01-Ene-0001 12:00:00 AM, entonces establezca el valor de su fila visible a una cadena vacía o algún valor de su elección. (Incluso podría establecer el color del texto como el color de fondo para que el usuario no lo vea)

Otros consejos

Probablemente conectaría OnItemDataBound, verificaría el valor y reemplazaría / reformatearía si fuera necesario.

Hice una pregunta similar sobre ocultar columnas aquí .

Tuve que usar el evento RowCreated para ocultar ciertas columnas del usuario (PK columnas) y esto también puede ayudarte (especialmente al ocultar columnas de datos).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top