Discussão do artigo "Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)" - página 12

 
Anatoli Kazharski:

Se você só precisa atualizar os valores, não é necessário excluir nada.

Se você precisar alterar o número de linhas na tabela, uma das maneiras de fazer isso é mostrada.

A segunda maneira é usar o método CTable::Rebuilding(). Mas, nesse caso, você terá que definir algumas propriedades da tabela novamente (cabeçalhos, largura das colunas etc.).

Obrigado, vou dar outra olhada.

Mas eu tenho o CCanvasTable. Qual é a diferença entre CCanvasTable e CTable? Parece que eu crio uma tabela com CCanvasTable normalmente....

 
Juer:

Obrigado, vou dar outra olhada.

Mas eu tenho o CCanvasTable. Qual é a diferença entre CCanvasTable e CTable? Acho que posso criar uma tabela com CCanvasTable normalmente....

Faça o download da versão mais recente da biblioteca: EasyAndFast e dos arquivos atualizados com as classes deste artigo: Trade Expert Advisor with GUI: Filling it with functionality (Part II).

Use a classe CTable. CCanvasTable é uma versão muito antiga com recursos mínimos.

 
Juer:

Fiz o download, mas não consigo encontrar o método IsSortedColumnIndex() ou seu análogo.

...arquivos atualizados com classes neste artigo: Consultor especialista em negociação com GUI: preenchimento com funcionalidade (Parte II)

Classe CTable:

   //--- (1) Direção de classificação atual, (2) índice da matriz classificada
   int               IsSortDirection(void)             const { return(m_last_sort_direction);    }
   int               IsSortedColumnIndex(void)         const { return(m_is_sorted_column_index); }
 
Juer:

...

DeleteColumn(), DeleteRow() também desapareceram.

Talvez eu precise ser um pouco mais cuidadoso?

   //--- Reconstrução da tabela
   void              Rebuilding(const int columns_total,const int rows_total,const bool redraw=false);
   //--- Adiciona uma coluna à tabela no índice especificado
   void              AddColumn(const int column_index,const bool redraw=false);
   //--- Exclui uma coluna da tabela no índice especificado
   void              DeleteColumn(const int column_index,const bool redraw=false);
   //--- Adiciona uma linha à tabela no índice especificado
   void              AddRow(const int row_index,const bool redraw=false);
   //--- Exclui uma linha da tabela pelo índice especificado
   void              DeleteRow(const int row_index,const bool redraw=false);
   //--- Exclui todas as linhas
   void              DeleteAllRows(const bool redraw=false);
   //--- Limpa a tabela. Apenas uma coluna e uma linha permanecem.
   void              Clear(const bool redraw=false);
 
Anatoli Kazharski:

...arquivos atualizados com as classes deste artigo: Consultor especialista em negociação com GUI: preenchimento com funcionalidade (Parte II)

Classe CTable:

Peço desculpas, meu erro. Estou copiando para um lugar e procurando em outro MetaEditor. Obrigado.