2012-03-19 31 views
5

¿Cómo puedo agregar números de fila de esta manera:¿Cómo puedo agregar dos números para cada grupo en un Informe RDLC?

GRUPO 1

RowNumber ID Nombre Edad

1   231  test  43 
2   324  test2 45 
3   354  test3 34 

GRUPO 2

RowNumber ID Nombre Edad

1   657  test4 43 
2   534  test5 45 
3   678  test6 34 

Quiero hacer números de filas como este ejemplo ... Para cada grupo, mis números de filas se reiniciarán y comenzarán de 1 a grupos de cuentas. Mis gruops (GRUPO 1, GRUPO 2, ...) vienen de db ¡dinamicamente! ¡Cuántos grupos tengo no está claro! here encontré algunas soluciones, pero creo que esas soluciones están disponibles para la cantidad de grupos cuando lo sabemos.

Respuesta

14

Los RDLC tienen una función RowNumber("ScopeName"). Esto devolverá el número de fila del registro dentro del alcance dado.

Puede ver los grupos existentes para el informe debajo del diseñador en los encabezados "Grupos de filas" y "Grupos de columnas". Seleccione la columna dentro de la agrupación en la que desea el número de fila y ver las columnas de la fila, Los nombres por defecto serán:

[(Group1) 
≡(Details1) 

Establecer la expresión para la columna Número de fila para ser

=RowNumber("Group1") 
1

clic derecho en su informe de la propiedad y luego ir a código continuación, pegue el código de abajo

Dim private count as integer = 0 
    Dim private iniRow as integer = 0 
    Dim private iniGrp as Object = "" 
    Public function MatrixRow(Byval rowNum as integer,Byval rowGrp as Object) as integer 

    if iniGrp = "" then 
     iniGrp = rowGrp 
    end if 

    if rowGrp <> iniGrp then 
     iniRow = 0 
     count = 0 
     iniGrp = rowGrp 
    end if 

    if iniRow = 0 then 
     iniRow = rowNum 
    end if 

    if rowNum = iniRow then 
    count = 0 
    end if 

    count = count + 1 
    Return count 
    End function 

luego utilizar esta función como

=Code.MatrixRow(RowNumber(Nothing),(YourgroupfiledNameFromDataest)) 
+0

Esto funciona, excepto en todas las páginas en las que se restablece el contador para que muestre 1, 2 ... y así sucesivamente. –

+0

Esto me puso en el camino correcto, pero realmente quería que las filas de mi tabla se numeran independientemente de los datos o grupos o cualquier otra cosa, así que eliminé las referencias a 'iniGrp',' rowGrp' y las dos 'if..then '. declaraciones que los incluyen desde el código, y el segundo parámetro en la llamada a la función y funcionó perfectamente. –

Cuestiones relacionadas