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