2011-06-10 16 views

Respuesta

16

Aquí es una forma posible de lograr esto con la ayuda de Custom code en SSRS. El siguiente ejemplo no entra en los detalles de la creación de informes de SSRS, pero debe dar una idea de cómo se puede lograr el formato de tiempo dentro de SSRS.

paso a paso del proceso:

  1. cree una tabla llamada dbo.Timespans usando el guión previsto en secuencias de comandos SQL. Rellene con algunos datos como se muestra en la captura de pantalla # .

  2. Cree un informe de SSRS y utilice la tabla dbo.Timespans como fuente de datos. Consulte la captura de pantalla n.º .

  3. Haga clic en el menú Report y seleccione Report Properties. Seleccione la pestaña Code en la sección de la izquierda.

  4. Pegue el código proporcionado en la sección Código personalizado de SSRS en el cuadro de texto Código personalizado. Haga clic en Aceptar. Este código toma un valor timeSpan y una cadena format. Luego formateará los datos de tiempo y regresará como una cadena. Consulte la captura de pantalla # .

  5. haga clic derecho en la columna de tiempo y seleccione Pegar Expression... la expresión =Code.FormatTimeSpan(Fields!StartTime.Value, "hh:mm tt") + " - " + Code.FormatTimeSpan(Fields!EndTime.Value, "hh:mm tt") en el cuadro de texto Set expression for: Value. Consulte las capturas de pantalla # y # .

  6. La captura de pantalla n.º muestra la ejecución del informe.

Espero que ayude.

secuencias de comandos SQL:

CREATE TABLE [dbo].[Timespans](
    [Id] [int] IDENTITY(1,1) NOT NULL, 
    [StartTime] [time](7) NULL, 
    [EndTime] [time](7) NULL, 
CONSTRAINT [PK_Timespans] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY] 
GO 

SSRS de código personalizado:

public function FormatTimeSpan(timeSpanValue as TimeSpan, format as string) as string 
    Dim dateValue as DateTime 
    dateValue = new DateTime(timeSpanValue.Ticks) 
    return dateValue.ToString(format) 
end function 

Captura de pantalla # 1:

1

Captura de pantalla # 2:

2

Captura de pantalla # 3:

3

Captura de pantalla # 4:

4

Captura de pantalla # 5:

5

Captura de pantalla # 6:

6

+0

+1 respuesta muy a fondo. – gbn

+0

Muchas gracias Siva :) – Touseef

+0

@siva +1 esto es muy muy bueno muchas gracias –

Cuestiones relacionadas