Principales respuestas
Control numericUpDown que consulte por filas a una tabla

Pregunta
-
Buen día, espero me puedan orientar de favor, estoy intentando meter en mi proyecto el control numericUpDown que proponen en este foro.
http://www.mundoprogramacion.com/colabora/puntoNET/andreschi_control_numeric_up_down.htm
Alguna idea para que este control cada que de clic en la flecha de arriba muestre el siguiente registro de una fila de la tabla Cientes, si doy clic en la flecha de abajo, muestre el registro anterior de la fila de la tabla clientes.
Y siempre comenzar por el primer registro que tenga esa tabla.
De antemano Gracias.
Hugo Damian
Respuestas
-
En el textchanged construirias una sentencia sql mas o menos como esta:
"Select * from laTabla order by ID_Cliente OFFSET " + (numFila-1) + " ROWS FETCH NEXT 1 ROWS ONLY"
Donde obviamene numFila es el int que resulta de parsear el valor que te ha llegado desde el numericUpDown.
Despues ejecutas esa sentencia usando la tecnologia de acceso a datos que tengas configurada en tu programa, y el resultado es el registro deseado.
Requiere como minimo la version 2012 de SQL Server para poder usar el offset...fetch.
- Marcado como respuesta Hugo Damian viernes, 13 de julio de 2018 10:55
Todas las respuestas
-
Puesto que el control propuesto en ese articulo hereda de TextBox, en principio deberia soportar el evento TextChanged heredado de su clase madre. Dentro de ese evento, podrias simplemente tomar el texto, y usarlo para recuperar la fila que tenga el mismo numero (presumiendo que tengas las filas numeradas, de lo contrario podrias habilmente construir una sentencia SQL que las filtre usando Row_number o usando "SKIP numero_de_fila-1 TAKE 1").
Ojo, al ser una aplicacion ASP.NET, el TextChanged no se dispara inmediatamente en lado servidor, sino que solo se dispara tras hacer un PostBack. Puedes forzarlo poniendole el AutoPostback=True al NumericUpDown (ya que lo debe de heredar de su clase madre).
-
-
En el textchanged construirias una sentencia sql mas o menos como esta:
"Select * from laTabla order by ID_Cliente OFFSET " + (numFila-1) + " ROWS FETCH NEXT 1 ROWS ONLY"
Donde obviamene numFila es el int que resulta de parsear el valor que te ha llegado desde el numericUpDown.
Despues ejecutas esa sentencia usando la tecnologia de acceso a datos que tengas configurada en tu programa, y el resultado es el registro deseado.
Requiere como minimo la version 2012 de SQL Server para poder usar el offset...fetch.
- Marcado como respuesta Hugo Damian viernes, 13 de julio de 2018 10:55
-