Adicion de propiedad en datacolumn

03/05/2010 - 21:47 por Miguel Arenas | Informe spam
Cree una clase heredando de Datacolumn.

//asigno a datacolumn
dt.Rows[0].Table.Columns.Add(new cDataColumn());

//defino variable
cDataColumn col = new cDataColumn()
//aqui me marca error InvalidCast
col = (cDataColumn)dt.Rows[0][0];

//Tambien trata de esta otra forma y obtengo el mismo error
DataColumn col = new DataColumn()
col=dt.Rows[0].Table.Columns[0];
private cDataColumn _usercode= new cDataColumn();

_usercode = ((cDataColumn)col);

podria alguien, decirme que estoy haciendo mal, o que hace falta adicionar,
gracias.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
03/05/2010 - 21:58 | Informe spam
"Miguel Arenas" wrote in message
news:
Cree una clase heredando de Datacolumn.

//asigno a datacolumn
dt.Rows[0].Table.Columns.Add(new cDataColumn());



Esto te añade el cDataColumn AL FINAL de la colección de columnas (no en
la posición 0, si ya había más columnas).

//defino variable
cDataColumn col = new cDataColumn()
//aqui me marca error InvalidCast
col = (cDataColumn)dt.Rows[0][0];



Te da un InvalidCast porque la columna 0 no es un cDataColumn, sino un
DataColumn normal. Podrías acceder a la última columna asi:

col = (cDataColumn)dt.Rows[0][dt.Columns.Count-1];

Por cierto, no es útil inicializar la variable col con un "new
cDataColumn" cuando resulta que en la siguiente línea machacas este valor
inicial asignándole un valor diferente a la variable.

//Tambien trata de esta otra forma y obtengo el mismo error
DataColumn col = new DataColumn()
col=dt.Rows[0].Table.Columns[0];
private cDataColumn _usercode= new cDataColumn();

_usercode = ((cDataColumn)col);

podria alguien, decirme que estoy haciendo mal, o que hace falta
adicionar,



Pasa aquí lo mismo: estás tomando la primera columna en lugar de la
última. Y también tienes la inicialización superflua en dos sitios.

Si cambiando esto no te funciona, usa el debugger: ejecuta el código
paso a paso en Visual Studio, y ve parando en cada uno y examinando las
variables. Comprueba cuántas columnas hay en la tabla, y examina el tipo de
cada una, hasta encontrar dónde está el fallo.
Respuesta Responder a este mensaje
#2 Miguel Arenas
03/05/2010 - 23:13 | Informe spam
Gracias.
Como podria entonces tomar cada una de las columnas "DataColumn" de la "dt"
que tipo "Datatable" y pasarlas a la variable "col" que es de Tipo
cDataColumn. Que es lo que estoy buscando hacer.

"Alberto Poblacion" wrote:

"Miguel Arenas" wrote in message
news:
> Cree una clase heredando de Datacolumn.
>
> //asigno a datacolumn
> dt.Rows[0].Table.Columns.Add(new cDataColumn());

Esto te añade el cDataColumn AL FINAL de la colección de columnas (no en
la posición 0, si ya había más columnas).

> //defino variable
> cDataColumn col = new cDataColumn()
> //aqui me marca error InvalidCast
> col = (cDataColumn)dt.Rows[0][0];

Te da un InvalidCast porque la columna 0 no es un cDataColumn, sino un
DataColumn normal. Podrías acceder a la última columna asi:

col = (cDataColumn)dt.Rows[0][dt.Columns.Count-1];

Por cierto, no es útil inicializar la variable col con un "new
cDataColumn" cuando resulta que en la siguiente línea machacas este valor
inicial asignándole un valor diferente a la variable.

> //Tambien trata de esta otra forma y obtengo el mismo error
> DataColumn col = new DataColumn()
> col=dt.Rows[0].Table.Columns[0];
> private cDataColumn _usercode= new cDataColumn();
>
> _usercode = ((cDataColumn)col);
>
> podria alguien, decirme que estoy haciendo mal, o que hace falta
> adicionar,

Pasa aquí lo mismo: estás tomando la primera columna en lugar de la
última. Y también tienes la inicialización superflua en dos sitios.

Si cambiando esto no te funciona, usa el debugger: ejecuta el código
paso a paso en Visual Studio, y ve parando en cada uno y examinando las
variables. Comprueba cuántas columnas hay en la tabla, y examina el tipo de
cada una, hasta encontrar dónde está el fallo.

.

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