elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Como agregar un campo calculado a una columna de un datatable
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como agregar un campo calculado a una columna de un datatable  (Leído 9,562 veces)
almita

Desconectado Desconectado

Mensajes: 212


Ver Perfil
Como agregar un campo calculado a una columna de un datatable
« en: 28 Mayo 2010, 23:49 pm »

Este datatable ya tiene inf. Que estoy llenando con el método fill y al agregar la columna y llenado de la misma lo hago  con el siguiente código
Código:
dt.Columns.Add("Codigo", Type.GetType("System.String"))
Dim Row As DataRow
Row = dt.NewRow()
Row.Item("Codigo") = cod
dt.Rows.Add(Row)
dt.Rows.Item(i).ToString()

y el xls que genero queda de la siguiente manera

cuenta   subcuenta   partida   subpartida   concepto   abono   cargo   id_salida   Codigo
5000   5200   5200   5012   POLIZA DE IMSS CORRESPONDIENTE AL MES DE MARZO DEL 2010                                                                    0   24847.59   0   
5000   5300   5301   5012   POLIZA DE IMSS CORRESPONDIENTE AL MES DE MARZO DEL 2010                                                                    0   8101   0   
                        A0201
                        A0202
                        A0203
                        A0204
Alguien me puede orientar como le hago para que lo agrege como columna y no como row, gracias por su apoyo


En línea

almita

Desconectado Desconectado

Mensajes: 212


Ver Perfil
Re: Como agregar un campo calculado a una columna de un datatable
« Respuesta #1 en: 2 Junio 2010, 15:56 pm »

Chavos de casualidad alguien sabe como puedo agregar datos  a la columna Código sin que me lo ponga como nuevo registro como lo puse en el ejemplo anterior.

Agradeceré su apoyo


En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Como agregar un campo calculado a una columna de un datatable
« Respuesta #2 en: 2 Junio 2010, 16:31 pm »

Si puedes postear un poco más de código.. Porque no veo bien claro todo., en teoría va bien.
En línea

almita

Desconectado Desconectado

Mensajes: 212


Ver Perfil
Re: Como agregar un campo calculado a una columna de un datatable
« Respuesta #3 en: 2 Junio 2010, 16:51 pm »

ok
tengo una enlace a un dbf y el resultado lo pongo en un datatable de la sig manera
Código:
 
sConn = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & _
System.IO.Path.GetDirectoryName("C:\scrpt_dbf\nomina.dbf")
query = "select * from nomina"
Using dbConn As New System.Data.Odbc.OdbcConnection(sConn)
dbConn.Open()             
Dim da As New System.Data.Odbc.OdbcDataAdapter(query, dbConn)
Dim dt As New DataTable
da.Fill(dt)
enseguida le agrega una columna que estoy obteniendo de un xls. que estoy leyendo, de la sig manera
Código:
dt.Columns.Add("Codigo", Type.GetType("System.String"))
For i = 0 To datos1.Tables("sierra").Rows.Count - 1
    cta = datos1.Tables("sierra").Rows(i).Item(0).ToString
    cod = datos1.Tables("sierra").Rows(i).Item(2).ToString
    Dim Row As DataRow
    Row = dt.NewRow()
    Row.Item("Codigo") = cod
    dt.Rows.Add(Row)
Next

aqui el punto es que esta columna solo encontre que la puedo agregar pero como registro nuevo, yo lo que quiero es que los agrege como columna en los registros existentes. si me explique?
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Como agregar un campo calculado a una columna de un datatable
« Respuesta #4 en: 2 Junio 2010, 17:12 pm »

Lo que quieres es No agregar un registro nuevo, sino, agregar una columna?

Siguiendo tu código:

Código
  1.  
  2. dt.Columns.Add("Codigo", Type.GetType("System.String"))
  3.  
  4. For i = 0 To datos1.Tables("sierra").Rows.Count - 1
  5.    cta = datos1.Tables("sierra").Rows(i).Item(0).ToString
  6.    cod = datos1.Tables("sierra").Rows(i).Item(2).ToString
  7.  
  8.    dt.Rows[i]["Codigo"] = cod 'asignas cod  a la columna Codigo que creaste arriba.
  9.   'En C# funciona, no se la sintaxis de VB.Net hehe
  10.  
  11. Next
  12.  
  13.  

El código no lo testié, dime si hay alguna excepción o algo..
Saludos
En línea

almita

Desconectado Desconectado

Mensajes: 212


Ver Perfil
Re: Como agregar un campo calculado a una columna de un datatable
« Respuesta #5 en: 2 Junio 2010, 18:21 pm »

es correcto tal como queria muchisisisisisimas gracias  D4N93R esa linera era la que no me quedaba. Por si a alguien le sirve quedo asi.
Código:
sConn = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & _
System.IO.Path.GetDirectoryName("C:\scrpt_dbf\nomina.dbf")
query = "select * from nomina"
Using dbConn As New System.Data.Odbc.OdbcConnection(sConn)
dbConn.Open()             
Dim da As New System.Data.Odbc.OdbcDataAdapter(query, dbConn)
Dim dt As New DataTable
da.Fill(dt)
dt.Columns.Add("Codigo", Type.GetType("System.String")) 'crea la columna
 For i = 0 To datos1.Tables("sierra").Rows.Count - 1
   cta = datos1.Tables("sierra").Rows(i).Item(0).ToString
   cod = datos1.Tables("sierra").Rows(i).Item(2).ToString
   dt.Rows(i)("Codigo") = cod
 Next

asi es como leo un dbf y el resultado lo pongo en el datatable para agregarle la columna y luego le agrego los datos barriendo el datatble y el dataset trae el dodigo que leo del xls y lo agreco a la columna Codigo
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Como agregar un campo calculado a una columna de un datatable
« Respuesta #6 en: 2 Junio 2010, 18:28 pm »

Almita, trata de colocar los tags de código con el lenguaje:

[ code=csharp][/ code]
[ code=vbnet][/ code]
[ code=cpp][/ code]

Sin los espacios hehe

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines