hola,
hay alguna forma de que cuando imprimas un listado, y haya algún valor que es 0, en vez de imprimir el cero, que saque un espacio en blanco?
saludos!
| ||||
Como estas llenando tu listado.. usando un reader o un dataset..??, ![]() Salu2
__________________ Nadie roba nada ya que en la vida todo se paga . . . Exentrit - Soluciones SharePoint & Net |
| ||||
pudieras crear una columna adicional en tu dataset, que sera de tipo string, y luego preguntas por el valor que tiene tu columna, si esta trae cero pues mandas a imprimir la columna auxiliar que creaste. no se si te serviria porque no he trabajado con Crystal pero bueno es una opción que se ocurrió jeje. Saludos... |
| ||||
Cita:
Iniciado por RootK Lo que se me ocurre rapidamente es que indiques desde tu query que no se muestren los que tengan ceros... Algo así: O no ? ![]() no no, los registros deben listarse igual, pero el campo que tenga un 0, en vez de salir 0, que salga un espacio. Osea: En verdad está asi: Id Producto cantidad -- -------- -------- 1 peras 1000 2 manzanas 3000 3 botella 0 pues al imprimir me gustaría que saliera así: Id Producto cantidad -- -------- -------- 1 peras 1000 2 manzanas 3000 3 botella Supongo que sería cuestión de llenar el dataset con un bucle, y cuando vea un 0 que ponga un espacio, pero claro, imaginate mirar 10000 registros...irá un poco más lento no? |
| ||||
freegirl particularmente creo que no necesitas llenar el dataset con un bucle, lo llenarías igual desde tu select, y luego que lo tienes cargado ahi si necesitarias recorrer el dataset y en ese bucle vas preguntando por el valor que tiene la columna que te interesa, si esta tiene 0 pues le asignas espacio. A pesar de que tu dataset tenga 10.000 registros no creo que se haga muy lento recorrerlo. De todos modos aqui hazle caso a los expertos jeje. Saludos... |
| ||||
Puedes hacerlo de varias formas: - La más fácil me parece que es configurar las columnas de tu reporte para darle un valor por defecto cuando éste tenga el valor de 0, eso lo puedes hacer seleccionando el elemento de tu reporte y luego click derecho hacer click en "Format...", entras a "Customize" y le asignas el valor por defecto donde dice "Show Zero values as". - La segunda opción es que lo hagas a través de la sentencia SQL que usas para recuperar los datos, probablemente necesites de una estructura "case". - La tercera, es como te sugieren en mensajes anteriores, crear una nueva columna (tipo string) a la tabla que contiene el conjunto de datos, a dicha columna le agregas la propiedad Expression = "Iff(tucampo=0, '', tucampo)", te mando el ejemplo:
Código:
Como ves hay varias opciones, ya depende de ti cuál escoges.SqlDataAdapter da = new SqlDataAdapter(sql,conexion); DataSet ds = new DataSet(); da.Fill(ds,"Productos"); DataColumn col = new DataColumn(); col.ColumnName = "colsin0"; col.DataType = typeof(string); col.Expression = "IIf(UnitsInStock=0,'',UnitsInStock)"; ds.Tables["Productos"].Columns.Add(col); dgDatos.DataSource=ds; dgDatos.DataBind(); Saludos |