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:
Mostrar la cita
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).

Mostrar la cita
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.

Mostrar la cita
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