multilineas en MSFlexGrid

Iniciado por Fabricio, 15 Septiembre 2009, 16:26 PM

0 Miembros y 4 Visitantes están viendo este tema.

Fabricio

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

Fabricio

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

Angeldj27

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...


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

Fabricio

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

Angeldj27

Cita de: fabricioAngel 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


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 (vb) [Seleccionar]

Dim Arch As String
    Arch  = Dir("c:\Folder\*.*")
    Do While Arch  <> ""
        'Aky Llenas el  .Txt con Arch
       
        Arch  = Dir
    Loop



"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

BlackZeroX

Código (vb) [Seleccionar]

'puede o no ir este
'Private Declare Function WaitMessage Lib "user32" () As Long

sub main()
Dim Arch As String
    Arch  = Dir("c:\Folder\*.*")
    Do While Arch  <> ""
        'Aky Llenas el  .Txt con Arch
       
        Arch  = Dir
        doevents
'        waitmessage 'puede o no ir este
    Loop
end sub


Es una pequeña correcciòn o de lo contrario el app se trabara y nadie desea eso verdad?
The Dark Shadow is my passion.

Angeldj27

Seguro porque lo probe llenando un list y funciona de 10 bueno hasta donde probe  :P jiji

Saludos..


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

seba123neo

Hola, mas que multilinea, seria multiseleccion o algo parecido, aca tenes un ejemplo de como "bloquear" la multiseleccion...

Código (vb) [Seleccionar]
Option Explicit

Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long

Private vBloqueado As Boolean

Private Sub Form_Load()
   With MSHFlexGrid1
      .FixedCols = 0

      .FormatString = "Nombre"

      .AddItem "Sebastian"
      .AddItem "Leandro"
      .AddItem "Cobein"
      .AddItem "Ivo"
      .AddItem "Karcrack"

      .ColWidth(0) = 1500
      .ColWidth(1) = 0
     
      .RowHeight(1) = 0
   End With
End Sub

Private Sub MSHFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = vbLeftButton Then
        MSHFlexGrid1.SelectionMode = flexSelectionFree
        MSHFlexGrid1.RowSel = MSHFlexGrid1.Row
        If Not vBloqueado Then LockWindowUpdate (MSHFlexGrid1.hWnd)
        vBloqueado = True
    End If
End Sub

Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    MSHFlexGrid1.SelectionMode = flexSelectionByRow
    MSHFlexGrid1.RowSel = MSHFlexGrid1.Row
    LockWindowUpdate (0&)
    vBloqueado = False
End Sub


saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Fabricio

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

ka0s

Cita de: fabricioAngel 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


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!