Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Columnas en Datagrid

Estas en el tema de Columnas en Datagrid en el foro de Visual Basic clásico en Foros del Web. Buen dia para todos....quisiera solicitar su ayuda para lo siguiente:, resulta que ya le logrado que cuando selecciona una opción de un datacombo (lista deplegable) ...
  #1 (permalink)  
Antiguo 23/08/2007, 10:34
 
Fecha de Ingreso: julio-2003
Ubicación: Bucaramanga - Santander - Colombia
Mensajes: 41
Antigüedad: 20 años, 9 meses
Puntos: 1
Columnas en Datagrid

Buen dia para todos....quisiera solicitar su ayuda para lo siguiente:, resulta que ya le logrado que cuando selecciona una opción de un datacombo (lista deplegable) me muestre una determinada consulta en un datagrid, el asunto esta en como puedo hacer para que en el datagrid pueda ver mas columnas aparte de las que me trae el recordset (que solo me trae una columna... la de la consulta) pero necesito otras dos columnas en blanco para poder ingresar algunos datos...

espero me entienda...y puedan ayudarme..

Att

Gusvilla
  #2 (permalink)  
Antiguo 27/08/2007, 17:05
 
Fecha de Ingreso: julio-2003
Ubicación: Bucaramanga - Santander - Colombia
Mensajes: 41
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Columnas en Datagrid

Alguien me puede dar una pista por fa...o si me pueden sugerir algun otro control para hacer este procedimiento......he encontrado algo pero para .NET y yo lo necesito para visul basic: ya no se donde mas buscar....ayuda...
  #3 (permalink)  
Antiguo 28/08/2007, 01:26
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: Columnas en Datagrid

Hola

No se que es lo que quieres hacer, pero me parece que si asocias un grid a un recordset, siempre te va a poner tantas columnas como tenga el recordset.

Con las columnas extra que añades no vas a guardar sus datos es una tabla?, si vas a guardarlas en una tabla, tal vez tengas que añadir esos campos al recordset para que aparezcan en el DataSet, y si quieres modificarlos poner la propiedad AllowUpdate a True.

Si no quieres que las columnas extra tengan relación alguna con el recordset, tal vez tendrías que rellenar el Datagrid o en su defecto utilizar un MSHFlexGrid y recorrer todo el recordset con un For e ir rellenando todas las celdas.

Define un poco mejor lo que quieres hacer por si te puedo ayudar mas.

--Saludos--
  #4 (permalink)  
Antiguo 28/08/2007, 06:48
 
Fecha de Ingreso: julio-2003
Ubicación: Bucaramanga - Santander - Colombia
Mensajes: 41
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Columnas en Datagrid

Bueno en primer lugar gracias por tu respuesta Insomnia,,, ya veo una voz de ayuda, tienes razon en cuanto a que cuando asocio el datagrid al recorset me trae solo las columnas que tiene el recorset y es ahi donde necesito agregar dos columnas mas al datagrid para poder ingresar mas datos que el usuario digite y guardarlos en otra tabla, es algo como lo siguiente:

LOTE .....ENTRADAS .......SALIDAS
12A ..........1500 .............500
12B ......... 3500 .............2500
16A ..........1100 ............1500
16B ..........1000 .............1100
20A ......... 500 ..............300

Lo que esta en color negro es lo que me trae el recorset y lo de color rojo es lo que quiero que pase, (los puntos suspensivos solo solo para darle orden aqui a la tabla) para luego guardar todas las tres colomnas en una tabla diferente.....

bueno como tu dices intente agregando las columnas al recorset de esta forma "Select LOTE, NULL AS ENTRADA, NULL AS SALIDAS from LOTES where (condicion)" y funciona pero las columnas me quedan como bloqueadas porque no puedo digitar ningun dato en ellas....espero me puedas dar una ayuda o si tienes alguna sugerencia o ejemplo para utiilzar otro control como tu dices el MSHFlexGrid....gracias...
  #5 (permalink)  
Antiguo 28/08/2007, 07:34
 
Fecha de Ingreso: octubre-2006
Mensajes: 139
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: Columnas en Datagrid

Hola : Puede ser que no entienda bien tu problema, pero te menciono lo siguiente:
Yo tengo un DataGrid , el cuál esta asociado a una consulta SQL, y si bien me trae todos los registros del Recordset , en el Datagrid solo indico que columnas deseo que me muestre, de ese modo me muestra lo que me interesa.
Lo realizo con la página de propiedades del Datagrid , para eso click derecho sobre el Datagrid , luego Modificar , luego click derecho nuevamente y agregar o Eliminar columnas.
Cada columna puede estar asociada a un Datafield , claro que primero el datasource del Datagrid a un control Ado
  #6 (permalink)  
Antiguo 29/08/2007, 01:03
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: Columnas en Datagrid

Hola

Lo mejor en ese caso es incluir los registros en el recordset, en tu ejemplo dices que los datos que escribe el usuario se guardan en otra tabla distinta y luego en la select pones como si todos los campos estuviesen en una misma tabla. Si los campos están en tablas distintas la select tiene que incluir un Inner Join.

De todas formas, y teniendo en cuenta que la sentencia select es correcta, lo que tienes que hacer es: en las propiedades del DataGrid poner AllowUpdate a True y asegurarte de no abrir el recordset en modo adLockReadOnly (que no permite escribir), yo suelo abrirlo como adLockOptimistic.

Con estas dos cosas no tendrías que tener ningún problema a la hora de escribir en el DataGrid y la inserción de los datos sería automática. Si te hace falta un ejemplo, coméntamelo.

--Saludos--
  #7 (permalink)  
Antiguo 29/08/2007, 08:08
 
Fecha de Ingreso: julio-2003
Ubicación: Bucaramanga - Santander - Colombia
Mensajes: 41
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Columnas en Datagrid

Buen dia para todos...bueno voy a realizar algunas aclaraciones para que me puedan ayudar....bueno lo que yo quiero es traer a un datagrid una sola columna donde me muestre unos datos que tengo guardados en una tabla, (estos datos le serviran de refencia al usuario para saber a quien debe asignarle una entrada y una salida)....esta parte ya funciona pues enlace el grid a un recorset con la consulta respectiva.......

ahora, lo que adicionalmente necesito es que el datagrid tenga dos columnas mas donde el usuario pueda ingresar algunos datos como son Entradas y Salidas, para luego mediante un boton guardar, guarde todas las tres columnas en una tabla diferente....la siguiente sentencia SQL Select LOTE, NULL AS ENTRADA, NULL AS SALIDAS from LOTES where (condicion)" , la escribi ya que me sugirieron que agregara las otras dos columnas al recorset pero cuando lo hago las columnas quedan bloquedas, a pesar de que en las propiedades del datagrid AllowUpdate esta en True y estoy abriendo el recordset en modo adLockOptimistic.

Si me pueden sugerir alguna otra forma de hacer este procedimiento, les agradeceria....

Gracias...
  #8 (permalink)  
Antiguo 30/08/2007, 01:07
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: Columnas en Datagrid

Hola

Pues la verdad no se me ocurre cual puede ser la razón, te pongo el código que utilizo yo y que me funciona perfectamente.

Código:
    Dim cnnExterna As New ADODB.Connection
    Dim rstExterno As New ADODB.Recordset
    Dim reg As New ADODB.Recordset
    Dim strSQL As String
    Dim ruta As String
    
    ruta = App.Path & "\prueba.mdb"
    
    strSQL = "Select * from tbl_datos"
    
    cnnExterna.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ruta & ";Persist Security Info=False"
    rstExterno.CursorLocation = adUseClient
    rstExterno.Open strSQL, cnnExterna, adOpenDynamic, adLockOptimistic
    
    Set grd_datos.DataSource = rstExterno
    grd_datos.AllowUpdate = True
--Saludos--
  #9 (permalink)  
Antiguo 30/08/2007, 08:57
 
Fecha de Ingreso: julio-2003
Ubicación: Bucaramanga - Santander - Colombia
Mensajes: 41
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Columnas en Datagrid

Comprendo Insomnia, que te parece si en tu linea de codigo donde tienes la consulta (strSQL = "Select * from tbl_datos") la colocas de la siguiente manera y me comentas si te funcionan bien las nuevas columnas:

strSQL = "Select campo1, Null as ENTRADAS, Null as SALIDAS from tbl_datos"

Campo1, es una columna de tu tabla tbl_datos, lo demas lo dejas igualito,
  #10 (permalink)  
Antiguo 31/08/2007, 01:12
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: Columnas en Datagrid

Hola

En principio con cambiar la select sería suficiente, pero para hacer esa prueba necesitaría tu base de datos, te envío un privado con mi dirección de email por si quieres enviarme la base de datos o mejor todo tu proyecto para que mire a que puede deberse el error.

--Saludos--
  #11 (permalink)  
Antiguo 12/09/2007, 06:11
 
Fecha de Ingreso: julio-2003
Ubicación: Bucaramanga - Santander - Colombia
Mensajes: 41
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Columnas en Datagrid

Que tal Insomnia, pues bien te envie un correo con algunos inquietudes que tengo respecto al codigo que me enviaste espero lo recibieras....y para los demas participantes, si alguno de ustedes tiene algun ejemplo de aplicaciones donde trabajen con datagrid y access,,,, les agradeceria me las facilitaran o si conocen de algun tutorial en espanol para el manejo del TrueDBgrid...

De antemano gracias..
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 02:30.