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.
 

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.

Preguntas similares