Fórum VirtualTreeView, uma ajudinha com ele... #323969

21/06/2006

0

Olá, estou pensando em usar o VirtualTreeView, visto que ele é um poderoso componente, usado até pela própria borland no proprio Delphi.

Porém como na vida nada é fácil... to levando uma surra pra mexer nele... precisa que ficasse assim:

 
 Projeto
  |
  |---- Usuários
  |         |--- Todos os registros usuarios (tabela user)
  |
  |---- Requisitos
  |         |--- Todos os registros requisitos (tabela requisitos)
 
  etc...


Ou seja.. teria um Root, e uns Filhos.. e cada Neto de Cada filho, seria um registro de uma tabela.. como mostrada acima..

Alguém sabe como fazer isso? Ou alguem tem algum tutorial em portugues para o VirtualTreeView?

Vi o artigo do Michael.. mas mesmo assim tá complicado....


Desde já agradeço..

[]s


Titanius

Titanius

Responder

Posts

21/06/2006

Michael

Olá [b:02375088ad]titanius[/b:02375088ad]!

Vou escrever um artigo para o site da Devmedia, mostrando como exibir os dados de um ou mais Dataset´s no VirtualTreeView. O exemplo que preparei para o artigo impresso me parece não estar ajudando muito o pessoal.

Quando ele estiver no ar, posto aqui novamente.

Mas deixo a dica, para vc continuar levando a surra, mas pelo menos sabendo o porquê ;-).

Preste atenção nos eventos [b:02375088ad]OnInitNode[/b:02375088ad], [b:02375088ad]OnInitChildren [/b:02375088ad]e [b:02375088ad]OnGetText[/b:02375088ad].


Responder

Gostei + 0

21/06/2006

Titanius

fala aí [b:0aa7ee6095]michael[/b:0aa7ee6095], cara realmente to tomando uma surra com ele, mas [b:0aa7ee6095]eu quero, e vou usa-lo[/b:0aa7ee6095] :D.. simplesmente achei ele o máximo, porque no meu sistema vai ter tabela com mais de mil registro, então um TreeView normal tá fora de cogitação...

Vamos lá, vou postar aqui o que estou fazendo, assim você pode me ajudar, e deixar no forum algo para futuros amigos poderem localizar :wink:

Primeiramente, [b:0aa7ee6095]Declarei o Ponteiro[/b:0aa7ee6095]
type
 TTipo = (tpSystem, tpNormal); // Se for System nao deixa dar um colapse
 
 PtvItem = ^TtvItem;
 TtvItem = record
  Texto: string[30];  // Texto que será exibido no TV
  Tipo: TTipo; // Tipo dele
  ImageIdx: integer; // Idx da imagem no ImageList
  TblCodigo: integer; // Qual o codigo na tabela
  Table: string[30]; // Qual tabela
 end;


2- no [b:0aa7ee6095]OnCreate[/b:0aa7ee6095] do Form:
    // Fazendo o TreeView saber de quanto espaço ele precisa
 tvProjeto.NodeDataSize := SizeOf(TtvItem);
   // Defino quantos Niveis Root
 tvProjeto.RootNodeCount := 1;


PArei aí...

como lhe disse, o [b:0aa7ee6095]Root[/b:0aa7ee6095], e o [b:0aa7ee6095]Pai[/b:0aa7ee6095] serão fixos... sempre serão eles.. agora, os netos dos filhos que mudarão, de acordo com as tabelas...

Até o momento tá certinho?

[]s


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar