Jajaj disculpen creo que por lo mismo de ser nuevo en esto relativamente creo que con decirles FOREACH creo que ya me entienden jajaja pido disculpas
Bien como comente al principio de este tema, estaba siguiendo el tutorial de Jose Fabricio: http://josefabriciorojas.blogspot.com/2008/05/nhibernate-crystal-reports.html Con la finalidad de alimentar un reporte hecho en Crystal Reports a traves de NH3. El autor antes mencionado entre la serie de pasos a seguir menciona que inserte en una forma un CrystalReportsViewer el cual se llama: crvReporte y un reporte llamado Reporte1 Comenta a su vez que generemos un Dataset el cual se llama dsAlumno y contiene los datos del objeto Alumno, los cuales son los siguientes: Alumno.cs public virtual string Matricula { get; set; } public virtual string Paterno { get; set; } public virtual string Materno { get; set; } public virtual string Nombre { get; set; } public virtual int NoCuenta { get; set; } public virtual int JDE { get; set; } Bien dicho dataset se llama dsAlumno y tiene el siguiente datatable Alumno POID <-- este es un campo llave Matricula Paterno Materno Nombre NoCuenta JDE Este fue el background del problema ========================================================= Ahora bien lo que se hara es insertarle los datos al datatable mediante un FOREACH de esta forma RepositorioAlumno alumnos = new RepositorioAlumno(); // instancio al repositorio donde saco la lista del Objeto Alumno dsAlumno dsa = new dsAlumno(); // instancio el dataset antes mencionado foreach (Alumno alu in alumnos.ListaAlumnos()) // alumno.ListaAlumnos(); es el metodo donde hago la consulta de la lista { DataRow row = dsa.Tables["Alumno"].NewRow(); row["POID"] = alu.POID; row["Matricula"] = alu.Matricula; row["Paterno"] = alu.Paterno; row["Materno"] = alu.Materno; row["Nombre"] = alu.Nombre; row["NoCuenta"] = alu.NoCuenta; row["JDE"] = alu.JDE; dsa.Tables["Alumno"].Rows.Add(row); //aqui agrego los datos al datatable uno por uno } dsa.Tables["Alumno"].AcceptChanges(); // aqui acepto los cambios Reporte r1 = new Reporte(); // instancio el reporte segun sugirio Mario, porque aqui surgia un error que se soluciono pero persistio abajo r1.SetDataSource(dsa.Tables["Alumno"]); //Le doy al reporte el origen de los datos, osea un dataset hasta donde se ya lleno crvReporte.ReportSource = r1; <-- aqui es donde surge el siguiente error comentado, mismo que ya habia pasado en la linea anterior, solo que como comente, Mario sugirio instanciara el reporte crvReporte.Refresh(); =============================================================== Bien aqui les mando todo lo que dice el error: No se controló System.NullReferenceException Message="Referencia a objeto no establecida como instancia de un objeto." Source="SystemSAI" StackTrace: en SystemSAI.frmReporte..ctor() en C:\Documents and Settings\augusto.ferriz\Mis documentos\Visual Studio 2008\Projects\SAI\SystemSAI\frmReporte.cs:línea 39 en SystemSAI.frmMenu.btnCargarReporte_Click(Object sender, EventArgs e) en C:\Documents and Settings\augusto.ferriz\Mis documentos\Visual Studio 2008\Projects\SAI\SystemSAI\frmMenu.cs:línea 603 en System.Windows.Forms.Control.OnClick(EventArgs e) en System.Windows.Forms.Button.OnClick(EventArgs e) en System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) en System.Windows.Forms.Control.WndProc(Message& m) en System.Windows.Forms.ButtonBase.WndProc(Message& m) en System.Windows.Forms.Button.WndProc(Message& m) en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) en System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) en System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) en System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) en System.Windows.Forms.Application.Run(Form mainForm) en SystemSAI.Program.Main() en C:\Documents and Settings\augusto.ferriz\Mis documentos\Visual Studio 2008\Projects\SAI\SystemSAI\Program.cs:línea 29 en System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) en System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) en Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() en System.Threading.ThreadHelper.ThreadStart_Context(Object state) en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) en System.Threading.ThreadHelper.ThreadStart() InnerException: ========================================================== Saludos y gracias por su tiempo... Estoy usando NH3 con Vs2008 C#.NET -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
