А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Работа над функционалом редактирования данных отображаемых таблиц

 

Последний рабочий день недели. А завтра у меня - выходной. От  программы. Потому что есть ещё и другие дела, в том числе творческие. Ими-то я завтра и займусь. Ну а что же было сегодня. Конечно, уже традиционно, я начал свою работу не с реализации того, что задумывал вчера вечером. Как всегда уже. К тому, что задумывал, я перешёл только к двум часам дня. Ну а до полудня меня опять увело. Увело на реализацию дополнительного функционала программы и на доработку допущенных ранее упущений. Ну и что же я добавил нового в функционал программы, что заняло у меня время аж до полудня? А именно добавил одну полезную для определенной категории людей функцию. Это возможность произведения в интерфейсе программы сложных математических и научных расчётов. И это должно расширить ареал применения моей программы. Установил библиотеку из nuget для выполнения этих вычислений и сознал функцию динамического выполнения C# кода. Эту функцию я прикрутил к пользовательской функции выполнения кода в C#-классе SQLite, в конвертере для обработки выводимых данных в ячейках отображаемых таблиц. И ещё буду использовать в дальнейшем в новых элементах интерфейса, реализация которых уже не за горами...

0 + 0 -

Завершение работы над механизмом поиска и начало работы над сохранением и редактирование данных

 

Вот, ещё один более менее плодотворный день позади. И уже традиционно, с утра я начал работать не над тем, над чем планировал начать с утра работать предыдущим вечером. Ну а к работе над завершением реализации поискового механизма для поиска в отображенной таблице я начал только практически к обеду. Так что вот так. Ну а что же было с самого утра? А с утра я реализовывал вновь возникшие вчера вечером идеи. Или, точнее, доделывание упущений. А упустил я тип данных в своих таблицах - TIMESTAMP. Или временная метка. Нужно для этого типа данных реализовать редактор дефолтного значения в контроле ввода дефолтного значения иной, чем тот, который был. А нужен был лишь список с возможностью выбора трёх констант: CURRENT_DATE, CURRENT_TIME и CURRENT_TIMESTAMP. Это вместо редактора маскированного текстового поля с маской для штампа даты-времени. Для этой цели я сделал целый отдельный контрол и залепил его в контрол-редактор дефолтных значений столбцов таблиц...

0 + 0 -

Работа над поиском и новые исправления багов

 

Весь день у меня сегодня прошел в работе. И вот, только сейчас закончил. Длинный был день и не простой. Но больше меня сегодня вымотало снова исправления багов. И застарелых багов. Мучали меня всё те же вкладки ленты на главном окне. Всё пытался наладить их работу и синхронность с вкладками таблиц и выбранными в дереве объектами базы данных. Сделал всё, что смог. Идеально, к сожалению, не получилось. Но сделал хотя бы так, чтобы сносно всё работало. Ещё раз повторю, что идеально тут уже этот механизм не наладишь, так как получилось всё довольно запутанно. А для того, чтобы всё распутать и сделать прозрачный механизм, то тут придётся потратить ещё не мало месяцев работы для того, чтобы переделать весь интерфейс программы. А работа с интерфейсом - самая трудоёмкая. Мне даже проще работать с бэкэндом. Ну и только меньшую часть дня заняла у меня работа с поиском в отображаемой таблицей. Не в таблице БД SQLite, из которой и выбираются эти данные, а в той, что отображается в окне программы. Работа над поиском в таблице БД мне ещё предстоит делать...

0 + 0 -

Мучение с вкладками ленты окна

 

Сегодня прямо с утра я начал работать над поиском и заменой в отображаемых таблицах. Но как бы не так. Проработал над этим лишь час, сделав только скелет самой функции поиска. Ибо меня отвлекать стали старые-новые проблемы. И проблемы серьёзные. Навлекшие на меня черные мысли. Мысли о том, что мне снова не удалось сделать хорошую программу. Мысли от том, что неплохо было бы снова переделать всю программу с нуля. Потому что те нагромождения в коде, что мне пришлось наделать никак нельзя назвать хорошей реализацией. Сегодня мне снова, целый день, пришлось заниматься налаживанием работы вкладок таблиц и ленточных вкладок окна. Потому что как всегда я сделал крупное упущение - не проверил отображение представлений таблиц базы данных. Да, представлений! Их я должен был настраивать одновременно с таблицами. Но как оно почти всегда бывает, что не проверил - то не работает. Вот такие несладкие пироги...

0 + 0 -

Реализация интерфейса настроек поиска

 

И снова первый день новой рабочей недели. Время идет просто потрясающе быстро и не успеваешь замечать смены дней, недель, месяцев и даже времен года. Настолько время мимолетно и настолько работа погружает тебя в себя. Ну да ладно, довольно лирики. И теперь перейдем к итогам сегодняшнего дня.

Ну а сегодня главным (но, к сожалению, мелким - продуктивность подтормаживает) свершением было создание блока с настройками для поиска в отображенных данных таблицы. То есть поиск будет производиться в тех строках таблицы, которые были выбраны после SQL-запроса в базу данных, а не во всей таблице. Поиск (с заменой) во всей таблице в файле БД, как я уже говорил ранее, будет отдельным и будет расположен в другой панели макета главного окна. Так что вот так. Ну и вот эти настройки поиска во всплывающем оке показаны на верхнем скриншоте...

0 + 0 -

Начало работы над фильтрами для таблиц

 

