Обсуждение статьи "Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)" - страница 11
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как таблицу обновлять так и не понял...
Есть динамические данные в таблице, надо обновлять по таймеру.
Пытаюсь сначала зачищать её методом Clear(), вылазит ошибка:
Как её обновлять-то? Нигде в статьях не нашёл примера. Во всех статьях таблица заполняется статичными данными.
Как таблицу обновлять так и не понял...
Есть динамические данные в таблице, надо обновлять по таймеру.
Пытаюсь сначала зачищать её методом Clear(), вылазит ошибка:
Как её обновлять-то? Нигде в статьях не нашёл примера. Во всех статьях таблица заполняется статичными данными.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11)"
Anatoli Kazharski, 2018.05.19 09:03
Посмотрите здесь: Графические интерфейсы X: Обновления для нарисованной таблицы и оптимизация кода (build 10)
Спасибо. Только там сортировку не учитывает.
При сортировке строки могут менять свое положение...
Спасибо. Только там сортировку не учитывает.
При сортировке строки могут менять свое положение...
Вы можете контролировать сортировку самостоятельно. Для этого есть публичный метод CTable::SortData().
Пример и последняя версия класса CTable здесь: Обновления библиотеки EasyAndFast
Вы можете контролировать сортировку самостоятельно. Для этого есть публичный метод CTable::SortData().
Пример и последняя версия класса CTable здесь: Обновления библиотеки EasyAndFast
Всё равно непонятно. Нет метода определить сколько строк в таблице непустых. Я выгружаю в таблицу информацию по открытым ордерам. Ордера могут появляться или закрываться. Мне надо перебирать все значения каждый раз в таблице и сравнивать по тикету... Неудобно, но можно.
А ещё не подскажите с сортировкой. Надо сделать в таблице строку аналог того что на вкладке Торговля. Строка, суммирующая прибыль по открытым позициям, комиссии и др. То есть, столбцы у этой строки будут те же, что и в таблице, только с суммарными значениями. Так вот, как мне эту строку поставить первой в списке и чтоб к ней не применялась сортировка?
Всё равно непонятно. Нет метода определить сколько строк в таблице непустых. Я выгружаю в таблицу информацию по открытым ордерам. Ордера могут появляться или закрываться. Мне надо перебирать все значения каждый раз в таблице и сравнивать по тикету... Неудобно, но можно.
...
Сами проходите по строкам и смотрите, пустые они или нет.
В статье Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II) подробно показано, как это может быть реализовано.
Juer:
...
А ещё не подскажите с сортировкой. Надо сделать в таблице строку аналог того что на вкладке Торговля. Строка, суммирующая прибыль по открытым позициям, комиссии и др. То есть, столбцы у этой строки будут те же, что и в таблице, только с суммарными значениями. Так вот, как мне эту строку поставить первой в списке и чтоб к ней не применялась сортировка?
В библиотеке нет такой возможности. Как вариант, можно над первой таблицей создать вторую таблицу без заголовков с одной строкой и в неё выводить суммарные значения.
Сами проходите по строкам и смотрите, пустые они или нет.
В статье Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II) подробно показано, как это может быть реализовано.
В библиотеке нет такой возможности. Как вариант, можно над первой таблицей создать вторую таблицу без заголовков с одной строкой и в неё выводить суммарные значения.
В примере в статье опять же количество строк постоянное, а у меня динамичекое. Но понял, руками так руками, чего ж тут.
Вторая таблица сверху решение неплохое, но как быть с изменением ширины колонок в основной таблице?.. Как синхронизировать со второй?
Ещё вопрос. Если у меня первый столбец просто обозначает порядковый номер записи. Он сортировке не подлежит. Есть способ сделать определенный столбец несортируемым?
В примере в статье опять же количество строк постоянное, а у меня динамичекое. Но понял, руками так руками, чего ж тут.
Где Вы там увидели постоянное количество строк? Количество позиций и количество используемых символов изменяется и эти изменения отражаются в таблицах.
Juer:
Вторая таблица сверху решение неплохое, но как быть с изменением ширины колонок в основной таблице?.. Как синхронизировать со второй?
Ещё вопрос. Если у меня первый столбец просто обозначает порядковый номер записи. Он сортировке не подлежит. Есть способ сделать определенный столбец несортируемым?
Нет, таких возможностей нет.
Где Вы там увидели постоянное количество строк? Количество позиций и количество используемых символов изменяется и эти изменения отражаются в таблицах.
Честно говоря, не очень понял, как вы обновляете позиции там. Я вижу, что для обновления таблицы символов вы просто удаляете все строки. А как обновляется таблица позиций пока не пойму:
Не пойму я чего-то. Если символов меньше чем строк в таблице, то вы просто не обновляете что ли?
Мне надо обновлять значения фактически по каждому тику. Насколько правильно будет каждый раз удалять все строки и заполнять таблицу заново?
Juer:
Мне надо обновлять значения фактически по каждому тику. Насколько правильно будет каждый раз удалять все строки и заполнять таблицу заново?
Если просто нужно обновить значения, то ничего удалять не нужно.
Если нужно изменить количество строк в таблице, то показан один из способов, как это можно сделать.
Второй способ это воспользоваться методом CTable::Rebuilding(). Но тогда нужно будет устанавливать заново некоторые свойства таблицы (заголовки, ширина столбцов и т.д.).