Foros del Web » Programando para Internet » ASPX (.net) »

cambiar los datos de un #Bind en modo de edicion dentro de un gridview.

Estas en el tema de cambiar los datos de un #Bind en modo de edicion dentro de un gridview. en el foro de ASPX (.net) en Foros del Web. Buenas tardes estoy trabajando con edittemplate dentro de un gridview. E colocado un codigo como este: <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("fec_ingreso") %>' CssClass="text_box_in_edit" ></asp:TextBox> Dentro ...
  #1 (permalink)  
Antiguo 16/04/2010, 13:27
 
Fecha de Ingreso: octubre-2003
Ubicación: Lima
Mensajes: 319
Antigüedad: 20 años, 5 meses
Puntos: 2
cambiar los datos de un #Bind en modo de edicion dentro de un gridview.

Buenas tardes estoy trabajando con edittemplate dentro de un gridview. E colocado un codigo como este:

<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("fec_ingreso") %>' CssClass="text_box_in_edit" ></asp:TextBox>

Dentro del <EditItemTemplate >

Todo funciona bien, pero hay un detalle, yo quiero que cuando se trata de una fecha, al momento de edicion nome presente el campo asi "16/04/2010", sino que por seguridad y para que los usuarios no comentan errores al meter fechas quiero que aparezcan 3 dropdownlist dia -- mes --fecha. No epodido conseguirlo, trate usando el evento RowEditing pero esto funciona solo cuando usas

<asp:Databound> y no funca cuando uso asp:TemplateField...

AL usar el Databound puedo conseguir ver los datos de determinado campo, pero con el template no, al parecer los datos se pierden antes del Bind y no puedo hacerlo, alguna idea ? lo agradeceria mcuho....
Saludos
  #2 (permalink)  
Antiguo 16/04/2010, 16:41
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 5 meses
Puntos: 19
Respuesta: cambiar los datos de un #Bind en modo de edicion dentro de un gridview.

Hola

Bueno, en la edición vas a tener que trabajar un poco para lograr esto. Primero que nada en el visual studio selecciona ese cambio dentro del editor (en la parte visual) de campos, selecciona tu columna y usa la opción "convertir a template".

Ahora edita el template "edit" y selecciona tu campo, veras que tiene un texbox, borralo y agrega tres combos(acá a estos combos desde el editor le podes agregar los valores tanto para el combo del mes, día y año, o podes cargarlos por código).

Ahora lo que tendrías que hacer es usar el evento "RowEditing".
Este se ejecuta antes de entrar al modo de edición, por lo tanto dentro de ese metodo tendrás que cargar cada combo, por ejemplo al primero le cargas numeros del 01 al 31 para el día, aunque podes hacerlo a mano como mencione antes). Ahora si queres que tenga seleccionado cada combo el valor por defecto que se muestra antes de editar, vas a tener que obtener la fecha para el registro que se está editando y obtener la fecha y para el combo de día le pones su valor selectedvalue para el día de la fecha que se esta editando, y así con los otros dos

Ahora para saber el registro que se está editando, el evento RowEditing tiene un parametro que te lo devuelve "e":

CustomersGridView.Rows[e.NewEditIndex].Cells[6].Text

Y con esto te podes mover para obtener un id, datakey o algo para obtener la fecha.

Esa es la idea, luego al momento de guardar podes validar por código si la fecha seleccionada es válida.

podes ver en detalle el evento RowEditing aca:

http://msdn.microsoft.com/es-es/libr...(v=VS.80).aspx
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 16/04/2010, 17:25
 
Fecha de Ingreso: octubre-2003
Ubicación: Lima
Mensajes: 319
Antigüedad: 20 años, 5 meses
Puntos: 2
Respuesta: cambiar los datos de un #Bind en modo de edicion dentro de un gridview.

Hola Trulala, gracias por contestarme, mira la dificultad mia en si es la siguientes, yo voy a poner estos 3 combos dropdownlist dia -- mes -- año. Pero como objtengo los datos para cada uno ? eso es lo que no e podido hacer. la fecha la tengo e nun campo que se llama "fec_ingreso" y la tengo como campo Date 16/04/2010, L aunica forma que vi es con el No. de indice jalarlos de la base de datos pero esto es doble trabajo para la maquina.

No hay forma como que yo haga esto ?

<asp:DropDownList ID="ddl_dia_ingreso" runat="server"
DataSourceID="AccessDataSource7" DataTextField="num" DataValueField="num" SelectedValue='<%# Bind("fec_ingreso") %>' CssClass="dropdown_nac" >

Y hacer que fec_ingreso solo me tome los dos digitos del dia ?

Vamos con eso primero, luego viene el problema de como hago para grabar la nueva fecha UPDATE en la base de datos.
  #4 (permalink)  
Antiguo 16/04/2010, 18:18
 
Fecha de Ingreso: octubre-2003
Ubicación: Lima
Mensajes: 319
Antigüedad: 20 años, 5 meses
Puntos: 2
Respuesta: cambiar los datos de un #Bind en modo de edicion dentro de un gridview.

Voy avanzandooooo, ya consegui meter dentro de cada dropdownlist el dia mes y año correspondiente:

<asp:DropDownList ID="ddl_mes_nac" runat="server"
DataSourceID="AccessDataSource6" DataTextField="letras" DataValueField="num" SelectedValue='<%# Bind("fec_nac","{0:MM}") %>' CssClass="dropdown_nac" ></asp:DropDownList>

En el ejemplo aqui es para meter el mes...
  #5 (permalink)  
Antiguo 16/04/2010, 18:54
 
Fecha de Ingreso: octubre-2003
Ubicación: Lima
Mensajes: 319
Antigüedad: 20 años, 5 meses
Puntos: 2
Respuesta: cambiar los datos de un #Bind en modo de edicion dentro de un gridview.

Auxiliooooo , ahora ya tengo las fechas en sus dropdownlist, pero como hago el UPDATE, me parece que tengo que regresar o concatenar las nuevas fechas antes de hacer el UPDATE.

Etiquetas: bind, gridview, modo, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:32.