Ну вот, наконец-то я до этих пресловутых фильтров добрался! Долго добирался. Но и сегодня не самого утра добрался. А практически до полудня мне уже традиционно пришлось заниматься доработками, поправками и фиксингом багов. Традиционно. И с утра. Почему-то так повелось. Ну да ладно. Ну а главные поправки с начала дня касались самого ядра базы данных. Была до вчерашнего дня такая проблема - невозможно было записать повторно данные (при различных операциях со структурой таблиц), если в таблицы был первичный ключ. Первичный, а не уникальный, как я вчера ошибочно полагал. Ну в общем-то я это нормально исправил. При перезаписи данных в таблице теперь можно задать опцию игнорирования чтения данных из столбцов с первичным ключом. Вот эти-то данные и не нужны при перезаписи. Ну и после исправления уже не было косяка, связанного с дублированием данных для столбцов с первичным ключом...

0 + 0 -

Реализация упорядочивания столбцов таблиц

 

Вот, прошел ещё одни рабочий день. Что он принес? А принес он некоторые доработки и реализацию функции выполнения упорядочивания столбцов в таблице базы данных вслед за упорядочиванием столбцов в отображаемой таблице интерфейса. Дело это не хитрое. Но вот штука опять в том, что это будет работать только если в таблице нет столбцов с уникальными ключами. В противном случае перезапись данных в таблицу БД невозможна. Так что вот так. 

Ну а ещё я завершил пока все прочие недокрученные "докрутки". Например, добавил автокомплит введенных ранее и сохраненных в кэше значений при редактировании содержимого ячеек таблиц. Мелочь, но всё же это может принести удобства во многих случаях. Так как не надо повторно вводить какое-то значение, оно может быть вставлено из выпадающего списка текстового поля. Но доступно это удовольствие только для столбцов типа "VARCHAR". Так же как и автовставка пользовательских переменных...

0 + 0 -

Исправление багов и реализация сортировки данных таблиц

 

Ну вот. День у меня уже закончился. Потому что нужно сделать небольшую паузу. Вчера у меня был нелёгкий день. Да и ночь тоже бессонная и не лёгкая. Потому что вчера я мучался с исправлением багов. Да и ночью с этим сидел до трёх часов, поскольку не спалось конкретно. Ох уж эти баги. Они как из рога изобилия хлестали. Один, за ним второй, третий, пятый, десятый... И так мне помучаться пришлось много часов. А именно возникли проблемы с вкладками таблиц. И с работой контрола для отображения данных таблиц. Короче, костылей нагородить пришлось не мало для того, чтобы всё нормально работало. 

И сегодня мне тоже пришлось фиксить баги. Тоже связанные с вкладками таблиц. Когда я делал эти вкладки, этих проблем не было. Не буду тут описывать что именно, потому что это скучные технические подробности. Но теперь, когда этот контрол используется в элементах макета окна, то тут возникли некоторые проблемы. И так довольно часто. Что-то сделаешь, она работает нормально, стоит изменить какие-то условия и бац - что-то перестает корректно работать...

0 + 0 -

Окно вставки шаблонов и целый день работа с багами

 

И работа с багами будет продолжена ещё и завтра. Из нового, что я сегодня успел сделать, хочу отметить диалоговое окно для вставки текстовых шаблонов в любые текстовые поля программы. На любом текстовом поле нужно нажать комбинацию клавиш "Shift+Enter" и откроется это окно. Там нужно выбрать один из добавленных шаблонов и закрыть диалог. Тогда строка-шаблон будет вставлено в текстовое поле. Ну и из новшеств за сегодняшний день это все. Весь остальной день, часов семь, я занимался только исправлением косяков, которые нескончаемым и неудержимым потоком просто лились на меня. И я жесть как от этого задолбался. Как же  муторно возвращаться снова к тому, что уже давно должно исправно работать.

Вот опять контрол ListEditor. Там мне покопаться сегодня пришлось основательно. Потому как работа этого редактора была некорректной. Пришлось с этим долго возится. Исправил всё, кроме одного небольшого, но досадного косяка. С ним имеются пока трудности, ввиду неясности его происхождения. А именно некорректное отображения столбцов контрола DataGrid по ширине. Почему-то авто-заданные размеры столбцов расставляются некорректно. Этот косяк можно профиксить, если для одного из столбцов задать фиксированные, пиксельные размеры. Но мне как-то не очень нравятся костыли...

0 + 0 -

Доработка функционала и новые идеи

 

Вот и денёк воскресный подходит в концу. А у меня сегодня не было выходного. У меня сегодня кипела работа. Но, честное слово, опять не не добрался до того, то чего вчера планировал добраться. И уже два-три дн как планировал добраться. Это всё потому что у меня как фонтаном хлещут новые идеи, заставляя меня заниматься их воплощением. А напридумывал вчера и сегодня я не мало нового. Вот так, сроки работы над программой всё увеличиваются. Но зато, когда программа будет закончена, это будет крутая программа со множеством функций. Что ж я нового опять придумал? 

Ну не только новое я сегодня делал. Ещё мне пришлось отвлекаться на доработку старого. Из старого - доработал меню в группах макета и вкладках и группах таблиц. Там я сделал XAML-разметку более лаконичной и добавил туда надписи клавиатурных сокращений, примененных для команд пунктов меню. Это я делал буквально недавно...

1 + 0 -
  • Яндекс.Метрика