elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  activar columna de datagrid y que acepte solo datos numericos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: activar columna de datagrid y que acepte solo datos numericos  (Leído 4,675 veces)
SAGA-gl

Desconectado Desconectado

Mensajes: 45


Ver Perfil
activar columna de datagrid y que acepte solo datos numericos
« en: 15 Agosto 2017, 01:41 am »

buenas noches gente del foro tanto tiempo sin pasarme por aca....verán tengo un datagrid en el cual hago una consulta y la muestro en el mismo....pero deseo activar una columna (cantidadContada) solamente para que se puedan ingresar datos de tipo numérico....como puedo lograrlo? escribi este código pero no lo logro muchas grax d antemano....
Código
  1. try
  2.                        {
  3.                            conectar.Open();
  4.                            string query = "SELECT * FROM detalle_inventario WHERE inventario=@inventario";
  5.                            SqlCommand consulta = new SqlCommand(query, conectar);
  6.                            consulta.Parameters.AddWithValue("@inventario", inventario);
  7.                            SqlDataAdapter adaptador = new SqlDataAdapter(consulta);
  8.                            DataTable datos = new DataTable();
  9.                            adaptador.Fill(datos);
  10.                            dgv.AutoGenerateColumns = false;
  11.                            dgv.DataSource = datos;
  12.                            dgv.Columns[0].DataPropertyName = "ubicacion";
  13.                            dgv.Columns[1].DataPropertyName = "medicamento";
  14.                            dgv.Columns[2].DataPropertyName = "lote";
  15.                            dgv.Columns[3].DataPropertyName = "vto";
  16.                            dgv.Columns[4].DataPropertyName = "cantidadContada";
  17.  
  18.                            activarControles();
  19.                        }
  20.                        catch (SqlException ex)
  21.                        {
  22.                            MessageBox.Show(ex.ToString());
  23.                        }
  24.                        finally
  25.                        {
  26.                            conectar.Close();
  27.  
  28.                        }
  29. private void dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
  30.        {
  31.            var dgv = (sender as DataGridView);
  32.            if (dgv.Columns[dgv.CurrentCell.ColumnIndex].Name == "cantidadContada")
  33.            {
  34.                TextBox cell = (TextBox)e.Control;
  35.  
  36.                cell.KeyPress -= new KeyPressEventHandler(this.Cell_KeyPress);
  37.                cell.KeyPress += new KeyPressEventHandler(this.Cell_KeyPress);
  38.            }
  39.  
  40.        }
  41.        private void Cell_KeyPress(object sender, KeyPressEventArgs e)
  42.        {
  43.            var cell = (TextBox)sender;
  44.  
  45.            e.Handled = !Char.IsNumber(e.KeyChar) && e.KeyChar != Convert.ToChar(Keys.Back);
  46.        }
  47.  


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: activar columna de datagrid y que acepte solo datos numericos
« Respuesta #1 en: 5 Septiembre 2017, 04:02 am »

Hola.

El algoritmo es correcto y funciona. Probablemente el fallo lo tengas en esta instrucción:
Citar
Código
  1. if (dgv.Columns[dgv.CurrentCell.ColumnIndex].Name == "cantidadContada")

...Fíjate bien en que ahí estás evaluando la propiedad Name de la columna (por defecto: 'Column1', 'Column2', etc), no la propiedad DataPropertyName.

Un modo rápido de resolverlo:
Código
  1. if (dgv.Columns[dgv.CurrentCell.ColumnIndex].DataPropertyName == "cantidadContada")

Saludos.



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hacer que un text acepte solo numeros
Programación Visual Basic
erick185 9 5,023 Último mensaje 4 Marzo 2006, 03:01 am
por .Slasher-K.
textbox me acepte solo numeros?? « 1 2 »
Programación Visual Basic
melielectra 16 36,208 Último mensaje 2 Diciembre 2008, 03:43 am
por ricardovinzo
deseo que se agrande automaticamente la columna de un datagrid
Programación Visual Basic
choquito 0 956 Último mensaje 14 Marzo 2007, 14:28 pm
por choquito
Cadena con sólo carecteres numéricos
.NET (C#, VB.NET, ASP)
Bucay 2 3,146 Último mensaje 31 Julio 2011, 21:04 pm
por $Edu$
Cargar sólo un campo (columna de datos) en mysql por csv
Bases de Datos
bgnumis 1 2,853 Último mensaje 1 Abril 2015, 22:09 pm
por 1mpuls0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines