Вот уже почти девять часов вечера. А начинал я свой рабочий день в девять утра! Сегодняшний день был очень долгим и очень тяжелым. Программа моя сегодня практически выжала меня как лимон. 12 часов копошения снова с диалоговыми окнами для создания SQL-запроса на выборку данных. SQL-запрос на выборку данных самый сложный из SQL-запросов.
Ну а до полуденного времени я работал над простым диалоговым окном для выбора SQLite-функции и вставки готового определения функции с аргументами в текстовое поле. Вот это окошко на скриншоте выше. Потом я доделал окно для определения условных выражений, по которым производится выборка данных из таблицы БД заданная по определённым критериям. Ну а с шести часов вечера меня ждали девять кругов ада.
Да, застрял я конкретно с одним багом. Ладно, вот скриншоты тех диалоговых окон, над которыми я сегодня работал.
Вот он, диалог для определения оконной функции. Эти функции имеют аналитическое назначение. Ну да ладно, не буду сейчас тут об этом расписывать. Вернёмся к кругам ада.
Короче, видите ли вы на самом нижнем скриншоте вид окна а там пара списков с мультивыбором столбцов для текущей создаваемой таблицы? Ладно. Ну так вот. Для того, чтобы добиться того, чтобы выбранные столбцы сохранялись и выводились при повторном открытии этого окна, мне пришлось конкретно замучаться. Почему? Да потому что снова эти, МАТЬ ИХ. привязки данных чертовы! Уже так хочется ругаться и материться на эти привязки, которые по какой-то своей непонятной прихоти то работают, то нет. Я почти три часа с этим мучался. Не работает привязка с данными о текущей таблицы, не передаётся привязка от свойства модели-представления окна к контролу, выводящему данные списку. Ну хоть лопни, не получается и всё!
Ну я воспользовался последним отчаянным способом передачи объекта с данными. Тупо забил в статическое свойство C#-класса контрола этот объект, а затем вытащил из этого свойства объект в самом конечном контроле. Это костыльное, некрасивое решение. Но я не знаю как ещё заставить это работать 🤬🤬🤬
Так что приходится мириться с тем, что иногда приходится делать что-то неудобным способом. И я не могу быть уверенным в том, что такое решение потом не выйдет боком и не вылезет кне-нибудь ещё какой-то баг. Так что на счет всего этого у меня есть сомнения. Я вообще не уверен в том, что в итоге у меня получится и будет ли работать программа. В том числе на разных операционных системах. У меня в голове роится мысть - как бы все мои потуги с программой не оказались напрасными и мне не пришлось отказаться от программы и выкинуть её на свалку. Это невероятная досада. Несколько месяцев мучаться, чтобы твоя работу ушла псу под хвост.
В общем, не заю, что выйдет. Но нужно делать, раз начал. И нужно стараться по максимуму. Сегодня был тяжелый день. Надеюсь, что завтра день будет легче. Ну и на это закончу. Всё на сегодня. И до новых постов и я надеюсь, до новых свершений. Завтра я постараюсь "добить" всю эту вереницу диалоговых окон и закончить уже с темой создания таблиц.


