Mensaje dentro de Acceso y trabajo con datos

Responder 
#1 - 19/03/2007 16:29:16 Reporta abuso | Link Permanente
cefjoseph
Fecha de registro: 19/03/2007
0 post en este tema
4 posts en acceso y trabajo con datos
6 posts en todos los foros
Llenar un gridview - asp.net

Responder Citar
Hola grupo, les comento que recien estoy empezando a trabajar con VS.NET 2005, estoy desarrollando un proyecto en asp.net, y se me presento un problema, es cuando quiero mostrar en un gridview informacion de 2 tablas que estan relacionadas que se encuentran en mi BD, estoy trabajando con clases (POO), por ejemplo para dejarme entender:

Tengo 2 tablas: Participante y Ciudad, donde el PK de Ciudad migra a la Tabla Participante donde tiene los siguientes atributos: Participante(idParticipante,nombres,... ,idCuidad) y Ciudad(idCiudad, nombre) , donde en el gridview quiero mostrar, codigo del participante, nombres y la ciudad donde pertenece:

Quiero mostrar en el gridview en la columnas:

|  Codigo  |    Nombres y Apellidos     |     Ciudad     |  Editar  |  Eliminar |  
    00001          JUAN PEREZ                  LIMA         

tengo la idea de como llenar datos:

dim lista as new ArrayList
dim objp as new cParticipante
dim objc as new cCiudad

lista = objp.BuscarParticipantes()

for i=0 to lista.cont -1
     objp = lista.item(i) 
     'Aca obtengo los get de la clase
     codigo=objp.IdParticipante()
     nombre= objp.Nomgre()
     objc.BuscarIdCiudad(objp.IdCuidad)
     ciudad= objc.Nombre
end for

El problema es como llenar eso en el gridview, Bueno grupo espero que me puedan ayudar, porque esto es un trabajo que tengo que presnta en un curso de la universidad . Espero pronta respuesta. Gracias


 
Volver arriba

Respuestas
Mostrar de en 15
#2 - 11/02/2011 4:03:14 Reporta abuso | Link Permanente
masterchief
Usuario no registrado
RE: Llenar un gridview - asp.net

Responder Citar
una buena forma de llenar un grid view   http://paginazweb.blogspot.com/ 
saludos!!
Volver arriba

#3 - 30/07/2009 23:59:38 Reporta abuso | Link Permanente
Jimmyco
Usuario no registrado
RE: Llenar un gridview - asp.net

Responder Citar
solo queria agradecer a la persona que primero trespondio a este foro quien me ilumino en un dia de oscuridad mental y efectivamente funciona.

Volver arriba

#4 - 28/04/2008 22:38:47 Reporta abuso | Link Permanente
AnabPao
Fecha de registro: 28/04/2008
1 post en este tema
1 post en acceso y trabajo con datos
3 posts en todos los foros
Error al invocar metodo de Web Service

Responder Citar
Hola estoy empezando a desarrollar con Web Services en Asp.Net y creé una aplicación cliente desde la cual se invoca un metodo dentro de un servicio web pero me da error al querer invocar el metodo, siguiendo la traza y atachandome al servicio web pude verificar que da el error exactamente en la invocación al metdo
El error es el siguiente:
“Message = “Object reference not set to an instance of an object.”
Si bien yo se que este error se debe a que falta un New en general no creo que este sea el caso
Puede ser que el New tenga un tiempo de retardo en generarse o algo así?
el tema es que he hecho infinidad de pruebas para para descubrir que falta pero es muy raro que cuando genera el error si vuelvo la ejecucuión atrás varias veces en algun momento se ejecuta bien el metodo y me da el resultado correcto como si al fin generara el new o algo asi.
Ademas si ejecuto el metodo directamente sin hacerlo a través del web service el metodo funciona correctamente.
Tambien probe llamar al metodo con parámetros literales y tambien me genera error
Cualquier ayuda que me puedan dar estaré infinitamente agradecida
Desde ya muchas gracias
Hace varios dias que estoy con este problema y no puedo encontrarle solución y debo terminar el trabajo ya estoy muy retrasada help!!!!
Volver arriba

#5 - 28/05/2007 18:10:15 Reporta abuso | Link Permanente
Auder
Usuario no registrado
RE: Llenar un gridview - asp.net

Responder Citar
Hola...
Yo lo hago usando data Table, creando una clase que se encarge de hacer la consulta a la Base de Datos y el resultado lo deposite en un dataTable, luego asocio el DataTable en tiempo de ejecución al DataSource del GridView.
Ejemplo:

Dim datos As New Alumnos

Dim dtsDatos As DataTable

dtsDatos = datos.Consulta  'clase que genera la consulta y devuelve un dataTable

if not dtsDatos is Nothing then

gvAlumnos.DataSource = dtsDatos 'asginar la fuente de datos al DataView

gvAlumnos.DataBind()

end if

End Sub

Volver arriba

#6 - 22/03/2007 18:48:48 Reporta abuso | Link Permanente
subgurim
Fecha de registro: 01/12/2006
1 post en este tema
242 posts en acceso y trabajo con datos
1777 posts en todos los foros
RE: Llenar un gridview - asp.net

Responder Citar
Hola!

Encantado de que te hayas presentado tan bien!!

Sin duda tu experiencia en Java te ayudará muchísimo para aprender .NET!!!
Ya verás como dentro de nada estás aquí contestando mis dudas como Almapase o Kofmaster

En mi opinión es imprescindible que te olvides de los arraylist y te pases a listados genéricos; tú simplemente piensa que un objeto introducido en un arraylist que luego vas a utilizar debe sufrir transformación de datos en ambas direcciones, mientras que un listado genérico no lo requiera... imagínate un listado de 5000 elementos... 10000 transformaciones como mínimo!! En mi post anterior te pongo un enlace a un artículo sobre el uso de listados genéricos.

Además, yo los prefiero a los DataSet porque tengo un control absoluto sobre todo lo que ocurre desde el procedimiento almacenado hasta la entrega al GridView (o el control que sea).

En cuanto a la unión en una clase del resultado de varias tablas... eso es muy difícil que te lo pueda aconsejar ciertamente porque cada proyecto es un mundo diferente!! El hecho de que las bases de datos sean relacionales y el lenguaje que recoge sus datos sea orientado a objetos ya es de por sí un dolor de cabeza... qué sencillo sería si las bases de datos orientadas a objetos fueran tan eficientes como las relacionales!!!
Ante proyectos tan gordos como el que tú comentas (40 tablas ya no son "moco de pavo"), ya es tu experiencia y tu imaginación la que debe responder ante las situaciones... de hecho la teoría dice una cosa genérica... pero la práctica puede exigir romper ciertas reglas.

Tú sólo aplica el sentido común y comrpueba qué es lo menos costoso computacionalmente hablando, así como lo más sencillo de codificar y mantener.

Yo también estoy de acuerdo en que muchos controles de .NET alejan de la programación orientada a objetos... de hecho tengo un artículo que trata un poquito eso y que te puede venir bien: la capa DAL.

Espero haberte respondido a todo!!

Pásate por aquí para todo lo que quieras!!

Saludos.
Volver arriba

#7 - 22/03/2007 1:31:10 Reporta abuso | Link Permanente
cefjoseph
Fecha de registro: 19/03/2007
1 post en este tema
4 posts en acceso y trabajo con datos
6 posts en todos los foros
RE: Llenar un gridview - asp.net

Responder Citar

Hola subgurim, te comento que recien me estoy iniciando en asp.net con vb, estoy investigando sobre esta tecnologia de .Net que es nuevo para mi, yo progroma en Java haciendo aplicaciones web ya casi 3 años, en un nivel intermedio, y como estoy acostumbrado a trabajar POO en Java por las ventajas que trae la misma. Ahora que estoy iniciandome en esta nueva tecnologia de .Net, trato de hacer lo mismo, de trabajar POO, esto es solo para comentarte para que me comprendas un poco.
 
En tu respuesta anterior me sugieres no trabajar con ArrayList,   yo en mis clases para devolver una lista por ejemplo de todos los participantes inscritos en una tabla participante devuelvo un tipo ArrayList (comentando que trabajo con procedimientos alamcenados):
(Public Function BuscarParticipantes() as ArrayList), otra forma que encontre era devolver un DataSet, pero no me convencio, que me sugieres que devuelva ese Metodo BuscarParticpantes(), me refiero al tipode dato?, me comentates algo de listas genericas, la verdad no vi sobre eso.

