Foros del Web » Programando para Internet » ASPX (.net) »

Dar formato columna c# webform gridview

Estas en el tema de Dar formato columna c# webform gridview en el foro de ASPX (.net) en Foros del Web. Estimados necesito darle formato a un par de columnas a un gridview en webform asp.net ... el tema es el siguiente yo se hacerlo en ...
  #1 (permalink)  
Antiguo 07/03/2011, 06:47
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Dar formato columna c# webform gridview

Estimados necesito darle formato a un par de columnas a un gridview en webform asp.net ...
el tema es el siguiente yo se hacerlo en un datagridview en un Winform sin problemas de esta manera:

Código:
SqlCommand cm3 = new SqlCommand("select Descripcion=b.descr,Codigo=a.invtid,Pedido=a.qtyord,Precio=a.curyslsprice,Descuento=a.chaindisc,Total=a.curytotord,Picking=a.qtyship,Facturado=a.qtycloseship from soline a, inventory b where a.invtid=b.invtid and ordnbr='" + txtnumorden.Text + "'", cn);
                    SqlDataAdapter ad3 = new SqlDataAdapter(cm3);
                    DataTable da3 = new DataTable();
                    ad3.Fill(da3);
                    this.dgproductos.DataSource = da3;
                    this.dgproductos.Columns["Precio"].DefaultCellStyle.Format = "N0";
                    this.dgproductos.Columns["Total"].DefaultCellStyle.Format = "N0";
Pero en un WebForm no encuentro la manera de hacerlo:

Código:
SqlCommand cm3 = new SqlCommand("select Descripcion=b.descr,Codigo=a.invtid,Pedido=a.qtyord,Precio=a.curyslsprice,Descuento=a.chaindisc,Total=a.curytotord,Picking=a.qtyship,Facturado=a.qtycloseship from soline a, inventory b where a.invtid=b.invtid and ordnbr='" + txtnumorden.Text + "'", cn);
                    SqlDataAdapter ad3 = new SqlDataAdapter(cm3);
                    DataTable da3 = new DataTable();
                    ad3.Fill(da3);
                    this.dgproductos.DataSource = da3;
                    this.dgproductos.DataBind();

les deje puesto como lleno un datagridview en un winform y como lleno un gridview en un webform ... todo esto lo realizo en c#, mehan dado alguns pista con el evento rowdatabound pero sinceramente no e podido resolver este problema
  #2 (permalink)  
Antiguo 07/03/2011, 16:21
Avatar de Snaft_J1  
Fecha de Ingreso: diciembre-2006
Mensajes: 285
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Dar formato columna c# webform gridview

utiliza el evento itemdatabound para acceder celda por celda y formatearla o en su efecto usar un itemtemplate especial.
__________________
-= El conocimiento y el saber te hacen un ser libre =-
Ando en busca de conocimiento....
  #3 (permalink)  
Antiguo 07/03/2011, 18:18
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Dar formato columna c# webform gridview

Cita:
Iniciado por Snaft_J1 Ver Mensaje
utiliza el evento itemdatabound para acceder celda por celda y formatearla o en su efecto usar un itemtemplate especial.
si ulilizara el evento itemdatabound como podria darle formato... mew podrias dar una manito
  #4 (permalink)  
Antiguo 10/03/2011, 09:39
Avatar de Snaft_J1  
Fecha de Ingreso: diciembre-2006
Mensajes: 285
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Dar formato columna c# webform gridview

en ese evento recibes un parametro "e" que repersenta la fila en la que estas o para ese caso la fila que se esta enlazando al grid y posees los atributos necesarios. la fila llega como un array de una sola linea lo cual seria algo asi e.item.cell[0] donde el indice hace referencia a la celda (columna en el grid) que necesitas trabajar, entonces e.item.cell[0].PROPIEDAD = VALOR te sirve de mucho.

espero haber sido claro y logres hacer lo que necesitas.

saludos.
__________________
-= El conocimiento y el saber te hacen un ser libre =-
Ando en busca de conocimiento....
  #5 (permalink)  
Antiguo 11/03/2011, 14:54
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Dar formato columna c# webform gridview

Cita:
Iniciado por Snaft_J1 Ver Mensaje
en ese evento recibes un parametro "e" que repersenta la fila en la que estas o para ese caso la fila que se esta enlazando al grid y posees los atributos necesarios. la fila llega como un array de una sola linea lo cual seria algo asi e.item.cell[0] donde el indice hace referencia a la celda (columna en el grid) que necesitas trabajar, entonces e.item.cell[0].PROPIEDAD = VALOR te sirve de mucho.

espero haber sido claro y logres hacer lo que necesitas.

saludos.
muchas gracias estare trabajanmdo este fin de semana en esto


saludos
  #6 (permalink)  
Antiguo 13/03/2011, 14:05
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: Dar formato columna c# webform gridview

Hola,

No es necesario acceder a las celdas para dar el formato, a menos que quieras hacerlo directamente en el gridview. Si utilizas ItemTemplates del Grid estos pueden darte la funcionalidad que deseas. Mira esta tabla

Format Description Example
C Currency format $10.00
D Decimal format 10
E Scientific format 1.000000E+001
F Fixed format 10.00
G General format 10
N Number format 10.00

Sabiendo esto, pudes aplicar algo asi en el grid
Para los BoundFields
Código ASP:
Ver original
  1. <asp:BoundField DataField="Price" HeaderText="Price" DataFormatString="{0:C2}" HtmlEncode="false">

Para los ItemTemplate
Código ASP:
Ver original
  1. <asp:TemplateField HeaderText="Recent Delivery">
  2. <ItemTemplate>
  3. <asp:Label ID="lbl" runat="server" Text='<%# Eval("Price", "{0:C2}") %>'></asp:Label>
  4. </ItemTemplate>
  5. </asp:TemplateField>


Saludos,

Microsoft Online Community Support Team
__________________
http://geekswithblogs.net/jaullo/Default.aspx
Si te he ayudado regalame Karma positivo!!!
  #7 (permalink)  
Antiguo 17/03/2011, 16:39
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Dar formato columna c# webform gridview

Cita:
Iniciado por Snaft_J1 Ver Mensaje
en ese evento recibes un parametro "e" que repersenta la fila en la que estas o para ese caso la fila que se esta enlazando al grid y posees los atributos necesarios. la fila llega como un array de una sola linea lo cual seria algo asi e.item.cell[0] donde el indice hace referencia a la celda (columna en el grid) que necesitas trabajar, entonces e.item.cell[0].PROPIEDAD = VALOR te sirve de mucho.

espero haber sido claro y logres hacer lo que necesitas.

saludos.


se que es mucho pedir pero... me podrias decir con exactitud con un codigo como hacer esto ya que no logro decifrar este problemita



saludos
Gracias
  #8 (permalink)  
Antiguo 18/03/2011, 06:27
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Respuesta: Dar formato columna c# webform gridview

Podes colocar codigo HTML en las columnas para darles color :)

Saludos.
__________________
Marcelo Davila.

:. En Ignorante te conviertes al no preguntar, el que pregunta se nutre... :.
  #9 (permalink)  
Antiguo 18/03/2011, 12:35
Avatar de Snaft_J1  
Fecha de Ingreso: diciembre-2006
Mensajes: 285
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Dar formato columna c# webform gridview

aqui un ejemplo mas completo:

http://es.narkive.com/2005/2/15/1028...-datagrid.html

protected void tugrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[2].Width = 135;

switch (e.Row.RowType) {
case DataControlRowType.Header:
e.Row.Cells[0].Visible = false;
e.Row.Cells[1].Visible = false;
//e.Row.Cells[5].Visible = false;
break;
case DataControlRowType.DataRow:
e.Row.Cells[0].Visible = false;
e.Row.Cells[1].Visible = false;
//e.Row.Cells[5].Visible = false;
e.Row.Cells[2].Width = 135;
e.Row.Cells[11].Width = 70;
e.Row.Cells[1].Font.Bold = true;
e.Row.Cells[1].ForeColor = Color.Black;
break;
}

}

solo es un ejemplo de las cosas que puedes hacer.
__________________
-= El conocimiento y el saber te hacen un ser libre =-
Ando en busca de conocimiento....

Etiquetas: columna, formato, gridview, aspx, webforms
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:04.