Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Fabricio en 15 Septiembre 2009, 16:26 pm



Título: multilineas en MSFlexGrid
Publicado por: Fabricio en 15 Septiembre 2009, 16:26 pm
Hola a todos tengo un problema tengo un Msflexgrid al que le cargo como datos los nombres de archivo que hay en una carpeta.... esto lo hago bien

mi problema es como hacer para que el usuario solo pueda  seleccionar una fila y no varias he buscado en la ayuda de VB 6 y en la web y no encontre ninguna propiedad tal como multiline (la pondria en false) pero esta propiedad no esta en el flex??

he intentado usar True DB Grid pero no se como cargar los datos de los archivos...
si se como cargar datos desde una BD (pero esto no es lo que necesito) tampoco puedo cargar los nombres a una bd y obtenerlos desde alli no por que no sepa sino por que no es mi objetivo

PD tambien me seria util aprender a cargar estos datos en el True DB Grid  :huh:

gracias a todos
un saludo


Título: Re: multilineas en MSFlexGrid
Publicado por: Fabricio en 16 Septiembre 2009, 15:39 pm
Veo que el tema tiene algunas visitas pero cero respuestas  :-(  si no se entiende cual es el problema por favor diganmelo que lo vuelvo a plantear

un saludo para todos


Título: Re: multilineas en MSFlexGrid
Publicado por: Angeldj27 en 16 Septiembre 2009, 16:10 pm
Creo que con lo del True DB Grid lo que tienes que hacer es cargarlo a una db y luego pasarselo al True DB Grid con un ado u otro componente pero no quieres que sea desde una db, otra opcion seria copiarlos en txt y luego con el componente data control se lo puedes cargar al True DB Grid bueno esa es otra idea con lo del flex ni idea  ;D pero me inmagino que no tiene dificultad eso deeb aparecer si buscas bien  :silbar:

Saludos...


Título: Re: multilineas en MSFlexGrid
Publicado por: Fabricio en 16 Septiembre 2009, 17:13 pm
garcias por responder Angeldj27  pero los datos si o si los debo leer de la carpeta seleccionada no los puedo obtener ni de una BD ni desde un txt
la verdad busque y no encontre nada para que no me seleccionen multiline en el flex

gracias
un saludo


Título: Re: multilineas en MSFlexGrid
Publicado por: Angeldj27 en 17 Septiembre 2009, 16:17 pm
garcias por responder Angeldj27  pero los datos si o si los debo leer de la carpeta seleccionada no los puedo obtener ni de una BD ni desde un txt
la verdad busque y no encontre nada para que no me seleccionen multiline en el flex

gracias
un saludo


Cuando el user seleccione la carpeta lees primero la carpeta y esos datos se los pasa al txt o db y luego la cargas en el grid...

Código
  1. Dim Arch As String
  2.    Arch  = Dir("c:\Folder\*.*")
  3.    Do While Arch  <> ""
  4.        'Aky Llenas el  .Txt con Arch
  5.  
  6.        Arch  = Dir
  7.    Loop
  8.  
  9.  


Título: Re: multilineas en MSFlexGrid
Publicado por: BlackZeroX en 17 Septiembre 2009, 18:17 pm
Código
  1. 'puede o no ir este
  2. 'Private Declare Function WaitMessage Lib "user32" () As Long
  3.  
  4. sub main()
  5. Dim Arch As String
  6.    Arch  = Dir("c:\Folder\*.*")
  7.    Do While Arch  <> ""
  8.        'Aky Llenas el  .Txt con Arch
  9.  
  10.        Arch  = Dir
  11.        doevents
  12. '        waitmessage 'puede o no ir este
  13.    Loop
  14. end sub
  15.  

Es una pequeña correcciòn o de lo contrario el app se trabara y nadie desea eso verdad?


Título: Re: multilineas en MSFlexGrid
Publicado por: Angeldj27 en 17 Septiembre 2009, 22:51 pm
Seguro porque lo probe llenando un list y funciona de 10 bueno hasta donde probe  :P jiji

Saludos..


Título: Re: multilineas en MSFlexGrid
Publicado por: seba123neo en 19 Septiembre 2009, 03:05 am
Hola, mas que multilinea, seria multiseleccion o algo parecido, aca tenes un ejemplo de como "bloquear" la multiseleccion...

Código
  1. Option Explicit
  2.  
  3. Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
  4.  
  5. Private vBloqueado As Boolean
  6.  
  7. Private Sub Form_Load()
  8.   With MSHFlexGrid1
  9.      .FixedCols = 0
  10.  
  11.      .FormatString = "Nombre"
  12.  
  13.      .AddItem "Sebastian"
  14.      .AddItem "Leandro"
  15.      .AddItem "Cobein"
  16.      .AddItem "Ivo"
  17.      .AddItem "Karcrack"
  18.  
  19.      .ColWidth(0) = 1500
  20.      .ColWidth(1) = 0
  21.  
  22.      .RowHeight(1) = 0
  23.   End With
  24. End Sub
  25.  
  26. Private Sub MSHFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  27.    If Button = vbLeftButton Then
  28.        MSHFlexGrid1.SelectionMode = flexSelectionFree
  29.        MSHFlexGrid1.RowSel = MSHFlexGrid1.Row
  30.        If Not vBloqueado Then LockWindowUpdate (MSHFlexGrid1.hWnd)
  31.        vBloqueado = True
  32.    End If
  33. End Sub
  34.  
  35. Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  36.    MSHFlexGrid1.SelectionMode = flexSelectionByRow
  37.    MSHFlexGrid1.RowSel = MSHFlexGrid1.Row
  38.    LockWindowUpdate (0&)
  39.    vBloqueado = False
  40. End Sub
  41.  

saludos.


Título: Re: multilineas en MSFlexGrid
Publicado por: Fabricio en 22 Septiembre 2009, 21:36 pm
gracias a todos por sus respuestas ... por lo que veo no existe una propiedad para  que el usuario solo seleccione  una linea ....
voy a probar sus codigos y despues les cuento com ome fue  :D

un saludo


Título: Re: multilineas en MSFlexGrid
Publicado por: ka0s en 22 Septiembre 2009, 23:21 pm
gracias a todos por sus respuestas ... por lo que veo no existe una propiedad para  que el usuario solo seleccione  una linea ....
voy a probar sus codigos y despues les cuento com ome fue  :D

un saludo


Para que seleccione una sola línea en un MsFlexgrid te referís?
Está la propiedad SELECTION MODE y la debés poner en FlexSelectionByRow y ahí te marca la fila que clickeas.

No se si te referís a eso, pero buen.

Saludos!


Título: Re: multilineas en MSFlexGrid
Publicado por: Fabricio en 23 Septiembre 2009, 15:35 pm
Hola ka0s sabes como hacer lo mismo que me respondiste pero usando un TDBGrid??
quiero que al seleccionar me pinte toda la fila y solo me deje eljir una (si presiona Ctrl que solo seleccione (pinte) una fila por ves)

gracias saludos


Título: Re: multilineas en MSFlexGrid
Publicado por: Angeldj27 en 5 Octubre 2009, 16:10 pm

Código:
TDBGrid1.Splits(0).MarqueeStyle = 3