Tu tienes una consulta. Cuentas los registros que tiene y la cantidad de filas será esa cantidad +1 (la cabecera). Si quieres poner totales al final pues otra fila mas.
Las columnas tu sabras las que quieres poner. Añades las columnas que quieras, defines sus cabeceras y luego vas recorriendo un bucle de principio a fin de la consulta que lea registro y ponga los datos en la fila. En ese buclie puedes ir acumulando las cantidades que quieas o bien al final haces otra consulta de totales que te de las sumas que necesitas y las pones en su fila correspondiente.
El control GridView
Un saludo