Foros del Web » Programación para mayores de 30 ;) » .NET »

Todo el Datagrid en modo de edicion

Estas en el tema de Todo el Datagrid en modo de edicion en el foro de .NET en Foros del Web. Hola otra vez, como puedo hacer para que todas las filas del datagrid esten en modo de edición? la unica forma que a mi se ...
  #1 (permalink)  
Antiguo 05/04/2005, 15:38
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 8 meses
Puntos: 1
Todo el Datagrid en modo de edicion

Hola otra vez, como puedo hacer para que todas las filas del datagrid esten en modo de edición?
la unica forma que a mi se me ocurre es tener un grid y colocar en el itemtemplatecomlumn un
control textbox de forma que siempre pueda editar todas sus filas, pero ademas tendría otro
datagrid el cual simplemente mostraría la informacion, entonces cuando el usuario haga click
en un boton de editar activo el grid que tiene los textbox y cuando guarde los cambio vuelvo
a mostrar en pantalla el datagrid que solo muestra informacion de esa forma dara la impresion
de que todas las filas estan en modo de edicion. Hay alguna otra forma de hacer esto?
Ahh tengo que hacerles saber que estoy trabajando con Web Forms. Muchas gracias...
  #2 (permalink)  
Antiguo 06/04/2005, 08:52
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Puedes hacerlo de 2 formas:

1.- Colocando la propiedad de tu grid AutoGenerateColumns=True para que te muestre todos tus campos y colocar una columna de tipo edición:
Cita:
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn>
</Columns>
Y en el code en el evento EditCommand asignarle la fila seleccionada:

Cita:
Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.EditCommand
DataGrid1.EditItemIndex = e.Item.ItemIndex
DataGrid1.DataSource = Bind()
DataGrid1.DataBind()


End Sub
2.- Es usar templante columns, y cada uno con su itemtemplate y edititemtemplate para colocar el control que deseas mostrar en modo edicion..

Depende de como y que es lo que vas a hacer.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 06/04/2005, 09:36
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 8 meses
Puntos: 1
Hola RootK muchas gracias por responder, mira creo que no me explique muy bien que es lo que quiero.
Necesito colocar todas las filas del datagrid en modo de edicion, es decir que pueda editar todas las
filas al mismo tiempo. Es algo como lo que puedes ver en esta url:

http://www.microsoft.com/spanish/msd...vercontrol.asp

Solo que yo necesito en principio tener el datagrid cargado digamos de forma normal, y que cuando el usuario
haga click sobre un boton "Editar" todas las filas del datagrid se pongan en forma de edicion, ese boton no estaria
en el datagrid, seria un Command Button que haria que pueda editar todas las filas al mismo tiempo.
Pero como tu ves en la url que te mande, lo que hacen es colocar un control textbox en el itemtemplate del datagrid,
pero yo no necesito tenerlo todo el tiempo asi, sino solamente cuando el usuario vaya a editar los datos.

Por eso decia que una opcion pudiera ser tener dos datagrids, uno que es el que va a mostrar la informacion y el otro
el que va a mostrar todas las filas en modo de edicion, pero en realidad queria saber si es posible hacer esto de otra
forma sin hacer digamos esa "trampita". Bueno muchas gracias...

Ahh me acabo de dar cuente de que cuando pinchas sobre el enlace te lleva a una página que no existe, eso es porque al final
esta dejando un espacio en la extencion control .asp y es control.asp. Chao

Última edición por Vanessita; 06/04/2005 a las 09:42
  #4 (permalink)  
Antiguo 06/04/2005, 09:49
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Vanessita, no me abrio el link que me mandaste... podrías checarlo para poderle echar un ojo..??

Salu2
  #5 (permalink)  
Antiguo 06/04/2005, 13:16
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 8 meses
Puntos: 1
RootK lo que pasa es que al final que de un espacio en la extencion .asp asi servercontrol .asp, entonces por fa lo copias y luego lo acomodas para que quede servercontrol.asp. Chao...
  #6 (permalink)  
Antiguo 06/04/2005, 13:50
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 10 meses
Puntos: 7
Me imagino que se refiere a este link:
http://msdn.microsoft.com/library/de...verControl.asp
hay algo parecido en esta dirección tambien:
http://www.palehorse.net/DesktopDefa...120&tabindex=1
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #7 (permalink)  
Antiguo 07/04/2005, 09:26
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 20 años, 2 meses
Puntos: 2
Con el control DataGrid solo puedes editar una fila a la vez, no creo que haya alguna
"técnica" de programación que te permita hacer esto, alguien la conoce? tal vez en este
caso tu solución sea la única alternativa alguien tiene otra?. Saludos...
  #8 (permalink)  
Antiguo 08/04/2005, 06:20
 
Fecha de Ingreso: diciembre-2001
Mensajes: 150
Antigüedad: 22 años, 10 meses
Puntos: 1
Hola a todos,

Eso de que con el control DataGrid unicamente se puede modificar una fila no es correcto del todo.

El segundo ejemplo que indica xknown es muy bueno y permite modificar todo el DataGrid y actualizarlo de una sola vez.

Felicidades a su autor

Korrikalari
  #9 (permalink)  
Antiguo 08/04/2005, 08:28
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 20 años, 2 meses
Puntos: 2
Cita:
Iniciado por Korrikalari
Eso de que con el control DataGrid unicamente se puede modificar una fila no es correcto del todo.
mmm, bueno de hecho si lo es. Cuando dije que solo puedes editar una fila a la vez me refiero a lo siguiente: si tienes un datagrid cargado que no está en modo de edición no puedes establecer todas y cada una de sus filas a modo de edición de forma que puedas editarlas todas a la vez, tal y como si lo puedes hacer con el control DataGrid de Winforms.
Respecto al ejemplo que dejó xknown, ok realmente lo que hacen es colocar en la plantilla itemtemplate del control DataGrid un TextBox, de forma que da la "impresión" de que todas las filas están en modo de edición.

En conclusión, establecer todas las filas del control datagrid a la vez a modo de edición no es posible, para lograr esto tienes que ingeniarte algo para logar un efecto que se parezca a lo que sí puedes hacer trabajando con WinForms. Saludos...
  #10 (permalink)  
Antiguo 08/04/2005, 13:15
 
Fecha de Ingreso: abril-2005
Mensajes: 1
Antigüedad: 19 años, 7 meses
Puntos: 0
vanesita trata de colocar en el datagrid editable=false y luego con un boton de actualizar lo colocas en editable = true
espero que te funcione
  #11 (permalink)  
Antiguo 14/09/2010, 14:51
 
Fecha de Ingreso: noviembre-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Todo el Datagrid en modo de edicion

bueno yo tengo un caso igual lo unico es que estoy usando una radgrid de telerik, pero creao que es igual yo lo que hago es recorrer toda la grilla y por cada fila pongo en edicion los campos que necesito que como dicen debe ser un templatecolumn y tener un item template.
foreach (Telerik.Web.UI.GridDataItem item in grdDetallesGuiasInstrumental.Items)
{
if (!String.IsNullOrEmpty(item["Numero"].Text.Trim()))
{
(((RadNumericTextBox)(item.FindControl("Cantidad") ))).Enabled = true;
((CheckBox)(item.FindControl("chkEntregado"))).Ena bled = true;
((CheckBox)(item.FindControl("chkIncompleto"))).En abled = true;
((RadTextBox)(item.FindControl("txtObservacion"))) .Enabled = true;
//((Button)grdDetallesGuiasInstrumental.FindControl( "btnGuardarTodos")).Visible = true;
}

}
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 13:49.