• Jueves 28 de Marzo de 2024, 22:42

Autor Tema:  Trabajando Con Datatable Y Datagridview  (Leído 2197 veces)

Cajami

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Trabajando Con Datatable Y Datagridview
« en: Sábado 17 de Marzo de 2007, 13:06 »
0
Hola que tal, les explico mi problema: he hecho 3 consultas a mi bd para poder obtener el resultado esperado, 2 de esas consultas he trabajado con INNER JOIN, cada consulta lo he puesto en un DataTable, en mi tercer DataTable he agregado ademas de la consulta (que me trae 3 columnas) otras columnas pero esas columnas las agredo de acuerdo a otro consulta (ia que utilizo 3), logicamente trabajo con bucles cada repetida que da agrega una columna a mi tercer DataTable, para ver si todo me salió correcto lo agregué a mi DataGridView:

Código: Text
  1. Me.DataGridView.DataSource = DataTable3
  2.  

pero ahora, lo que necesito y hasta la fecha no he podido no he encontrado una solucion es que necesito esa información que está en mi DataTAble3 o en mi DataGridView que es la misma info imprimirla, io para hacer mis reportes en CR (que es el único que se  :D), creo un DataSet tipado con determinados campos y los agrego a mi reporte y a través de código hago el mismo SELET que tiene el DataSet tipado para traer las mismas columnas, asi:

Código: Text
  1. Try
  2.             Dim Adaptador_Todos As New SqlDataAdapter(Cadena, My.Settings.Sistema_NotasConnectionString)
  3.             Dim Data As New DataSet
  4.             Adaptador_Todos.Fill(Data, "tablita")
  5.             Dim CR As New Registros
  6.             CR.SetDataSource(Data.Tables(0))
  7.             Reporte_Registros.CrystalReportViewer1.ReportSource = CR
  8.         Catch ex As Exception
  9.             MessageBox.Show(ex.Message, Titulo, MessageBoxButtons.OK, MessageBoxIcon.Error)
  10.         End Try
  11.  

claro está que el SELECT del DataSet tipado no contiene WHERE pero aqui en codigo si lo coloco, aunque no se ve la consulta la variable Cadena lleva toda la consulta, pero ahora con este DataTable que tengo como lo imprimo su info ia que todo eso lo hago mediante código???? espero que me haya explicado bien, nos vemos  :hola:
Lima - Perú

-------------------------------------------------------------------------------------------------------
"Persigue tus metas, tus objetivos, tus sueños, nunca t rindas si t caes 1000 veces levantat 1000 veces y sigue adelante..."

Cajami

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Trabajando Con Datatable Y Datagridview
« Respuesta #1 en: Sábado 17 de Marzo de 2007, 18:22 »
0
hola, buscando por el inter, me encotré con crear reportes pero en Excel aqui está el Link

y ia he podido mandar mis datos que tengo en mi DataTable a Excel pero ahora acomodar todo darle formato a casi todo, que la hora esté horizontal y no vertical que por defecto es asi, centrar los textos, si por ejemplo en una celdasu valor es = o mayor que 10.50 que su letra sea de color azul y si es menos que sea de color rojo, que sea de minimo 2 dijitos, quiere decir que si hay un 8 tiene que aparecer 08, y otros formatos que se ven en el archivo adjunto, le estoy buscando y no encuentro como puedo hacer eso, alguien sabe?????

alli les dejo dos arhivos de Excel uno como lo manda VB2005 a Excel y el otro es como deberia quedar, muchas gracias de antemano
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Lima - Perú

-------------------------------------------------------------------------------------------------------
"Persigue tus metas, tus objetivos, tus sueños, nunca t rindas si t caes 1000 veces levantat 1000 veces y sigue adelante..."

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: Trabajando Con Datatable Y Datagridview
« Respuesta #2 en: Martes 20 de Marzo de 2007, 21:05 »
0
Que Tal Cajami!

Puedes crear un procedimiento publico, con estos valores para escribir en excel
Código: Text
  1. Sub EscribeExcel(ByVal tPosX As String, ByVal tPosY As String, ByVal tUnion As Boolean, ByVal tTamaño As Byte, ByVal tAlingHor As Integer, ByVal tAlingVer As Integer, _
  2.                      ByVal tNegrita As Boolean, ByVal tFormato As String, ByVal tTexto As Object, ByVal oLibro As Object)
  3.  
  4.         With oLibro
  5.             .Range(tPosX, tPosY).Merge(tUnion)
  6.             .Range(tPosX, tPosY).Font.Size = tTamaño
  7.             .Range(tPosX, tPosY).HorizontalAlignment = tAlingHor
  8.             .Range(tPosX, tPosY).VerticalAlignment = tAlingVer
  9.             .Range(tPosX, tPosY).Font.Name = "Arial"
  10.             .Range(tPosX, tPosY).Font.Bold = tNegrita
  11.             .Range(tPosX, tPosY).Value = tTexto
  12.             .Range(tPosX, tPosY).NumberFormat = tFormato '"#,##0"
  13.         End With
  14.  
  15.     End Sub
  16.  
y para llamar a excel, así:
Código: Text
  1.  Dim oExcel As New Excel.Application
  2.         Dim oLibro As Workbook = oExcel.Workbooks.Add()
  3.         Dim oHoja As Worksheet
  4.        
  5.         oHoja = oLibro.Sheets(1)
  6.         EscribeExcel("A1", "G1", True, 9, -4108, -4108, True, "", "Titulo", oHoja)
  7.  
y para configurar la pagina, así:
Código: Text
  1. With oExcel.Worksheets(1).PageSetup
  2.                 .PrintTitleRows = "$" & iCeldaExcel.ToString & ":$" & iCeldaExcel.ToString & ""
  3.                 .Orientation = 2 ' Horizontal
  4.                 .PaperSize = 5 ' Oficio
  5.                 .LeftMargin = oExcel.InchesToPoints(0.196850393700787) '(0.31496062992126) '0.8 mil
  6.                 .RightMargin = oExcel.InchesToPoints(0.196850393700787) ' 0.5 mil
  7.                 .TopMargin = oExcel.InchesToPoints(0.393700787401575) '(0.47244094488189)  ' 1.2
  8.                 .BottomMargin = oExcel.InchesToPoints(0.393700787401575) '1 cent
  9.                 .HeaderMargin = oExcel.InchesToPoints(0)
  10.                 .FooterMargin = oExcel.InchesToPoints(0)
  11.                 .Zoom = 51
  12.             End With
  13.  
solo lo adaptas a lo que necesitas y listo. Espero te sea de utilidad.
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos

Cajami

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Trabajando Con Datatable Y Datagridview
« Respuesta #3 en: Martes 20 de Marzo de 2007, 21:10 »
0
gracias por responderme pensé que nunca me ivan a responder y toy desesperado  :P, lo probaré y te comento nos vemos
Lima - Perú

-------------------------------------------------------------------------------------------------------
"Persigue tus metas, tus objetivos, tus sueños, nunca t rindas si t caes 1000 veces levantat 1000 veces y sigue adelante..."