Использую рекомендованный в FAQ скрипт раскрашивания Grid в полоски.
Работает нормально, если вывожу и сортирую данные запросом.
Но, если в таблице кликнуть на заголовок столбца, то строки пересортировываются и полосатость сбивается - цвет фона меняется не на каждой строке, а в произвольном порядке. Могут быть окрашены три строки подряд, потом одна не покрашена и т.д.
Повесил раскрашивание на клик по сортировке столбца - результат тот же.
Как доработать скрипт, чтобы он раскрашивал строки по очереди с учетом изменения пользователем сортировки столбца?
176 2018-07-13 14:16:48
Topic: Полосатый Grid и сортировка (1 replies, posted in Russian)
177 2018-07-12 13:27:15
Topic: Глюк форматирования числового значения из запроса (1 replies, posted in Russian)
Обнаружил интересный глюк:
Выводимые в TableGrid числовые данные форматирую под деньги: TNxNumberColumn(Frm1.TableGrid1.Columns[1]).FormatMask := '#,##0.00'
Число выводится как положено, например, 123 456,00
Однако, если результат запроса в первой строке содержит вместо числа значение NULL (т.е. в БД не было записано число), то нужное форматирование не включается, и все последующие строки с числами выводятся как 123456,0 (без пробелов и с одним нулем).
178 2018-07-11 13:00:22
Topic: Анкор на крайний столбец в TableGrid (1 replies, posted in Russian)
Есть TableGrid, у которого анкор привязан к правому краю формы.
Когда тянем форму за край (изменяем ее ширину) TableGrid тоже изменяет ширину.
Однако, столбцы в TableGrid автоматически не тянутся за правым краем TableGrid.
Их ширина остается неизменной.
Есть ли какой-либо способ повесить анкор на крайний столбец, чтобы он был привязан к правому краю TableGid?
Т.е. при изменении ширины TableGrid должна изменяться ширина какого-либо столбца.
179 2018-07-11 09:01:28
Re: Редактирование/удаление если TableGrid получен из SQL-запроса (5 replies, posted in Russian)
В моем запросе исходно id был указан в Select, однако не в конце, а в начале.
Документацию я читал, но не обратил внимание, что в приведенном примере id расположен в конце Select.
А в тексте документации не указано, что id должен быть обязательно в конце.
Написано только, что id должен быть.
Наверно, надо бы поправить текст справки
180 2018-07-10 15:02:47
Topic: Редактирование/удаление если TableGrid получен из SQL-запроса (5 replies, posted in Russian)
Есть TableGrid, в который вывожу данные SQL запросом.
Есть кнопки Добавить, Редактировать, Удалить запись.
Когда кликаю на кнопку Редактировать или Удалить, выводится сообщение об ошибке "Не выбрана запись для редактирования (удаления)".
Каким образом привязать эти кнопки к TableGrid в случае c SQLзапросом?
Насколько я понимаю, если данные выводятся через SQL-запрос, то связь с БД теряется и двойной клик по TableGrid не возвращает id записи, что и приводит к ошибке.
Я конечно могу получать id записи с помощью SelectedRow, а затем выводить запись через ShowRecord.
Но тогда придется еще добавлять обработку правильного удаления записи. Чего делать не хочется.
Может есть более простые варианты как подцепить стандартные зашитые в программу процедуры редактирования/удаления записи?
181 2018-07-06 13:27:12
Re: Как изменить формат даты при выводе запроса в TableGrid (1 replies, posted in Russian)
Ответ найден.
Надо изменять формат вывода в тексте самого запроса:
SELECT
EVENTOS.NOMBRE as nombre_evento,
strftime('%d.%m.%Y',EVENTOS.FECHAINICIO) AS inicia_evento
182 2018-07-06 12:57:57
Re: Что реализовать в первую очередь? (396 replies, posted in Russian)
Очень хотелось бы, чтобы в программе появился хотя бы простейший wysiwyg редактор для полей Memo
183 2018-07-06 12:42:41
Topic: Как изменить формат даты при выводе запроса в TableGrid (1 replies, posted in Russian)
Вывожу своим запросом данные в TableGrid.
Числовые данные форматирую, например, так:
TNxNumberColumn(Frm_Goods_List.TableGrid.Columns[8]).FormatMask := '#,##0.00';
А как отформатировать дату, которая в базе выглядит как 2018-04-18 00:00:00.000 ?
Она моим запросом также и выводится в TableGrid.
А надо, чтобы в TableGrid она отображалась как 18.04.2018
184 2018-06-27 14:02:36
Topic: Как сделать фильтр по нескольким комбобоксам? (1 replies, posted in Russian)
Есть три таблицы: Товар, Бренд, Товарная группа.
Для каждого товара пользователь может указать его Бренд и Группу (однако, это не обязательно).
Список товара вывожу на форму в TableGrid запросом.
Однако, надо дополнить форму фильтром, чтобы ограничить выводимый список товаров.
Для этого создал Поле ввода наименования товара и два выпадающих списка Бренд и Группа.
Создал запрос (он указан ниже для удобства чтения) и прицепил его к кнопке 'SQL запрос'
Однако, такой запрос возвращает список товаров, только если у них указан и Бренд и Группа.
Если же Бренд или Группу (или - и то и другое) пользователь не указал, то запрос возвращает пусто.
Просьба подсказать как исправить запрос в секции WHERE, чтобы пустые комбобоксы Бренда и Товара не ограничивали вывод всего списка товаров.
Т.е. комбобоксы должны участвовать в запросе, только если они имеют значение >0.
(Или это надо организовать не запросом, а скриптом? То как ? Может быть скриптом менять на лету текст запроса у кнопки SQLЗапрос? )
SELECT DISTINCT
"Tbl_Goods"."id" as "ID товара",
"Tbl_Goods"."Vendor_Code" as "Артикул",
"Tbl_Goods"."Goods_Name" as "Товар",
"Tbl_Brands"."Vendor_Name" as "Бренд",
"Tbl_Goods"."Current_Rozn_Price_ye" as "Цена у.е.",
"Tbl_Currencies"."Currency_Name" as "Валюта",
"Tbl_Goods"."Current_Rozn_Price_Currency_Rate" as "Курс",
"Tbl_Goods"."Current_Rozn_Price_Rub" as "Цена руб.",
"Tbl_Goods".id,
"Tbl_Goods"."id_Tbl_Currencies" as "Tbl_Goods.id_Tbl_Currencies",
"Tbl_Goods"."id_Tbl_Brands" as "Tbl_Goods.id_Tbl_Brands"
FROM "Tbl_Goods"
LEFT OUTER JOIN "Tbl_Currencies" ON "Tbl_Goods"."id_Tbl_Currencies"="Tbl_Currencies".id
LEFT OUTER JOIN "Tbl_Brands" ON "Tbl_Goods"."id_Tbl_Brands"="Tbl_Brands".id
WHERE ("Tbl_Goods"."Goods_Name" LIKE '%{Edit_Search_Value}%')
AND ( "Tbl_Goods"."id_Tbl_Brands" = '{ComboBox_Seacrh_Product_Brand}')
AND ( "Tbl_Goods"."id_Tbl_Goods_Group" = '{ComboBox_Search_Product_Group}')
ORDER BY "Tbl_Goods"."Vendor_Code" ASC
185 2018-06-26 14:51:57
Topic: Как отобразить запрос, посылающий данные в TableGrid? (1 replies, posted in Russian)
Есть настроенный TableGrid, который выводит данные почти в нужном виде.
Можно ли каким-либо способом увидеть текст запроса, который формирует данные для TableGrid?
Это нужно чтобы изменить вывод и сделать его через свой SQL запрос на базе сформированного системой.
186 2018-01-09 12:55:59
Topic: Как получить точное время из внешнего источника? (7 replies, posted in Russian)
Есть необходимость в программе получать точное время.
Но, не системное время компьютера, а из внешнего источника.
Например с какого-нибудь сервера времени типа https://www.ntp-servers.net/ или timeserver.ru
Как это сделать?
187 2017-12-27 15:50:03
Topic: Можно ли изменить шаг сетки (3 replies, posted in Russian)
При изменении размеров или перемещении компонентов на форме они автоматически размещаются по невидимой координатной сетке.
Подскажите, пожалуйста, есть ли возможность изменить шаг сетки автоматического расположения компонентов на форме?
У меня на Windows 10 шаг сейчас 8 пикселей.
Понятно, что можно задавать размеры и координаты вручную, но если бы можно было сетку поменять, то было бы удобнее
188 2017-12-18 16:27:27
Topic: Вопрос разработчику: Мемо с редактором WYSIWYG (1 replies, posted in Russian)
Может быть не в той ветке:
Планируется ли создать возможность подключения к полю Memo какого-либо пусть даже самого простого WYSIWYG редактора?
Из возможностей визуального редактора нужно хотя бы форматирование текста(Фонт, размер, цвет, позиционирование) и таблицы.
У меня есть задача создания технических описаний приборов.
Описание разбито на несколько блоков (записей), которые нужно редактировать визуально (примерно как в ворде) и выводить на печать в различном порядке в зависимости от некоторых условий.
MVD прекрасно подходит для реализации такого приложения, но редактирование как в ворде не поддерживается.
Если визуальный редактор планируется, то сможет ли FastReport получать от MVD форматирование текста и таблиц?
189 2017-12-18 16:12:37
Re: Дублирование записей, если кнопка сохранения не закрывает форму (4 replies, posted in Russian)
Ок.
Работает.
Спасибо!
190 2017-12-18 16:11:30
Re: Проблема при передаче компонентов в переменные FastReport (8 replies, posted in Russian)
Передача компонентов в отчет, даже если они не связаны с БД, работает.
Спасибо!
Правда эти компоненты надо указывать в той же секции, что и ранее - "участвующие в поиске".
Немного сбивает с толку, но работает же.
191 2017-12-18 10:47:23
Re: Дублирование записей, если кнопка сохранения не закрывает форму (4 replies, posted in Russian)
pt.82 - читайте внимательно: форма бала открыта для редактирования записи, а не для создания новой. Если нажали Сохранить без закрытия, то режим редактирования не должен сам переключаться на создание новой записи!
192 2017-12-15 15:11:58
Topic: Проблема при передаче компонентов в переменные FastReport (8 replies, posted in Russian)
Эти вопросы пересекаются с предыдущим постом.
При передаче в переменные FastReport компоненты формы указываются в секции "Выберите компоненты, участвующие в поиске".
Если их там не указать, то эти компоненты будут недоступны в мастере отчетов.
Однако, такой подход ведет к проблеме:
Если открыть форму с данными и в каком-либо поле изменить значение (напр. добавить пробел), то при нажатии кнопки "Отчет" на выводимой странице будет пустота.
Причина - значение этого компонента участвует в поиске, а его мы изменили (добавили пробел).
Таким образом, не может быть найдено совпадения данных на форме с данными в БД.
Поэтому, и отчет пустой.
Вопросов два:
1. Можно ли передавать в переменные FastReport значения компонентов, если они не связаны с БД?
Например, надо отображать или скрывать изображение в отчете, в зависимости от флага на форме, состояние которого нет смысла хранить в БД.
2. Можно ли сделать так, чтобы передаваемые в отчет компоненты не участвовали в поиске?
Надо чтобы их значения можно было использовать только в скрипте отчета или просто отобразить в отчете.
193 2017-12-15 13:54:23
Topic: Дублирование записей, если кнопка сохранения не закрывает форму (4 replies, posted in Russian)
Есть форма с TableGrid со списком проектов и форма редактирования проекта.
На форме редактирования проекта есть кнопка Save.
Снимаем на ней флаг "Закрыть текущую форму после сохранения".
Открываем какую либо запись из TableGrid для редактирования проекта.
Жмем несколько раз на кнопку сохранения проекта. Форма, естественно, не закрывается.
Но, в БД появляются дубли записи данного проекта в количестве равным кол-ву нажатий - 1!!!
Очевидно, кнопка "Сохранить" помнит id нужной записи только при первом нажатии.
На всех последующие нажатия она вставляет новую запись!!!
Это не особенность именно моего кода - это общая проблема.
Проверил на тестовых примерах.
Как побороть это?
194 2017-12-15 13:20:33
Topic: Как передавать переменные в FastReport (2 replies, posted in Russian)
На форме документа есть компоненты, которые в качестве переменных передаю в FastReport.
Эти компоненты привязаны к полям БД.
Есть кнопка печать для вывода Отчета.
Если я исправил какие-то значения полей на форме и сразу нажму на кнопку Печать, то внесенные изменения полей не будут видны в FastReporte.
Более того, отчет будет пуст.
Чтобы отобразить измененные значения этих компонентов в FastReport надо сначала сохранить форму в БД, а только потом выводить ее в FastReport.
Чтобы победить это, я добавил перед выводом отчета нажатие скриптом кнопки Сохранить форму.
Все внесенные изменения теперь сразу отображаются в отчете, не требуя отдельного нажатия кнопки сохранения формы.
Однако, после закрытия окна отчета у меня сразу закрывается и форма документа, т.к. кнопка сохранения формы имеет свойство закрытия по умолчанию.
Как передать изменения значений компонентов в FastReport без нажатия на кнопку сохранения и закрытия формы?
То есть, можно ли выполнить функционал кнопки по сохранению значений формы, но без закрытия формы?
195 2017-12-15 11:57:50
Re: Проблема с TableGrid после поиска (6 replies, posted in Russian)
Да, спасибо! Вопрос снят.
196 2017-12-15 10:35:29
Topic: Глюки FastReport при работе с pdf (1 replies, posted in Russian)
Замечено два глюка программы FastReport:
1. Если на странице есть изображение со свойством Transparent (прозрачное), то при печати страницы из превью на установленный в ПК pdf принтер (программа DoPdf) это изображение в полученном документе не отображается, хотя если просто распечатать на обычном принтере, то изображение отображается нормально.
2. При экспорте страницы в pdf из превью итоговый документ выглядит по другому. Теряется выравнивание текста, высота некоторых строк в таблице получается другая в сравнении с оригиналом документа в режиме превью.
Скрин приложен
197 2017-12-14 15:19:31
Topic: Глюк с отображением блока "Структура компонентов" (1 replies, posted in Russian)
С левой стороны среды разработки есть два блока "Структура компонентов" и "Свойства компонентов".
Если поднять блок "Свойства компонентов" до самого верха, то блок "Структура компонентов" пропадает.
Если опустить блок "Свойства компонентов" обратно, то надпись "Структура компонентов" появляется, а содержимое этого блока отсутствует.
Т.е. нет ни форм, ни дерева компонентов. Только серое поле.
Обратно структура появляется только при новом запуске среды разработки.
Версия 4.05
198 2017-12-14 15:10:56
Topic: Проблема с TableGrid после поиска (6 replies, posted in Russian)
Есть TableGrid где отображается список проектов.
На этой же форме есть поля для поиска проектов по дате, номеру и т.д.
Добавил кнопку Поиск и сделал ее нажатие через Increm.Seacrh
Также добавил кнопку Очистить, которая очищает(сбрасывает) введенные значения для поиска, если надо опять отобразить все проекты.
Поиск нормально работает и сброс значений тоже работает, но есть проблема.
Если поиск отображает несколько найденных проектов, то после открытия и закрытия формы любого одного из проектов, таблица проектов отображает только один проект, который я открывал. А остальные не отображаются. И сброс значений тоже не срабатывает.
Что делать?
199 2017-12-08 13:14:20
Re: Установка ширины столбцов в диалоге настройки TableGrid (4 replies, posted in Russian)
Я пишу программу для использования в организации в сетевом режиме.
Необходимо, чтобы при первом запуске программы у любого юзера ширина столбцов была явно задана.
Иначе по умолчанию система выбирает ширину столбцов как захочет и все выглядит непрезентабельно.
Это уж потом юзеры могут менять ширину как захотят.
Поэтому, была бы очень удобна фишка задания стандартной ширины столбцов, не отнимая при этом возможность юзера адаптировать это под себя.
А сейчас приходится скриптом явно задавать ширину столбцов, лишая, тем самым, возможность юзера сохранить измененную им самим ширину.
200 2017-12-07 15:40:45
Topic: Установка ширины столбцов в диалоге настройки TableGrid (4 replies, posted in Russian)
Просьба к разработчику - не могли бы Вы доработать программу, чтобы при настройке отображения названий столбцов в TableGrid можно было задать также и ширину столбцов?
По-моему, это хорошо пишется в диалог настройки столбцов, а то кода требуется очень много в скриптах для установки ширины столбцов.