
Impedir el borrado de una fila de un DataGrid
Publicado por Annihilus (1 intervención) el 06/03/2009 10:28:20
Buenas, estoy con un proyecto de .Net en el que tengo que cargar en un DataGrid unos datos desde un XML.
El cargarlos es fácil, creo por código un datatable, defino 3 columnas y voy añadiendo las filas segun leo el XML.
La tercera columna del datagrid debe ser editable, por eso dejo el readonly del Datagrid a false y por código al crear la columna le digo que su ReadOnly = false mientras las otras las pongo a true.
Mi problema es que ahora tengo que impedir el borrado de una fila en el datagrid, la unica manera que se me ocurre es poner el ReadOnly del datagrid a true, pero entonces no podrÃa editar la tercera columna.
Quizá podrÃa controlarlo por código al entrar en una fila viendo en que columna está, pero de nuevo no doy con los eventos necesarios.
Necesitaria saber cuando entro en una fila del datagrid.
Saber si se puede cancelar o impedir el borrado de una fila, he encontrado el evento
Tabla.RowDeleting += new DataRowChangeEventHandler( Row_Deleting )
que le añado al DataTable, pero dentro no soy capaz de impedir el borrado.
Bueno, si alguien tiene alguna idea por favor que me lo diga, he estado mirando los eventos del DataGrid, del DataTable y de DataRow y no doy encontrado ninguno que salte cuando se pincha dentro de una fila del DataGrid en cualquier columna.
Los eventos del DataGrid sólo parecen funcionar con el control pero no con las filas que contiene.
Un saludo.
El cargarlos es fácil, creo por código un datatable, defino 3 columnas y voy añadiendo las filas segun leo el XML.
La tercera columna del datagrid debe ser editable, por eso dejo el readonly del Datagrid a false y por código al crear la columna le digo que su ReadOnly = false mientras las otras las pongo a true.
Mi problema es que ahora tengo que impedir el borrado de una fila en el datagrid, la unica manera que se me ocurre es poner el ReadOnly del datagrid a true, pero entonces no podrÃa editar la tercera columna.
Quizá podrÃa controlarlo por código al entrar en una fila viendo en que columna está, pero de nuevo no doy con los eventos necesarios.
Necesitaria saber cuando entro en una fila del datagrid.
Saber si se puede cancelar o impedir el borrado de una fila, he encontrado el evento
Tabla.RowDeleting += new DataRowChangeEventHandler( Row_Deleting )
que le añado al DataTable, pero dentro no soy capaz de impedir el borrado.
Bueno, si alguien tiene alguna idea por favor que me lo diga, he estado mirando los eventos del DataGrid, del DataTable y de DataRow y no doy encontrado ninguno que salte cuando se pincha dentro de una fila del DataGrid en cualquier columna.
Los eventos del DataGrid sólo parecen funcionar con el control pero no con las filas que contiene.
Un saludo.
Valora esta pregunta


0