Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   Edición, Actualización y Eliminación de filas en un DataGrid en asp.net (https://www.clubdelphi.com/foros/showthread.php?t=12324)

mamen 13-07-2004 12:34:44

Edición, Actualización y Eliminación de filas en un DataGrid en asp.net
 
Me gustaria saber si existe la posibilidad de tener en una página asp.net en lugar del datagrid con las columnas edición y eliminación para cada fila, un botón edición que según la fila seleccionada edite en otro formulario todos los campos de dicha fila.

Lo he intentado pero hacer pero el problema está en que no sé como pasarle el parámetro e: System.Web.UI.WebControls.DataGridCommandEventArgs que se pone directamente en el Evento EditCommand del DataGrid.

Espero respuestas. Muchas gracias por todo. Chao

__hector 13-07-2004 21:34:45

Puedes programar el evento onclick del item de la fila, para que haga la accion que deseas. Por ejemplo:

Código PHP:

<asp:datagrid id="grid" runat="server" Width="549px" SelectedItemStyle-ForeColor="#ffffff" AutoGenerateColumns="False" PageSize="30" AllowPaging="True">
                                            <
SelectedItemStyle Font-Size="8pt" Font-Underline="True" Font-Names="tahoma" 
Font-Bold="True" HorizontalAlign="Center" ForeColor="Red" BackColor="Beige"></SelectedItemStyle>
                                            <
EditItemStyle HorizontalAlign="Center"></EditItemStyle>
                                            <
AlternatingItemStyle Font-Size="8pt" Font-Names="Tahoma" HorizontalAlign="Center" BackColor="#EDF6FF"></AlternatingItemStyle>
                                            <
ItemStyle Font-Size="8pt" Font-Names="tahoma" HorizontalAlign="Center" BackColor="White"></ItemStyle>
                                            <
HeaderStyle Font-Size="8pt" Font-Names="tahoma" Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="SteelBlue"></HeaderStyle>
                                            <
Columns>
                                                <
asp:TemplateColumn HeaderText="Acción">
                                                    <
HeaderStyle Width="15%"></HeaderStyle>
                                                    <
ItemStyle BackColor="#C6DCEE"></ItemStyle>
                                                    <
ItemTemplate>
                                                        <
asp:ImageButton id="_Imagebutton1" OnClick="Consultar" runat="server" AlternateText="Consultar datos" ImageUrl="images/Ver.gif" 
CommandName='<%#container.dataitem("SolicitudEmpleoID")%>'>
</
asp:ImageButton>
</
ItemTemplate>
</
asp:TemplateColumn>
<
asp:BoundColumn DataField="Numero" HeaderText="No.">
<
HeaderStyle Width="6%"></HeaderStyle>
</
asp:BoundColumn>
...
...

</
asp:datagrid

Luego, solo tienes que programar un sub en el .pas con el nombre del procedimiento que especificaste en el onclick, que reciba los parametros del tipo de objeto que manda el evento:

Código:

Public Sub Consultar(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
.....
End Sub

Tienes un sender, que es de tipo Object, y que por ser en este caso un imagebutton tiene una propiedad, commandname, que la seteamos con el id del registro al momento de llenar el grid en el aspx.

Dudas?

mamen 14-07-2004 11:27:44

En primer lugar no entiendo por qué hay que poner un ImageButton en el datagrid.

Y en segundo lugar yo necesito el parámetro

e:System.Web.UI.WebControls.DataGridCommandEventArgs

que es donde puedo obtener los valores de las columnas de la fila seleccionada en el datagrid.

Con tus parámetros cómo podria obtener los valores del datagrid?? No se los pasas al evento onclick??

__hector 14-07-2004 21:22:51

Muestrame el codigo que estas usando, y yo vere si te puedo dar el codigo equivalente para obtener el resultado deseado.

mamen 15-07-2004 09:51:27

Este es el código aspx del datagrid:

Código PHP:

<asp:datagrid id=DataGrid3
      style
="Z-INDEX: 15; LEFT: 30px; POSITION: absolute; TOP: 206px"
      
runat="server" height="134px" width="940px"
      
font-size="X-Small" oneditcommand="cmEdit"
      
bordercolor="DodgerBlue" autogeneratecolumns="False"
      
allowpaging="True" pagesize="5"
      
pagestyle-horizontalalign="Center"
      
oncancelcommand="cmCancel" onupdatecommand="cmUpdate">
   <
headerstyle font-bold="True" horizontalalign="Center"
       
backcolor="LightSteelBlue">
   </
headerstyle>
   <
selecteditemstyle backcolor="Lavender">
   </
selecteditemstyle>
   <
itemstyle horizontalalign="Center">
   </
itemstyle>
   <
columns>
  <
asp:boundcolumn datafield="ape_nom" headertext="NOMBRE">
  </
asp:boundcolumn>
  <
asp:boundcolumn datafield="n_contrib" readonly="True"
       
headertext="CONTRIBUYENTE">
  </
asp:boundcolumn>
  <
asp:boundcolumn datafield="c_pais" headertext="PAIS">
  </
asp:boundcolumn>
  <
asp:boundcolumn datafield="c_prov" headertext="PROVINCIA">
  </
asp:boundcolumn>
  <
asp:boundcolumn datafield="c_mpio" headertext="MUNICIPIO">
  </
asp:boundcolumn>
  <
asp:boundcolumn datafield="c_via" headertext="COD VIA">
  </
asp:boundcolumn>
  <
asp:buttoncolumn text="Seleccionar" commandname="Select">
  </
asp:buttoncolumn>
  <
asp:editcommandcolumn buttontype="LinkButton"
          
updatetext="Actualizar" canceltext="Cancelar"
          
edittext="Edición">
  </
asp:editcommandcolumn>
  <
asp:buttoncolumn text="Eliminar" commandname="Delete">
  </
asp:buttoncolumn>
   </
columns>
 </
asp:datagrid>

El código de cmEdit es el siguiente:
 
procedure TWebPrincipal.cmEdit(sourceSystem.ObjecteSystem.Web.UI.WebControls.DataGridCommandEventArgs);
begin
  DataGrid3
.EditItemIndex :=e.Item.ItemIndex;
  
DataGrid3.DataSource:=fo.ObtenerDatos(usuarioactual);
  
DataGrid3.DataBind;

end

Cuando se pincha en Editar lo que hace es poner en cada columna cuadros de texto (esto permite que se puedan modificar) y cambia el enlace Editar por Actualizar y Cancelar.

mamen 18-08-2004 11:48:31

Hola a todos!!! Me puedes ayudar ya te mostré el código.

Muchas gracias. Espero tu respuesta

patof 18-04-2007 17:20:29

como rescato el valor de CommandName en el sub.

Public Sub Consultar(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)

????????????????????????

End Sub

Ubalo 17-05-2007 00:00:19

obtener datos de un treeview
 
Hola a todos!
se que este tema no tiene nada q ver pero talvez me puedan ayudar.

Estoy empezando en esto de Asp.NET, mi problema es este:
Tengo un TreeView el cual tengo que manipular mediante Javascript pero no he podido obtener el valor del nodo seleccionado.

he probado codigo como este

var
oTree=document.getElementById("TreeView1");
var value=oTree.SelectedNode();

que estoy haciendo mal? ya que el error que me indica es que no soporta esta propiedad.

Gracias por su ayuda


La franja horaria es GMT +2. Ahora son las 20:49:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi