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

Ayuda con gridView y textbox

Estas en el tema de Ayuda con gridView y textbox en el foro de .NET en Foros del Web. Hola buenas: bueno esta es mi duda tengo: gridView1 textBox1 textBox2 botonIngresar botonGuardar lo primero que quiero hacer es: en textbox1 y 2 agregar datos ...
  #1 (permalink)  
Antiguo 06/10/2010, 07:56
 
Fecha de Ingreso: septiembre-2010
Mensajes: 27
Antigüedad: 13 años, 6 meses
Puntos: 0
Ayuda con gridView y textbox

Hola buenas:
bueno esta es mi duda
tengo:
gridView1
textBox1
textBox2
botonIngresar
botonGuardar

lo primero que quiero hacer es:
en textbox1 y 2 agregar datos

al apretar el botonIngresar, los datos puestos en los textbox pasen al gridView y se muestren ahi

y al apretar el botonGuardar pasar los datos del gridView a una base de datos

no se si fui lo suficientemente claro
de antemano muchas gracias
PS: estoy trabajando en visualbasic 2005 asp.net
  #2 (permalink)  
Antiguo 07/10/2010, 07:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 13
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con gridView y textbox

seria algo asi: en el evento clic del boton Ingresar pones lo siguiente, Me.gridView.Rows.Add(Me.txtbox1.text.trim, me.txtbox2.text.trim) (el orden de los textBox dentro de los parentesis depende del orden en que tengas las columnas y el trim es solo para cortar los espacicos en blanco).
Para agregar a una base de datos es algo más complicado. Tenés que hacer un ciclo while o for para agregar todas las filas que tengas en la grilla. Tenés ya la base de datos creada,? que motor estas usando?, Hiciste el string de conexión? sabés como hacer el enlace con la base de datos para mandarle la instruccion Insert?
  #3 (permalink)  
Antiguo 07/10/2010, 09:02
 
Fecha de Ingreso: septiembre-2010
Mensajes: 27
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con gridView y textbox

Cita:
Iniciado por luisms Ver Mensaje
seria algo asi: en el evento clic del boton Ingresar pones lo siguiente, Me.gridView.Rows.Add(Me.txtbox1.text.trim, me.txtbox2.text.trim) (el orden de los textBox dentro de los parentesis depende del orden en que tengas las columnas y el trim es solo para cortar los espacicos en blanco).
Para agregar a una base de datos es algo más complicado. Tenés que hacer un ciclo while o for para agregar todas las filas que tengas en la grilla. Tenés ya la base de datos creada,? que motor estas usando?, Hiciste el string de conexión? sabés como hacer el enlace con la base de datos para mandarle la instruccion Insert?
Hola gracias por responder mira, tomando lo que me escribiste mas algunas otras cosas que había encontrado por ahí hice esto:

En la clase de la pagina puse esto:
Código:
Dim rwLinea As DataRow
           Dim tblRamEns As New DataTable()
En el load de la pagina, esto:
Código:
Me.MaintainScrollPositionOnPostBack = True
        tblRamEns.Columns.Add("Dato1")
        tblRamEns.Columns.Add("Dato2")
        rwLinea = tblRamEns.NewRow
        rwLinea("Dato1") = TextBox1.Text.Trim
        rwLinea("Dato2") = TextBox2.Text.Trim
En la funcion click del boton, esto:
Código:
        tblRamEns.Rows.Add(rwLinea)
        GridView1.DataSource = tblRamEns
        GridView1.DataBind()
y con eso me agrega los datos que pongo,
pero el problema es el siguiente, cuando quiero poner nuevos datos, estos me borran los antiguos y el gridview me muestra sólo los que añadí al ultimo

como puedo solucionar eso, he tratado con variables session pero no entiendo bien como ocuparlas

en cuanto a la base de datos ...se llama "prueba" y la tabla "tabla"
Dim conexion As String = "Data Source="ip servidor";Initial Catalog=prueba;User Id=user;Password=pass;"

estoy trabajando con sqlServer 2008

de antemano muchas gracias
  #4 (permalink)  
Antiguo 07/10/2010, 10:54
 
Fecha de Ingreso: septiembre-2010
Mensajes: 27
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con gridView y textbox

ya lo logre porfin jajaja....
ahora a pasar de base de gridview a una base de datos

Código:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            table = New System.Data.DataTable()
            table.Columns.Add("id_padre", GetType(System.String))
            table.Columns.Add("nombre_p", GetType(System.String))
            'table.Columns.Add("edad_p", GetType(System.String))
            'table.Columns.Add("ocupacion", GetType(System.String))
            Session.Add("Tabla", table)

        End If
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        table = (Session("Tabla"))
        row = table.NewRow()
        row("id_padre") = TextBox1.Text
        row("nombre_p") = TextBox2.Text
        'row("edad_p") = TextBox3.Text
        'row("ocupacion") = TextBox4.Text
        table.Rows.Add(row)
        GridView1.DataSource = table
        GridView1.DataBind()
        Session.Add("Tabla", table)
    End Sub
e ai la respuesta por si alguien la necesita
gracias a los que me aportaron
  #5 (permalink)  
Antiguo 07/10/2010, 10:57
 
Fecha de Ingreso: octubre-2010
Mensajes: 13
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con gridView y textbox

Bueno, yo haria una clase que se llame AccesoADatos o algo por el estilo, para separar en capas.

Código:
Public Class accesoADatos

    Dim conexion As New Data.OleDb.OleDbConnection
    Dim cmd As New Data.OleDb.OleDbCommand
    Dim stringConexion As String = "to string de conexion"

    Public Sub New()
    End Sub

    Public Sub New(ByVal stringConexion As String)
        Me.stringConexion = stringConexion
    End Sub

Public Sub guardarEnTabla(ByVal consulta As String)
        Me.conexion.ConnectionString = stringConexion
        Me.conexion.Open()
        Me.cmd.Connection = conexion
        Me.cmd.CommandType = CommandType.Text
        Me.cmd.CommandText = consulta
        cmd.ExecuteNonQuery()
        Me.conexion.Close()
    End Sub
end class
si vas a guardar cuando preciones el boton Guardar y no querés verificar cuales son los datos que agregaste a la grilla y cuales ya estaban guardados de antemano, borrá todo y volve a insertar lo que está

Código:
dim conexion as new AccesoADatos
dim i as integer =0
dim consulta as String =""
consulta= "delete from Tabla"
conexion.guardarEnTabla(consulta)
for i to me.gridview.rows.count-1   '-1 porque cuenta el encabezado tambien
consulta= insert into Tabla values('" & me.gridView.rows(i).cell(0).value.ToString & "','" & me.gridView.rows(i).cell(1).value.ToString )
conexion.guardarEnTabla(consulta)
Next i
Respecto a la grilla yo no utilizaría una tabla, sino que trabajaría directamente sobre la grilla. En el load cargas los datos que la tabla ya tenía y despues vas agregando una fila por vez con el rows.add(columna1, columna2) en el evento del boton, total depués agregas todo de una sola vez a la base de datos .

Espero te haya ayudado, hace mucho no programo en .net a lo mejor no estoy en lo cierto, pero espero que al menos te guíe un poco. Cualquier cosa avisame

Saludos
  #6 (permalink)  
Antiguo 07/10/2010, 14:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 27
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con gridView y textbox

Cita:
Iniciado por luisms Ver Mensaje
Bueno, yo haria una clase que se llame AccesoADatos o algo por el estilo, para separar en capas.

Código:
Public Class accesoADatos

    Dim conexion As New Data.OleDb.OleDbConnection
    Dim cmd As New Data.OleDb.OleDbCommand
    Dim stringConexion As String = "to string de conexion"

    Public Sub New()
    End Sub

    Public Sub New(ByVal stringConexion As String)
        Me.stringConexion = stringConexion
    End Sub

Public Sub guardarEnTabla(ByVal consulta As String)
        Me.conexion.ConnectionString = stringConexion
        Me.conexion.Open()
        Me.cmd.Connection = conexion
        Me.cmd.CommandType = CommandType.Text
        Me.cmd.CommandText = consulta
        cmd.ExecuteNonQuery()
        Me.conexion.Close()
    End Sub
end class
si vas a guardar cuando preciones el boton Guardar y no querés verificar cuales son los datos que agregaste a la grilla y cuales ya estaban guardados de antemano, borrá todo y volve a insertar lo que está

Código:
dim conexion as new AccesoADatos
dim i as integer =0
dim consulta as String =""
consulta= "delete from Tabla"
conexion.guardarEnTabla(consulta)
for i to me.gridview.rows.count-1   '-1 porque cuenta el encabezado tambien
consulta= insert into Tabla values('" & me.gridView.rows(i).cell(0).value.ToString & "','" & me.gridView.rows(i).cell(1).value.ToString )
conexion.guardarEnTabla(consulta)
Next i
Respecto a la grilla yo no utilizaría una tabla, sino que trabajaría directamente sobre la grilla. En el load cargas los datos que la tabla ya tenía y despues vas agregando una fila por vez con el rows.add(columna1, columna2) en el evento del boton, total depués agregas todo de una sola vez a la base de datos .

Espero te haya ayudado, hace mucho no programo en .net a lo mejor no estoy en lo cierto, pero espero que al menos te guíe un poco. Cualquier cosa avisame

Saludos
Tu guía me a servido, muchas gracias... seguire tus consejos y te dire como me fue
de antemano muchas gracias

Etiquetas: gridview, textbox
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 06:40.