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

Problema con DataGrid Update

Estas en el tema de Problema con DataGrid Update en el foro de ASPX (.net) en Foros del Web. Hola, estoy utilizando el control Datagrid en VB.NET; hasta ahora solo logre llegar hasta el modo de edicion; es decir que cuando selecciono una fila ...
  #1 (permalink)  
Antiguo 09/02/2006, 06:30
 
Fecha de Ingreso: mayo-2002
Mensajes: 92
Antigüedad: 22 años
Puntos: 0
Problema con DataGrid Update

Hola, estoy utilizando el control Datagrid en VB.NET; hasta ahora solo logre llegar hasta el modo de edicion; es decir que cuando selecciono una fila para editar se vuelve a cargar la grilla en modo edicion para esa fila. El problema surge cuando quiero enviar los datos a la DB; no me funciona, aparentemente no se esta ejecutanto el procedimiento My_DataGrid_Update.

Alguien sabe cuales son los errores comunes para este caso; xq yo no he podido descubrirlo aun.


SAludos. Gracias.-
  #2 (permalink)  
Antiguo 10/02/2006, 06:32
 
Fecha de Ingreso: mayo-2002
Mensajes: 92
Antigüedad: 22 años
Puntos: 0
Codigo

Hola, paso el codigo, xq aun no puedo saber que hago mal, por favor estoy empezando y los tiempos se van acabando, tome el riesgo de hacer un desarrollo en asp.NET y por ahora no pude empezar a programar. Desde ya muchas gracias.-

Script:

Sub Page_Load(Sender As Object, E As EventArgs)
BindGrid()
End Sub

Sub MyDataGrid_Edit(Sender As Object, E As DataGridCommandEventArgs)
MyDataGrid.EditItemIndex =cint(E.Item.ItemIndex)
MyDataGrid.DataBind()
End Sub

Sub MyDataGrid_Cancel(Sender As Object, E As DataGridCommandEventArgs)
MyDataGrid.EditItemIndex = -1
MyDataGrid.DataBind()
BindGrid()
End Sub


Sub MyDataGrid_Update(Sender As Object, E As DataGridCommandEventArgs)

DIM MyConnection1 As New sqlConnection( "Data Source=localhost;Initial Catalog=mediterraneo;User Id=net;Password=net;" )
Dim MyCommand As SqlCommand
Dim UpdateCmd As String = "UPDATE clientes SET razon_social ='nuevo' where id_cli=" & MyDatagrid.DataKeys(CType(E.Item.ItemIndex, string))

MyCommand = New SqlCommand(UpdateCmd, MyConnection1)
Dim rowsAffected As Integer = 0
MyConnection1.open
Try
rowsAffected =MyCommand.ExecuteNonQuery()
Finally
MyConnection1.CLOSE
End Try

MyDatagrid.EditItemIndex = -1

BindGrid()
END SUB


Sub BindGrid()
Dim SelectCommand As String = "select id_cli,razon_social,tel from clientes"
myConnection = New sqlConnection( "Data Source=localhost;Initial Catalog=mediterraneo;User Id=net;Password=net;" )
MyCommand = New SqlDataAdapter(SelectCommand, MyConnection)
DS = new DataSet()
MyCommand.Fill(DS, "clientes")

MyDataGrid.DataSource=DS.Tables("clientes").Defaul tView
MyDataGrid.DataBind()
End Sub


Esta es la Declaracion del DataGrid(sin las etiquetas de diseño):

<ASP:DataGrid id="MyDataGrid" runat="server" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel" OnUpdateCommand="MyDataGrid_Update" DataKeyField="id_cli" AutoGenerateColumns="False" EnableViewState="False">
<Columns><asp:EditCommandColumn CancelText="Cancel" UpdateText="Update" EditText="Edit"></asp:EditCommandColumn>
<asp:BoundColumn DataField="id_cli" HeaderText="id_cli" SortExpression="id_cli" ReadOnly="True"></asp:BoundColumn>
<asp:BoundColumn DataField="razon_social" HeaderText="razon_social" SortExpression="razon_social"></asp:BoundColumn>
<asp:BoundColumn DataField="tel" HeaderText="tel" SortExpression="tel"></asp:BoundColumn>
</Columns>
</ASP:DataGrid>

Saludos.-
  #3 (permalink)  
Antiguo 10/02/2006, 06:50
 
Fecha de Ingreso: marzo-2003
Mensajes: 85
Antigüedad: 21 años, 1 mes
Puntos: 1
Puede ser porque al hacer el Load estás cargando siempre el grid. Cuando la página se recarga lo primero que hace es el Page_Load y luego el evento que corresponda, el MyDataGrid_Update en este caso.

Controla con el Page.IsPostBack() si es la primera vez que se recarga la página.

Sub Page_Load(Sender As Object, E As EventArgs)
If Not Page.IsPostBack Then
BindGrid()
End If
End Sub
  #4 (permalink)  
Antiguo 23/02/2006, 08:49
 
Fecha de Ingreso: mayo-2002
Mensajes: 92
Antigüedad: 22 años
Puntos: 0
Volvi

Hola Mitico, mira ya probe hacer lo que me sugerias; pero con ese cambio ni si quiera puedo acceder al modo de edicion para la fila seleccionada. Es deci, no carga la grilla cuando doy click en el link editar de la fila correspondiente. Igual, muchas gracias.
Bueno, yo seguiré averiguando, si alguien tiene la solucion se lo agradeceria.

Saludos.-
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 23:42.