Ну вот, завершаю очередной нелёгкий рабочий день недели над программой. Чтобы пойти по другим делам, не всё программа. А что же у меня было сегодня? Возня и ещё раз возня. Вот конкретно я увяз в туче диалоговых окон для определения SQL-запроса на выборку данных из таблицы базы данных.
Жесть просто получилось. Лучше на всю глубину диалогов не нырять, можно и не выплыть. А наворотил я по-настоящему пугающую глубину диалогов. Ещё даже не завершил работу над диалогом для... дайте вспомнить, их так много... над диалогом для определения столбца, подзапроса или оконной функции выборки данных из таблицы БД. Но тем не менее, создал ещё пару диалогов, которые уводят пользователя в глубину дебрь этого диалога. А это диалоги для определения условного выражения для столбца CASE.. WHEN и в нём ещё глубже - диалог для определения самих условий для выборки данных в SQL-выражении WHERE!!!
В общем, рядовому пользователя это вряд ли понадобится, но зато, признать, для понтов - это украсит. И сделает программу навороченной. Что ж, приходится признать, нуждаюсь я в красивых и сложных наворотах.
Но вот только одна вещь мне сегодня омрачила настроение. А именно привязки данных. Ох уж эти привязки!!!!! А дело в том, что эти привязки работают таким образом, что привязывают изменения данных между диалоговыми окнами, между которыми нет прямой связи. Эта особенность внесла свои коррективы, коррективы удручающие. При задании вложенного SQL-запроса, то есть если открыть корневой диалог определения выборки данных из другого диалога определения выборки данных, то при редактировании полей автоматически будут изменяться значения в открытом диалоге под ним. То есть в родительском диалоге. Такой ерунды не должно быть. И такого у меня не было в моей прошлой версии программы. Там не было контрола 'ListEditor', а просто был список элементов, выводимый через повторитель элементов. То есть было лучше, чем я делаю сейчас. И я пока не знаю, как это исправить. Уже намотал кучу костылей в этот контрол и уже успел пожалеть о том, что сделал этот контрол. Лучше бы я его не сделал, а сделал бы так. как у меня было в прошлой версии программы.
Я же наивно понадеялся, что если я сделаю этот контрол, то он позволит мне экономить время при вёрстке диалоговых окон. Как бы не так! Нет никакой экономии времени, наоборот, я каждый день трачу часы времени, на то, чтобы прикрутить очередной костыль к этому несчастному и порядком меня задолбавшему контролу!!!!!!! Вот такие несладкие пироги. Так что ещё далеко до окончания работы над всей серией этих диалоговых окон. До конца недели как минимум на это работы хватит.
Ну и на этом я закругляюсь. Пока что всё. Далеко я сегодня не продвинулся. Ну что ж, придётся двигаться черепашьими шагами. Ну и на этом у меня всё и до новых постов, до новых свершений.

