Busquedas Filtradas Para codigos c#,asp.net ,sql,wcf,uml

Búsqueda filtrada para codigo para asp.net,SQL,c#,wcf,vb,mobiles

miércoles, 14 de octubre de 2009

Problemas al Actualizar una Fila en el GridView que contenga una Campo Fecha



hola nuevamente , hoy me llego un consulta de uno de mis alumnos que me referia que tenia una gridview y dentro de el tenia un campo fecha tal como se muestra en la Figura 1


Figura 1

pero al dar click en actualizar le salia una excepcion de tipo de conversion de string a datatime , analizando el problema se debe que al momento de actulizar la celda que contiene la fecha deberia ser convertida a una tipo de dato Fecha . para solucionar este problema invocamos al evento GridView.RowUpdating .


una definicion segun la MSDN es la sgts:

El evento RowUpdating se produce cuando se hace clic en el botón Actualizar de una fila, pero antes de que el control GridView actualice la fila. Esto permite proporcionar un método de control de eventos que realice una rutina personalizada, como cancelar la operación de actualización, siempre que se produzca este evento.

Se pasa un objeto GridViewUpdateEventArgs al método de control de eventos que permite determinar el índice de la fila actual e indicar que se debe cancelar la operación de actualización. Para cancelar la operación de actualización, establezca la propiedad Cancel del objeto GridViewUpdateEventArgs en true. También puede manipular las colecciones Keys, OldValues y NewValues, si es necesario, antes de pasar valores al origen de datos. Una manera común de utilizar estas colecciones es codificar mediante HTML los valores proporcionados por el usuario antes de almacenarlos en el origen de datos. Esto ayuda a evitar ataques por inyección de secuencias de comandos.

bueno viendolo de otro punto el evento me permita capturar y modificar los datos antes de que sean actualizados , entonces para poder convertir el campo fecha hacemos lo sgts:
entramos al evento RowUpdating y si nuestra propiedad de nuestra entidad del negocio se llamara "pro_fecnac" entonces el codigo seria el sgts.

***************************************************************************

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
e.NewValues["pro_fecnac"] = DateTime.Parse(e.NewValues["pro_fecnac"].ToString());
}


hasta pronto
ing Oscar Mendez

http://www.twitter.com/oscarmendez

2 comentarios:

blog dijo...

esta es otra consulta de un estudiante ^^
Profe, como puedo hacer obtener datos de la tabla AspUsers en usuariosDALC da problemas con el uniqueidentifier pensé que lo tomaría como string pero no ya llevo 2 días con eso y no avanzo xD
Gracias
Estudiante - Ucv Chimbote

blog dijo...

cdiegors@gmail.com
^^