Fill de tabla en Load

21/11/2008 - 22:12 por Gilbert | Informe spam
Soy nuevo en .net. Hice un form con el asistente con un dataset tipado para
una tabla, funciona bien pero veo que me hace un fill de todos los datos en
el load del form.
Como se configura que no me cargue todo sino que me vaya cargando los
registros a demanda para mostrar en pantalla?

Preguntas similare

Leer las respuestas

#1 Juan Diego Bueno
21/11/2008 - 22:53 | Informe spam
Hola Gilbert:

"Gilbert" escribió en el mensaje de
noticias:
Soy nuevo en .net. Hice un form con el asistente con un dataset tipado
para una tabla, funciona bien pero veo que me hace un fill de todos los
datos en el load del form.
Como se configura que no me cargue todo sino que me vaya cargando los
registros a demanda para mostrar en pantalla?



Tienes que definir la consulta que va a componer el fill sobre el dataset.
El dataset tipado tiene principalmente un método fill que llena el datatable
correspondiente con todos los registros. Si te fijas en el datatable dentro
del dataset tipado, observarás el tableadapter que lo llena, su método fill
y que puede configurarse para que responda a un tipo de consulta diferente.
También puedes crearte tu uno diferente y complementario a este. Por
ejemplo, mantienes ese para cuando quieras cargar todos los registros y
aparte creas otro con otro criterio de llenado. El más común sería un
FillByIDdelregistro el cual te llenaría el dataset con el registro del id
correspondiente. Se trataría entonces de generar una query para ese fill que
llevara, por poner un ejemplo, un WHERE ID=@ID. El asistente te crearía lo
que él llama un FillByXXXX y que tu podrías llamar FillByID. De esta forma,
al llamar a ese método no sólo te va a pedir el datatable sobre el que
llenar los datos, sino también el id que vas a proporcionar a la query como
parámetro. Esto es sólo un ejemplo, ya que puedes personalizar la consulta
como desees, usando la cantidad de parámetros que necesites, o puedes tener
todos los métodos Fill que desees.

Otro caso práctico, si quieres hacer una especie de navegador de registros
de forma que te los cargue uno por uno, puedes hacer un FillById que sea del
WHERE ID>@ID donde ese id que le proporcionas sea el id del registro actual
de forma que te cargue el siguiente. En fin, que tienes una multitud de
posibilidades.

Saludos.
Respuesta Responder a este mensaje
#2 Gilbert
22/11/2008 - 14:09 | Informe spam
Hola Juan

Otro caso práctico, si quieres hacer una especie de navegador de registros
de forma que te los cargue uno por uno, puedes hacer un FillById que sea
del WHERE ID>@ID donde ese id que le proporcionas sea el id del registro
actual de forma que te cargue el siguiente. En fin, que tienes una
multitud de posibilidades.




Exacto, me entendiste bien, algo asi es que quisiera pero de tu mensaje
deduzco que es que no configura para que lo haga automaticamente sino que
hay que programar todo, por ejemplo he estado viendo el navegador
(bindingnavigator) y me luce que funciona solo con los datos en memoria que
tenga la tabla.
No parece nada sencillo ponerlo a traer cada vez un registro desde la base
de datos o ponerlo a paginar de 5 en 5 tal vez. Hasta el boton "Move next"
se inactiva cuando no tiene mas registros en memoria.

Bueno, gracias por orientarme, seguire investigando.
Respuesta Responder a este mensaje
#3 Juan Diego Bueno
22/11/2008 - 15:41 | Informe spam
Hola Gilbert:

"Gilbert" escribió en el mensaje de
noticias:#

Exacto, me entendiste bien, algo asi es que quisiera pero de tu mensaje
deduzco que es que no configura para que lo haga automaticamente sino que
hay que programar todo, por ejemplo he estado viendo el navegador
(bindingnavigator) y me luce que funciona solo con los datos en memoria
que tenga la tabla.
No parece nada sencillo ponerlo a traer cada vez un registro desde la base
de datos o ponerlo a paginar de 5 en 5 tal vez. Hasta el boton "Move next"
se inactiva cuando no tiene mas registros en memoria.




El tema es que el bindingnavigator está orientado a trabajar desconectado.
Si quieres paginar y trabajas con SQL Server, puedes usar las funciones de
paginado. Puedes ver un ejemplo en mi blog:

http://www.moondance.es/?p

De esta forma, podrías utilizar un mecanismo intermedio, y cuando llegues al
último registro de esa página, hacer un "refill" del datatable origen del
navigator para que te obtenga los siguientes. Es un poco chapuza, pero es lo
más que puedes hacer hasta donde yo sé con ese control. De todas maneras, es
muy rudimentario y por ende, es muy sencillo que tú te crees el tuyo propio
que funcione desconectado.

Saludos
Respuesta Responder a este mensaje
#4 Gilbert
22/11/2008 - 19:31 | Informe spam
gracias Juan


"Juan Diego Bueno" escribió en el mensaje
news:
Hola Gilbert:

"Gilbert" escribió en el mensaje de
noticias:#

Exacto, me entendiste bien, algo asi es que quisiera pero de tu mensaje
deduzco que es que no configura para que lo haga automaticamente sino que
hay que programar todo, por ejemplo he estado viendo el navegador
(bindingnavigator) y me luce que funciona solo con los datos en memoria
que tenga la tabla.
No parece nada sencillo ponerlo a traer cada vez un registro desde la
base de datos o ponerlo a paginar de 5 en 5 tal vez. Hasta el boton "Move
next" se inactiva cuando no tiene mas registros en memoria.




El tema es que el bindingnavigator está orientado a trabajar desconectado.
Si quieres paginar y trabajas con SQL Server, puedes usar las funciones de
paginado. Puedes ver un ejemplo en mi blog:

http://www.moondance.es/?p

De esta forma, podrías utilizar un mecanismo intermedio, y cuando llegues
al último registro de esa página, hacer un "refill" del datatable origen
del navigator para que te obtenga los siguientes. Es un poco chapuza, pero
es lo más que puedes hacer hasta donde yo sé con ese control. De todas
maneras, es muy rudimentario y por ende, es muy sencillo que tú te crees
el tuyo propio que funcione desconectado.

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida