• Miércoles 30 de Octubre de 2024, 10:30

Autor Tema:  Re: Flexgrid  (Leído 18245 veces)

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Flexgrid
« en: Viernes 8 de Octubre de 2004, 00:39 »
0
HOLA CHICOS DE SOLOCODIGO, RECIEN ESTOY EMPEZANDO A USAR ESTE CONTROL, ME PARECE BUENO, QUISIERA APRENDER A AGREGAR MAS DATOS EN EL SIGUIENTE CAMPO, PUEDO AGREGAR 1 PERO NO PUEDO PASAR DE ESTE, COMO PUEDO HACER ESTO.
NO SE SI ME EXPLICO
EJM:
TENGO EN 1,1 EL DATO "HOLA MUNDO"
COMO HAGO PARA AGREGAR EN EL CAMPO 1,2 O 2,1 Y ASI SUCESIVAMENTE
GRACIAS CHAO
El pasado son solo recuerdos, el futuro son solo sueños

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Flexgrid
« Respuesta #1 en: Viernes 8 de Octubre de 2004, 11:03 »
0
primero pones el valor de la var Col del control msflexgrid, numero de columnas que tendrá el control.

Yo suelo dejar la linea 0, osea Row, para títulos. para meter datos se usa el controlgrid.textmatrix(linea,col)=a text o num, es =.

ten cuidado tanto si no existe la linea como si cno existe la col te dara un error irrecuperable y se bloqueará.

en el VB5 no admitia campos NULL, otra cosa a tener en cuenta, procura meter todo como text osea:

texto
tabla1.textmatrix(editalinea,editacol)=  "" & VAR así evitas el Null

numerico
tabla1.textmatrix(editalinea,editacol)=  "" & str(VAR)

Espero haberte podido ayudar. Salu2.

Te adjunto un ejemplo de como hago los msflesgrid.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Mi mujer tiene un físico bárbaro!!!. Einstein.

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Flexgrid
« Respuesta #2 en: Viernes 8 de Octubre de 2004, 16:17 »
0
Private Sub Form_Load()
'Defino la grilla de 5 columnas
MSFlexGrid1.Cols = 5
'Defino la grila de 1 fila (la del titulo)
MSFlexGrid1.Rows = 1
'Me posiciono en la fila 0, del titulo
MSFlexGrid1.Row = 0
'Recorro todas las columnas, y le agrego titulo
For i = 0 To 4
   'Me ubico en la columna
   MSFlexGrid1.Col = i
   'Le doy el ancho a la columna
   MSFlexGrid1.ColWidth(i) = 1000
   'Le inserto el texto
   MSFlexGrid1.Text = "Col" & i
   'Centro el texto
   MSFlexGrid1.CellAlignment = 3
Next i
'Ahora recorro toda la grilla, agregando texto
For i = 1 To 10
    'Aumento en 1 la cantidad de filas de la grila
    MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
    'Me posiciono en la ultima fila insertada
    MSFlexGrid1.Row = i
    For j = 0 To 4
        'Me ubico en la columna j
        MSFlexGrid1.Col = j
        'Inserto el texto
        MSFlexGrid1.Text = "R=" & i & " C=" & j
    Next j
Next i
End Sub

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Flexgrid
« Respuesta #3 en: Viernes 8 de Octubre de 2004, 17:38 »
0
En resumen:

Es como manejar un Array (o matriz), donde puedes utilizar la propiedad TextMatrix(fila, columna) para asignar un valor o hacer referencia a un valor, pero antes tendras que establecer las dimensiones del control en sus propiedades rows y cols

Ej:
Código: Text
  1.  
  2. 'Asignamos un valor
  3. msFlexGrid.TextMatrix(1,1) = variable
  4. 'Hacemos referencia a una celda
  5. variable = msFlexGrid.TextMatrix(1,1)
  6.  
  7.  

Llenar el control dependera de lo que quieras hacer.

Salu2
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Flexgrid
« Respuesta #4 en: Viernes 8 de Octubre de 2004, 19:01 »
0
HOLA CHICOS GRACIAS POR SUS RESPUESTAS, SIGO TENIENDO UN PROBLEMA.
USTEDES LLENAN LOS CAMPOS POR MEDIO DE  CICLOS, PERO YO LOS LLENO POR MEDIO DE UN TEXT
AQUI LES ENVIO UNA IMAGEN
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
El pasado son solo recuerdos, el futuro son solo sueños

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Flexgrid
« Respuesta #5 en: Viernes 8 de Octubre de 2004, 19:51 »
0
No entiendo cual es el problema, si te puedes explicar un poco mas....

Llenas el TextBox y luego segun el boton Opcion1, 2, o 3 lo colocas en la columna que corresponda segun el boton????

 :blink:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Flexgrid
« Respuesta #6 en: Viernes 8 de Octubre de 2004, 20:15 »
0
Te comento una opción desde mi ignorancia. Yo simularía un flesgrid editable con ese campo text que tienes y prescindiria de los botones opción 1, 2,3.
Como se hace:

Oculta el campo .text y cuando el usario pinche 2 veces en el flesgrid compruebas en campo a pinchado y pones encima de la celda el campo de texo que tienes a la izquierda de los botones, como se hace.

los controles del mouse son:
flesgrid.mouserow
flesgrid.mousecol.

Como se encaja en el flesgrig en control .text:
dim CampoText

CampoText.Text = ""
 
CampoText.Move Flesgrid.CellLeft + 0, Flesgrid.CellTop + 0, Flesgrid.CellWidth, 0
'Tabla1.CellHeight, este es el ultimo 0

' los + 0 te los dejo para que sepas que es posible sumar o restar al campo.

CampoText.Visible = True

de esta forma se te pondrá encima de la celda pinchada.

Final:

Utiliza la tecla intro como secuencia de grabacion y ESC. como salida sin grabar por ejemplo. puedes controlar la tecla pulsada en función KeyAscii del ControlText, Incluso si quieres llegar mas lejos puedes exigir que tipo de caracteres de entrada permitir, pero eso ya es otro cuento, espero que te sirva.

P.D. No olvides ocultar el campo nuevamente cuando el usuario pulse Intro o ESC.

Salu2.
Mi mujer tiene un físico bárbaro!!!. Einstein.

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Flexgrid
« Respuesta #7 en: Viernes 8 de Octubre de 2004, 20:53 »
0
tampoco esntiendo muy bien tu pregunta... yo utilizo mucho ese componente ;)  asi que si deseas algo sé un poco mas especifico y si puedo te ayudaré

Un saludo :comp:
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Flexgrid
« Respuesta #8 en: Viernes 8 de Octubre de 2004, 21:57 »
0
EXACTO Kev ASI LO ESTOY HACIENDO AUNQUE YA ENCONTRE UNA SOLUCION ASI:
Código: Text
  1.  
  2. Private Sub MSFG_Click()
  3. X = InputBox("Ingresar valor", "Valores")
  4. If X <> "" Then
  5.     MSFG.Text = X
  6. End If
  7. End Sub
  8.  
El pasado son solo recuerdos, el futuro son solo sueños

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Flexgrid
« Respuesta #9 en: Lunes 11 de Octubre de 2004, 22:37 »
0
BUENO PERDON MI IGNORANCIA PERO AL TRATAR DE HACERLO COMO DICE Sagutxo LO DE FlexGrid.MouseCol Y MouseRow, NO SE COMO COLOCARLO LO PENSE DE LA FORMA
Text1.Top=FlexGrid.MouseCol & FlexGrid.MouseRow
NO HACE NADA, Y COLOCANDOLOS SOLOS Y ME SACA UN ERROR, OSEA
FlexGrid.MouseCol
FlexGrid.MouseRow
PERDON PERO ME PODRIAS DAR UN EJM UN POCO MAS CLARO DE ACOMODAR EL Text DENTRO DEL FlexGrid, REALMENTE TE LO AGRADECERIA AQUI ENVIO LO QUE HE HECHO, PARA QUE LO PUEDAN ANALIZAR Y ME AYUDEN A MEJORARLO
GRACIAS CHAO
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
El pasado son solo recuerdos, el futuro son solo sueños

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Flexgrid
« Respuesta #10 en: Lunes 11 de Octubre de 2004, 23:31 »
0
Primero decirte que uso .mousecol y .mouserow solo para saber en que celda pincho el user. Seguido simulo la edicion de la celda con el campo .text que hago visible para ello.

Cuando el user pincha 2 veces sobre el flexgrid, recojo .mouseCol y .MousseRow en var globales.

Cuando el usuario pulsa intro meteo los datos con la opcion:
tabla1. TextMatrix(fila,cloumna) ="" & campo.Text
y si pulsa ESC. dejo sin modificar el cambio.

Seguidamente oculto nuevamente el campo .Text.

Espero que te sirva.

Salu2.
Mi mujer tiene un físico bárbaro!!!. Einstein.

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Flexgrid
« Respuesta #11 en: Martes 12 de Octubre de 2004, 18:16 »
0
PERDON SIGO POR LA MISMA, YA LO DE COLOCAR EL VALOR EN LA CASILLA ESTA BIEN MI PREGUNTA ES COMO ACOMODO EL TEXT EN LA POSICION DE LA GRILLA, YA QUE ESTA OPCION
CampoText.Move Flesgrid.CellLeft + 0, Flesgrid.CellTop + 0, Flesgrid.CellWidth, 0
'Tabla1.CellHeight, este es el ultimo 0
NO ME FUNCIONA, PERDONA MI TORPEZA PERO SINO PREGUNTO NO APRENDO Y SEGUIRE IGUAL DE BRUTO
'MODIFICADO
SABEN QUE PIENSO QUE CUANDO LE DOY LA OPCION EL TEXT QUEDA EN LA PARTE DE ATRAS Y NO EN EL FRENTE, ESE DEBE SER MI PROBLEMA COMO LO ARREGLO
GRACIAS CHAO
El pasado son solo recuerdos, el futuro son solo sueños

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Flexgrid
« Respuesta #12 en: Martes 12 de Octubre de 2004, 18:52 »
0
Lo siento se me han acabado las ideas, todos los mios los hago como te he dicho y me funcionan, si veo algo nuevo te lo posteo.

Salu2.
Mi mujer tiene un físico bárbaro!!!. Einstein.

Aislante

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Flexgrid
« Respuesta #13 en: Sábado 23 de Octubre de 2004, 09:33 »
0
mensaje para :Sagutxo

ta muy chido o mejor dicho esta muy bien la forma en que encuadras los componentes... estaba lideando con eso pero es muy buena solucion!!!!

Suerte...

Aislante

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Flexgrid
« Respuesta #14 en: Sábado 23 de Octubre de 2004, 10:27 »
0
Disculpa tanto mareo... sabes yo e visto que en un msflexgrid intercalan los campos de texto y los combo de manera mas amigable "por asi decirlo" por ahí, no recuerdo donde sinceramente, pero creo que ligan el msflexgrid a los combo y text por medio de un API. Por ejemplo como en access cuando editas una tabla en vista diseño, los valores los introduces en forma de textbox y un combobox, por default no puedes modificar la propiedad height del combo en su estilo 0 y 2, sin enbargo en dichas tablas msflexgrid si cambia esta propiedad, incluso la ventana de propiedades del visual basic tiene un lista donde solo puedes editar en forma de texto, tabstrip, o en forma de combo... como si salieran de un PopupMenu
¿estoy en lo correcto, son alucinaciones mias o solo se sigue disfrasando componentes?

ojala me respondas o respondan...
SALUDOS.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Flexgrid
« Respuesta #15 en: Sábado 23 de Octubre de 2004, 11:02 »
0
Salu2. Seguro que hay otra manera, siempre hay otra manera, y provablemente mas sencilla, pero te aseguro que de esa manera funciona y ademas controlas el campo NULL. Tanto con ComboBox como com campo.text.

Te dejo un ejemplo en el que los uso. No solo veras que es sencillo sino que ademas te vale para cualquiera, una vez hecho 1 para todos es.

Espero haberte podido ayudar.
 :comp:  :D
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Mi mujer tiene un físico bárbaro!!!. Einstein.

Aislante

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Flexgrid
« Respuesta #16 en: Domingo 24 de Octubre de 2004, 19:15 »
0
ORALE !!!!!!

ESTA MUY INTERESANTE GRACIAS!!!!!!!!!!!
en eso tienes razon la validacion es mucho mas sencilla y no te "atascas" de controles.

oye por cierto sabes o saben como hacer que el msflexgrid se recora con la ruedita del raton (scroll)?

Por otro lado te dejo lo que hice con el msflexgrid.
Se aceptan comentarios!!!!!!!....

y si me ayudaste gracias, espero tambien te ayude.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Flexgrid
« Respuesta #17 en: Lunes 25 de Octubre de 2004, 10:59 »
0
Salu2.
P.d. de anterior mensaje.

   Se me ha olvidado decirte algo importante te recomiendo que introduzcas el valor de  .MouseCol y .MouseRow en variables globales por ejemplo

PRINCIPIO de Codigo del formulario

Option Explicit
Dim EditaLinea as long
Dim EditaCol as long

y luego en la funcion dobleclick()
EditaLinea = MsFleshGrid.MouseRow
EditaCol=MsFleshGrid.MouseCol

ya que tengo entendido que esas opciones si no se guardan en variables son muy inestables.

llevo años con estas opcines y funcionan muy bien, ademas aunque fueran muchos datos con los ordenadores que se tienen ahora ni lo iban a notar.

Ya siento este lapsus, se me paso. :( :whistling:  :comp:

RESPECTO A LA RUEDITA DEL SCROLL
----------------------------------------------
Yo no hago nada con ello y funciona.
prueba a ponerle los drv del ratón que tengas.

Tengo la opción scrollbars del msfleshgrid en el 2, vertical, cuento las lineas que entran en el flesgrid y cuando veo que ha llegado le quito a uno de los campos de flesgrid 240 que es lo que ocupa la barra scroll, Seguro que hay otra manera, pero como lo hice hace tiempo y funciona pos así quedo, ADJUNTO MINIEJEMPLO.

Supongamos que entran 22 lineas en el flesgrid....
flesgrid=Tabla1

 
Código: Text
  1.   If Tabla1.Rows > 22 Then
  2.   Tabla1.ColWidth(0) = (7280 - 240)
  3.   End If
  4.  
Mi mujer tiene un físico bárbaro!!!. Einstein.

valdogol

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Flexgrid
« Respuesta #18 en: Viernes 8 de Junio de 2007, 20:14 »
0
Hola soy nuevo por aqui, recien me acabo de registrar y me gustaria participar en estos foros con una primera duda:

Alguien sabria como meterle una imagen a un FlexGrid?

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Flexgrid
« Respuesta #19 en: Sábado 9 de Junio de 2007, 10:22 »
0
Hola

Aqui hay un ejemplo

La web de Luciano2 (un compañero de este foro)

http://www.recursosvisualbasic.com.ar/htm/...cellpicture.htm



Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

valdogol

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Flexgrid
« Respuesta #20 en: Sábado 9 de Junio de 2007, 16:25 »
0
Gracias por la respuesta, pero use un imagelIst y no me funciono ese codigo, es lo mas raro. En el ejemplo del enlace si funiciona. Si tengo un image List con 20 Index, como tengo que poner el codigo para que funcione?

Xmundus

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Flexgrid
« Respuesta #21 en: Domingo 17 de Junio de 2007, 05:48 »
0
:comp: ya que ando por aqui si alguien me podria ayudar como visualizar los datos de una base de MySql en un flexgrid estoy asiendo un sistema de control escolar  :smartass:
ya tengo la conexion lo botones basicos CONSULTAS,NUEVO, SALIR, ACTUALIZAR,ELIMINAR ETC.. PERO DE HECHO NO PUEDO CONSULTAR EN UN GRID  como por ejemplo una CARDEX de calificaciones

1  semestres   calificacion        2   semestre
Matematicas    10                    Base de Datos I        6
Calculos          10                    Dbase                      8
xxxxxxx          10                    xxxxxxxxxxxxx        8


asi quiero que me muestre asi los datos

SI ALGUIEN ME PODRIA AYUDAR
si alguien me puede ayudar les ejo mi correo pero de todas formas entrare al foro  :(  :unsure:
[email:2oh467qb]yamasaki24@hotmail.com[/email:2oh467qb]