[SOLUCIONADO] problemas con un GridView para eliminar datos

Iniciado por jorgexl30, 26 Octubre 2009, 14:07 PM

0 Miembros y 2 Visitantes están viendo este tema.

jorgexl30

hola como estan bueno primero quiero agradecer al foro que es muy bueno e solucionado varios problemas .
El problema que tengo es  teng un GridView  con un boton eliminar y editar el boton eliminar lo tengo programado  y elimina el dato de la base pero la volver al GridView  lo sigo viendo hasta que vuelvo a recargar la pagina hay recien lo elimina  
e echo varias cosas pero no me resulta
aca dejo el codigo

desde antemano muchas gracias....


       <asp:GridView ID="grdprofesor" EnableViewState="false"   runat="server" AutoGenerateColumns="False" BackColor="Transparent" ForeColor="White" Caption="ASIGNATURAS POR PROFESOR" Height="81px"
        Width="661px" DataKeyNames="Id" onrowdeleting="grdprofesor_RowDeleting" >
           <Columns>
               <asp:CommandField HeaderText="SELECCIONAR" ShowSelectButton="True" />
               <asp:CommandField HeaderText="ELIMINAR"  ShowDeleteButton="True" />
               <asp:BoundField DataField="Id" HeaderText="IDENTIFICADOR" />
               <asp:BoundField DataField="Nombre_Profesor" HeaderText="NOMBRE" >
               </asp:BoundField>
                <asp:BoundField DataField="Nombre_Asignatura" HeaderText="ASIGNATURA" />
                 <asp:BoundField DataField="Nombre_Carrera" HeaderText="CARRERA" />
                  <asp:BoundField DataField="Escuela" HeaderText="ESCUELA" />    
           </Columns>
           <HeaderStyle ForeColor="White" BackColor="Blue" />
       </asp:GridView>



y el codigo  de la funcion

  Protected Sub grdprofesor_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles grdprofesor.RowDeleting
       Dim Id As Integer = Me.grdprofesor.DataKeys(e.RowIndex).Value()
     

       Dim conexión As New SqlConnection(WebConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString)
       Dim consulta As New SqlCommand("delete  FROM DETALLES_PROFESORES where Id='" & Trim(Id) & "'", conexión)

       conexión.Open()
       consulta.ExecuteReader()


       conexión.Close()
   End Sub

gracias  >:( :huh:

MANULOMM

lo que tienes que hacer es reconsultar la base de datos pues los datos siguen en memoria, la fuente de datos no ha cambiado, y recuerda siempre que hagas un cambio en la fuente de datos llamar al metodo DataBind del gridview para evitar problemas.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


jorgexl30

ok muchas gracias funciono al volver a consultar y  con lo del databind() te refieres a esto
  Dim Id As Integer = Me.grdprofesor.DataKeys(e.RowIndex).Value()

            Dim conexión As New SqlConnection(WebConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString)
            Dim consulta As New SqlCommand("delete  FROM DETALLES_PROFESORES where Id='" & Trim(Id) & "'", conexión)
            conexión.Open()
            consulta.ExecuteReader()
            Me.grdprofesor.DataBind()
            conexión.Close()

si es asi muchas gracias el problema que me da si es que al borrar el ultimo registro da un error de intervalo aunque este con masdartos el griedview ???

MANULOMM

no exactamente, el metodo databind es cuando consultas solamente, que dice asi:

DataGridView1.DataSoude = Objeto;
DataGrdiView1.DataBind();


con esto rearmas el grid, esto ocurre con todos los controles de datos, DropDownList, ListView, FormView, DetailsView. etc.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


jorgexl30

a ok lo lo  solucionado gracias al foro  muchas gracias
pero   haora estoy con otro problema  tengo una pagina default.aspx y la logearme cuando estoy registrado  la redirecciono a otra pagina que se llama menu con un  Response.Redirect("menu.aspx")

pero en la url me sale
http://localhost:1380/default.aspx?ReturnUrl=%2fmenu.aspx
se supone que  tiene que salir

http://localhost:1380/menu.aspx 
ojala me puedas ayudar gracias de antemano

MANULOMM

nuevo hilo.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia