• Sábado 21 de Diciembre de 2024, 16:38

Autor Tema:  formato numerico a una celda de un DataGridView  (Leído 17557 veces)

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
formato numerico a una celda de un DataGridView
« en: Lunes 19 de Julio de 2010, 17:47 »
0
Hola chicos, tengo un problemilla y se los cuento a ver si alguno de ustedes me puede ayudar:
Te un DataGridView con columnas númericas. Se que en la propiedad Format del  DataGridViewCellStyle puedo determinar el formato numerico. Hasta allí todo va muy bien. El inconveniente que se me presentó, es que cuando digito un valor en la columna que le he pusto formato numérico, no respeta el formato que le dí así que intente darselo nuevamente con el siguiente código pero no me funcionó:
[code=csharp]
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
 {
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                                          row.Cells["colVlorAsigna"].Style.Format = "##,##.00";
                }
}
            code]

gerloxxx

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: formato numerico a una celda de un DataGridView
« Respuesta #1 en: Lunes 19 de Julio de 2010, 18:29 »
0
hola, le tienes que especificar el formato de la siguiente forma:

            dataGridView1.Columns["colVlorAsigna"].DefaultCellStyle.Format = "N";

espero te sirva, saludos...

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
Re: formato numerico a una celda de un DataGridView
« Respuesta #2 en: Miércoles 21 de Julio de 2010, 17:11 »
0
Hola gerloxxx , probé la  instruccion que me das pero me saca el siguiente mensaje:

referencia a objeto no establecida como instancia de un objeto. No se si es por el evento donde estoy colocando la instrucción. Estuve investigando un poco y lo que encuentro en internet es la instruccion que tenia inicialmente.

Código: C#
  1.  
  2. private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
  3.         {
  4.             dataGridView1.Columns["colVlorAsigna"].DefaultCellStyle.Format = "N";
  5.         }
  6.  
  7.  

gerloxxx

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: formato numerico a una celda de un DataGridView
« Respuesta #3 en: Miércoles 21 de Julio de 2010, 21:04 »
0
Yo el formato se lo asigno despues de mostrar los datos, despues de asignar el datasource, si te marca ese error es porque no existe el objeto, en el momento que lo intentas usar

saludos

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
Re: formato numerico a una celda de un DataGridView
« Respuesta #4 en: Miércoles 21 de Julio de 2010, 21:44 »
0
Hola, tienes razon en lo que dices pero el DataSource lo hago en el Load de la Forma. tal vez no me hice entender al principio del caso. Como les comenté en un principio , el problema que estoy teniendo, es que despues de digitar algun valor en una columna que le he predefinido en la propiedad Format N2 , dicho formato en la celda se pierde.
 
Código: C#
  1.  
  2.  private void frmAdmonSaldos_Load(object sender, EventArgs e)
  3.         {
  4.             try
  5.             {
  6.                     Cursor.Current = Cursors.WaitCursor;
  7.                     dataGridView1.DataSource = new BasicoNG().listarFacturasAdmin(conexionOracle, tbcampoConsulta);
  8.                     dataGridView1.AutoResizeColumns();                         }
  9.             catch (Exception ex)
  10.             {
  11.                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  12.             }
  13.         }
  14.  
  15.  

Sin embargo, de acuerdo a tu última sugerencia , coloqué la instrucción en el evento CellLeave que sucede cuando la celda pierde el foco y sigo sin resolver mi problema. Seguiré investigando.
Gracias por tu tiempo.

Código: C#
  1.  
  2.  private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
  3.         {
  4.             dataGridView1.Columns["colVlorAsigna"].DefaultCellStyle.Format = "N2";
  5.         }
  6.  
  7.  

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
Re: formato numerico a una celda de un DataGridView
« Respuesta #5 en: Jueves 29 de Julio de 2010, 23:38 »
0
Hola hasta que por fin encontré la solución; lo comparto por a alguien le sirve:

Código: C#
  1.  
  2. private void dataGridView2_CellEndEdit(object sender, DataGridViewCellEventArgs e)
  3.         {
  4.                         dataGridView2.Rows[e.RowIndex].Cells[2].Value=Convert.ToDecimal(dataGridView2.Rows[e.RowIndex].Cells[2].Value);      
  5.         }
  6.  
  7.  

gaby_124

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: formato numerico a una celda de un DataGridView
« Respuesta #6 en: Lunes 27 de Septiembre de 2010, 07:25 »
0
....Hola!!! tengo una gran duda....quiero graficar los datos numéricos que tengo en mi datagridview....pero en un picturebox....como hago esto???? por favor ayuda!!!!! gracias!!!!