En otra parte me comentas, que para unir varias tablas en un grid me sugieres (crear una clase nueva que aglutine exactamente toda la información que quiero que vaya en el GridView), entonces supongamos que en un proyecto de gran envergadura que tenga mas de 40 tablas y esten relacionadas entre si, tendria que crear varias clases para unir 2 tablas, 3, 4, etc. que necesite mostrar en un grid para hecer mismantenimientos, etc, generalmente en Java lo hacia para crear reportes (creaba una clase cReporte donde ahi hacia lo que me sugieres, generalmente para reportes complicados que tengan quiebres), ademas desde el punto de vista de Desarrollo de Software, utilizando la Metodologia RUP en un proyecto para la documentacion, en la parte de Diagrama de clases, me parece que es no correcto hacer lo que me sugieres.

Generalmente en .Net, por lo que estube viendo por medio de la interfaz hacen todo, me refiero a sus conexiones, llenados de grid, donde hacen consultas de varias tablas que quieren que salgan en el grid, y no veo que trabajan POO, por eso es que recurro a Uds. para que me orienten como trabajar en esta nueva tecnologia para mi.

Gracias por tu opinion y sugerencias subgurim,  y demas personas que quieran aportar sobre esto, que recien me inicio, que vengo de otra tecnologia, donde estaba acostumbrado a trabajar, directamente con la parte "Codigo" que lo llaman en .Net (html, javascript, etc), y que ahora me encuentro con otra tecnologia, que ya casi ni entro a la parte codigo, solo en la parte de diseño se hace casi todo donde se arrastra los controles hago dobleclick y programa sobre ese control y evento respectivo, espero que sigamos en contacto y me siguan dando sus sugerencias.

Gracias y saludos, espero pronta respuesta.

Volver arriba

#8 - 21/03/2007 12:30:21 Reporta abuso | Link Permanente
subgurim
Fecha de registro: 01/12/2006
1 post en este tema
242 posts en acceso y trabajo con datos
1777 posts en todos los foros
RE: Llenar un gridview - asp.net

Responder Citar
Hola cefjoseph !

En mi opinión (y sólo es una opinión), hay varias cosas mejorables... pero el problema es que no conozco el alma del proyecto, por lo que algunas de las cosas que te diga puede que ya las hayas planteado y descartado por motivos que desconozco

Pero bueno, con la única intención de proponer ideas, te comento:
- Yo no usaría ArrayList, sino listados genéricos. Notarás una mejoría enorme en el performance, a parte de ser mucho más sencillo de mantener el código.
- Debe de haber algún modo en que no te tenga que hacer falta hacer el for. Supongo que la solución estaría en el procedimiento almacenado o en la estructura de tus tablas, pero siempre hay que evitar los for's de ese tipo. Hago mucho hincapié en esto!!


En cuanto a lo de unir la información de varias tablas en tu GridView, la solución que yo siempre aplico es la de crear una clase nueva que aglutine exactamente toda la información que quiero que vaya en el GridView, y llenar esa información desde un único procedimiento almacenado.
Volver arriba

#9 - 21/03/2007 1:52:44 Reporta abuso | Link Permanente
cefjoseph
Fecha de registro: 19/03/2007
1 post en este tema
4 posts en acceso y trabajo con datos
6 posts en todos los foros
RE: Llenar un gridview - asp.net

Responder Citar
hola subgurim, porque no estas de acuerdo con la forma de recoger los datos, tienes otra idea?, ten en cuenta que trabajo con clases (POO), y mi clase cParticipante, en el metodo BuscarParticipantes(), me devuelve todos los participantes de mi tabla Participante en forma de de ArrayList, y para recoger el nombre de las ciudades tengo que hacer el for para buscar Id por Id.....

Eso que dices sobre el Grdiview1.DataSource) y posteriormente hacerle un DataBind (GridView1.DataBind), lo hice facilmente con una tabla, pero con varias tablas como le muestro en un gridview?
Volver arriba

#10 - 20/03/2007 15:48:37 Reporta abuso | Link Permanente
subgurim
Fecha de registro: 01/12/2006
1 post en este tema
242 posts en acceso y trabajo con datos
1777 posts en todos los foros
RE: Llenar un gridview - asp.net

Responder Citar
Hola,

Aunque no acabo de estar de acuerdo en cómo recoges los datos (eso es otro análisis) al gridview le debes asignar un DataSource (Grdiview1.DataSource) y posteriormente hacerle un DataBind (GridView1.DataBind)

Coméntanos qué tal!!

Saludos.
Volver arriba
Mostrar de en 15