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

datagrid editable

Estas en el tema de datagrid editable en el foro de .NET en Foros del Web. como haria para crear un datagrid editable basta con actualizar datos y cancelar la accion bueno alguien me podria guiar .......
  #1 (permalink)  
Antiguo 21/07/2005, 16:57
 
Fecha de Ingreso: julio-2005
Mensajes: 2
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta datagrid editable

como haria para crear un datagrid editable

basta con actualizar datos y cancelar la accion

bueno alguien me podria guiar ....
  #2 (permalink)  
Antiguo 22/07/2005, 12:18
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 2 meses
Puntos: 1
Bueno basta con agregarle a tu DataGrid una columna de tipo "Editar, Actualizar, Cancelar"..

Y claro, logicamente tendrías que programar sobre el updatecommand de tu datagrid para actualizar los datos y demas...

Intentalo y si te surgen errores pues nos cuentas.

Saludos.
  #3 (permalink)  
Antiguo 22/07/2005, 18:24
Avatar de davidalcaraz  
Fecha de Ingreso: abril-2005
Mensajes: 34
Antigüedad: 19 años
Puntos: 0
Yo tengo un zip

Pues yo baje un Zip que lo hace, facilito y de maravillas, pero no se de donde asi que te puedo enviar el Zip a tu correo, aunque no se como se hace por aqui.


Por otra lado aqui te va... realmente es muy sencillo
1. Primero abre una nueva webform y declara lo sigueinte
Imports System
Imports System.Data
Imports System.Data.SqlClient

2.Luego pones un datagrid y la parte mas "dificil"
(Realmente es mucho mas facil hacerlo que leer este rollo)

Entra al Generador de propiedades del datagrid con clic derecho->Vete a columas y quitale la palomita al checkbox de la parte de arriva
Ahora de la lista izquierda selecciona columna boton y toma el que dice "Edita, Actualizar y Cancelar y pasalo al lado derecho.
Ahora tienes que decirle que campos se mostraran en el grid de la misma manera,. Para cada campo toma una columna enlazada y le cambias la propiedad Campo de datos EmployeeId,firstname, Lastname y City.
Bueno ya

3.Finalmente copia todo este codigo que viene y lo pegas despues del
[Web From Designer Generated]

Por supuesto tienes que checar que la cadena de coneccion sea adecuada a los parametros de tu equipo...
Suerte...

--------------------------------------------------------------------- Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
BindGrid()
End If
End Sub

Private Sub BindGrid()
Dim cnn As SqlConnection
Dim da As SqlDataAdapter
Dim ds As New DataSet()

cnn = New SqlConnection("data source=MIEQUIPO;initial catalog=Northwind;integrated security=SSPI;persist security info=True;workstation id=MIEQUIPO;packet size=4096")
'cnn = New SqlConnection(ConfigurationSettings.AppSettings(). Item("ConnectionString"))
da = New SqlDataAdapter("select employeeid,lastname,firstname,city from employees", cnn)
da.Fill(ds, "employees")
DataGrid1.DataSource = ds
DataGrid1.DataMember = "employees"
DataGrid1.DataBind()

End Sub

Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.EditCommand
DataGrid1.EditItemIndex = e.Item.ItemIndex
Label1.Text = "Edit Item Index is " & e.Item.ItemIndex

BindGrid()
End Sub

Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.UpdateCommand
Dim cnn As SqlConnection
Dim cmd As SqlCommand

cnn = New SqlConnection("User ID=sa;Initial Catalog=Northwind;Data Source=ind-spz4dnt0388\netsdk;")
cnn.Open()
cmd = New SqlCommand()

Dim newlastname, newfirstname, newcity As String
Dim empid As Integer

empid = Integer.Parse(CType(e.Item.Cells(1).Controls(0), TextBox).Text)
newfirstname = CType(e.Item.Cells(2).Controls(0), TextBox).Text
newlastname = CType(e.Item.Cells(3).Controls(0), TextBox).Text
newcity = CType(e.Item.Cells(4).Controls(0), TextBox).Text

cmd.CommandText = "update employees set lastname='" & newlastname & "',firstname='" & newfirstname & "',city='" & newcity & "' where employeeid=" & empid
cmd.Connection = cnn
cmd.ExecuteNonQuery()
DataGrid1.EditItemIndex = -1
BindGrid()
End Sub

Private Sub DataGrid1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid1.SelectedIndexChanged

End Sub

Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.CancelCommand
DataGrid1.EditItemIndex = -1
BindGrid()
End Sub

Private Sub DataGrid1_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.DeleteCommand
Dim cnn As SqlConnection
Dim cmd As SqlCommand

cnn = New SqlConnection("User ID=sa;Initial Catalog=Northwind;Data Source=ind-spz4dnt0388\netsdk;")
cnn.Open()
cmd = New SqlCommand()

Dim newlastname, newfirstname, newcity As String
Dim empid As Integer

empid = Integer.Parse(e.Item.Cells(1).Text)
cmd.CommandText = "delete from employees where employeeid=" & empid
cmd.Connection = cnn
cmd.ExecuteNonQuery()

BindGrid()

End Sub
----------------------------------------------------------------
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 02:55.