Исправление багов и реализация сортировки данных таблиц
Ну вот. День у меня уже закончился. Потому что нужно сделать небольшую паузу. Вчера у меня был нелёгкий день. Да и ночь тоже бессонная и не лёгкая. Потому что вчера я мучался с исправлением багов. Да и ночью с этим сидел до трёх часов, поскольку не спалось конкретно. Ох уж эти баги. Они как из рога изобилия хлестали. Один, за ним второй, третий, пятый, десятый... И так мне помучаться пришлось много часов. А именно возникли проблемы с вкладками таблиц. И с работой контрола для отображения данных таблиц. Короче, костылей нагородить пришлось не мало для того, чтобы всё нормально работало.
И сегодня мне тоже пришлось фиксить баги. Тоже связанные с вкладками таблиц. Когда я делал эти вкладки, этих проблем не было. Не буду тут описывать что именно, потому что это скучные технические подробности. Но теперь, когда этот контрол используется в элементах макета окна, то тут возникли некоторые проблемы. И так довольно часто. Что-то сделаешь, она работает нормально, стоит изменить какие-то условия и бац - что-то перестает корректно работать. Это просто невыносимо. И заставляет дёргаться. Да уж, неприятный момент. Но делать нечего, косяки нужно исправлять.
Из нового, что я сегодня сделал - это реализация функции сохранения порядка сортировки данных выбранного столбца таблицы. Щелкаешь по заголовку столбца, данные в столбце сортируются по возрастанию или убыванию, и если в настройках таблицы задана опция выполнения сортировки непосредственно в таблице базы данных SQLite, а не только в ее отображаемом в окне программы представлении, то сортировка выполняется с помощью SQL-запроса в БД. Но и тут я столкнулся с проблемой. Если в таблице имеются столбцы с уникальными ключами, то данные не будут перезаписаны. То есть данные при выполнении сортировки из таблицы будут получены, затем отсортированы, затем таблица очищается, ну и в конце-концов в эту таблицу вновь записываются отсортированные данные. И это работает, если в таблице нет столбцов с уникальными ключами. А с таковыми столбцами данные не перезаписываются,а теряются, поскольку SQLite при выполнении запроса перезаписи выдает ошибку. Так что вот так. Нужно будет ещё ограничивать выполнение сортировки в таблице БД, если в ней будут такие столбцы. Это я ещё не сделал.
Вот, на скриншоте выше, показана таблица, в которой данная сортировка работает. Как видно, там выведено уведомление об успешно выполненной сортировке данных. Потом мне нужно будет ещё реализовать проверку наличия в таблице столбцов с уникальными ключами, допускающие запись в столбец только уникальных значений.
Ну и на этом я пока закончу и сделаю небольшой перерыв. И теперь уже до новых постов и до новых свершений.



Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.