Обсуждение статьи "Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)" - страница 12

 
Anatoli Kazharski:

Если просто нужно обновить значения, то ничего удалять не нужно.

Если нужно изменить количество строк в таблице, то показан один из способов, как это можно сделать. 

Второй способ это воспользоваться методом CTable::Rebuilding(). Но тогда нужно будет устанавливать заново некоторые свойства таблицы (заголовки, ширина столбцов и т.д.).

Спасибо, посмотрю еще раз.

Но у меня CCanvasTable. А какая разница вообще между CCanvasTable и CTable? Вроде, я и с CCanvasTable создаю таблицу нормально..

 
Juer:

Спасибо, посмотрю еще раз.

Но у меня CCanvasTable. А какая разница вообще между CCanvasTable и CTable? Вроде, я и с CCanvasTable создаю таблицу нормально..

Скачайте последнюю версию библиотеки: EasyAndFast и обновлённые файлы с классами в этой статье: Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II)

Используйте класс CTable. CCanvasTable совсем старая версия с минимальными возможностями. 

 
Juer:

Скачал, но что-то не могу найти метод IsSortedColumnIndex() или его аналог.

...обновлённые файлы с классами в этой статье: Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II)

Класс CTable:

   //--- (1) Текущее направление сортировки, (2) индекс отсортированного массива
   int               IsSortDirection(void)             const { return(m_last_sort_direction);    }
   int               IsSortedColumnIndex(void)         const { return(m_is_sorted_column_index); }
 
Juer:

...

DeleteColumn(), DeleteRow() тоже исчезли.

Может нужно быть просто немного внимательней?

   //--- Реконструкция таблицы
   void              Rebuilding(const int columns_total,const int rows_total,const bool redraw=false);
   //--- Добавляет столбец в таблицу по указанному индексу
   void              AddColumn(const int column_index,const bool redraw=false);
   //--- Удаляет столбец в таблице по указанному индексу
   void              DeleteColumn(const int column_index,const bool redraw=false);
   //--- Добавляет строку в таблицу по указанному индексу
   void              AddRow(const int row_index,const bool redraw=false);
   //--- Удаляет строку в таблице по указанному индексу
   void              DeleteRow(const int row_index,const bool redraw=false);
   //--- Удаляет все строки
   void              DeleteAllRows(const bool redraw=false);
   //--- Очищает таблицу. Остаётся только один столбец и одна строка.
   void              Clear(const bool redraw=false);
 
Anatoli Kazharski:

...обновлённые файлы с классами в этой статье: Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II)

Класс CTable:

Извиняюсь, мой косяк. Копирую в одно место, а смотрю в другом MetaEditor. Спасибо.