MULTIPLA SELECAO NO MSFLEXGRID

 Tópico anterior Próximo tópico Novo tópico

MULTIPLA SELECAO NO MSFLEXGRID

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#1240 - 16/12/2003 16:36:42

USUARIO.EXCLUIDOS

Cadast. em:


Pessoal,
Preciso de uma ajuda ! Eu estou com esse problema j faz um tempo e no consigo resolver...
Exemplo:
Eu tenho um MSFlexGrid com 10 rows. O que eu quero que ele faa:
- Quero selecionar apenas um registro, sendo ele qualquer row do MSFlexGrid;
- Quero selecionar quantos registros eu quiser do grid (mltipla seleo) e pegar a informao da primeira coluna e armazenar num array...

Algum pode me ajudar ? Gostaria que me mandassem uma funo pronta ...
Esta parte j esta atrasada no meu projeto.

P.S. Selecionar um, selecionar vrios eu consegui, mas esta dando alguns erros que eu no consigo resolver. Como, se na grid tem 6 registros e eu seleciono os 3 ltimos, ele esta pegando todos os registros. Ele pega os anteriores ...



Resposta escolhida #1305 - 17/12/2003 09:04:51

MFVB
SAO PAULO
Cadast. em:Dezembro/2003


Oi Frank

No meu projeto eu utilizo o msflexgrid e seleciono as linhas para copiar e colar, excluir linhas selecionadas, inserir nova linha.
MSFLEXGRID.ROW determina de onde comea a seleo
MSFLEXGRID.ROWSEL determina at onde esta indo a seleo

Espero te ajudar,

With msfGrid
Select Case UCase(FUNC)
Case "NEW"
   If .RowSel = .Rows - 1 Then
      .Rows = .Rows + 1
      .Row = .RowSel + 1
      .Col = 1
      N = 0
      U_Def = UBound(mValorDefault, 1)
      L_Def = LBound(mValorDefault, 1)
      T_Def = U_Def - L_Def
      For N = 1 To T_Def
          If Len(mValorDefault(N))  0 Then
             .TextMatrix(.Row, N) = mValorDefault(N)
          End If
          If mColType(N) = CTCheck Then
             InsereCheck .Row, .Cols - 1
          End If
      Next
   End If
Case "COPY"
   TOT_VETOR = 0
   i = .Row
   j = .RowSel    ' inicio da seleo
   If i  j Then  'Copiar da menor para a maior
      k = i
      i = j
      j = k
   End If
   k = j - i
   k = k + 1
   ReDim VETOR(1 To k, .Cols - 1)
   k = 0
   For xlin = i To j
       k = k + 1
       For xcol = 1 To .Cols - 1
           VETOR(k, xcol) = .TextMatrix(xlin, xcol)
       Next
   Next
   TOT_VETOR = UBound(VETOR, 1)
Case "PAST"
      xcol = .ColSel
      msfGrid_LeaveCell
      For N = 1 To TOT_VETOR
          .AddItem "", .Row
          For CCOL = 1 To .Cols - 1
              .TextMatrix(.Row, CCOL) = VETOR(N, CCOL)
              If mColType(CCOL) = CTCheck Then
                 InsereCheck .Row, .Cols - 1
                 If VETOR(N, CCOL) = "" Then
                    SetCheck False
                 Else
                    SetCheck True
                 End If
              End If
          Next
          .Row = .Row + 1
      Next
      .Col = xcol

ass. Marcio


VB bom, s precisa ter pacincia!

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por WEBMASTER em 18/08/2009 10:03:45