Buenas. Estoy empezando en la programacion en C# aunque ya tenia experiencia
en el lenguaje JAVA, con lo cual algunas cosas de este nuevo lenguaje no me
pillan del todo desprevenido.
Estoy haciendo un programa windows forms utilizando una base de datos
Access. Para mostrar los datos utilizo una serie de controles enlazados a un
dataset ya creado y un datagrid que me muestra tanto la ID como el Titulo de
cada una de las entradas de la tabla. El problema es el siguiente. Para la
inserccion de nuevas filas en mi tabla utilizo la siguiente secuencia de
codigo:
BindingContext[objds, tablaActual].EndCurrentEdit();
BindingContext[this.objds.Tabla].AddNew();
Donde objds es el dataset correspondiente y tablaActual es un string que
indica la tabla actual con la que estoy trabajando. Una vez ejecutado este
codigo, se muestra el resultado inmediatamente despues en el datagrid, pero
si selecciono la fila recien insertada, no se mueve de manera interna el
puntero del dataset, es como si esa fila no existiera en el dataset.
Decidi cambiar el datagrid a un listview previamente modificado para que
acepte un dataset y muestre de manera automatica la tabla como si fuera un
datagrid. El codigo para insertar elementos es muy simple ya que me limito a
recorrer cada fila y columna del dataset correspondiente. Con esto me
muestra una tabla exactamente igual que el datagrid pero el error es el
mismo al seleccionar una fila recien insertada. Dicha fila se encuentra en
el dataset pero a la hora de dirigir el puntero con el siguiente codigo tras
seleccionar una fila insertada:
public void seleccion(int posicion) // Donde posicion es la posicion de la
fila seleccionada en el listview
{
System.Console.WriteLine("Posicion a mover: " + posicion.ToString()); //
Fila donde espero moverme
BindingContext[objds, tablaActual].Position = posicion;
System.Console.WriteLine("Posicion actual: " +
this.BindingContext[this.objdsAnime, this.tablaActual].Position.ToString());
// Fila donde finalmente
// me he movido
}
Observo que tras ejecutar el metodo Position, me redirige a la ultima
posicion donde me encontraba, no a la fila esperada.
Este es mi problema. Espero que alguien pueda solucionarmelo o que me
aconseje de alguna manera. Muchas gracias.
Leer las respuestas