:: Visual Foxpro, Foxpro for DOS
Re: Ячейка грида недовалидирована
sphinx

Сообщений: 31187
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
А я тоже с интересом почитал. (вот запомню - вряд ли, но найду). Про всякие фокусы со скрытыми от пользователя объектами - скажем так сам пользовал. Но примитивно, даже для примера не вспомню.

Друзья, респект! Эти знания - в копилку всем.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Ячейка грида недовалидирована
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Владимир Максимов
"Ты не мудри, ты пальцем покажи!" (с) 1. Вводим в ячейке Grid дробное значение 1,23
1.1. Если нажали Enter - все хорошо
1.2. Если (? что ?) - все плохо. "Плохо" означает (? что не было сделано ?)

Пожалуйста, не надо "слов-заклинаний". Просто напиши, что происходит. По пунктам. Нажимаем вот это, происходит вот это, а ожидали вот такое.

1. В этом сюжете три действующих персонажа: верхний и нижний грид и кнопка вставки в верхний грид
2. При смене строки в верхнем, в нижнем отображаются дочерние строки.
4. При редактировании данных в нижнем в текущей строке верхнего меняются суммы в нескольких ячейках, пересчитываются.
5. Пока кнопку вставки не трогаем, все работает.
6. В нижнем в ячейке редактируем, например, число, и для выхода из ячейки нажимаем Enter, все работает.
7. Как п.6, но не нажимаем Enter, а можно бы еще пару десятичных ввести, которые и так - нули. И тут третий персонаж - кнопка вставки. Нажимаем!
Такая сцена, В верхнем появляется новая строка, но не пустая - суммы для предыдущей строки в ней.
А предыдущая строка с неизмененными суммами.

Такое простое, как генерировать нажатие Enter - первое, что приходит в голову, но не помогало.
Я тогда день потратил на подобное, а потом утром в Фреймворке в классе объекта третьего персонажа добавил свойство OldRec.
Это recno() строки (верхнего грида), с которой ушли.
Тогда костыль ставится легко. Но моего программиста не устроило.
Она переписала свои методы формы Фреймворка и решила проблему.

Я когда меняю что-то в Фреймворке (это exe-файл), то не редко что-то подпорчу или оставлю отладочные сообщения.
Это одна из причин, по которым не хотят рассылать новые версии Фреймворка заказчикам.
Но она не одна. Другие сильнее. Рассылка - это Вам не понять, если Вы работаете там, где внедряете.



Исправлено 1 раз(а). Последнее : Ydin, 14.05.23 16:24
Ratings: 0 negative/0 positive
Re: Ячейка грида недовалидирована
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
На кнопке вставки
if thisform.ActiveControl.Baseclass = 'Grid'
thisform.ActiveControl.Columns(thisform.ActiveControl.Activecolumn).text1.Valid()
endif

И тему можно закрыть
Ratings: 0 negative/0 positive
Re: Ячейка грида недовалидирована
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Или продолжить!
недовалидирована - от слова Valid. Как еще было сказать?

Это метод Valid ячейки грида.

А почему мне тут пришлось писать это
thisform.ActiveControl.Columns(thisform.ActiveControl.Activecolumn).text1.Valid()

Это недоработка VFP.
Явная, но спорить тут не хочу и не буду.
Лучше берегите себя, кто бы Вы ни были



Исправлено 2 раз(а). Последнее : Ydin, 15.05.23 13:59
Ratings: 0 negative/0 positive
Re: Ячейка грида недовалидирована
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
Цитата:
А почему мне тут пришлось писать это
thisform.ActiveControl.Columns(thisform.ActiveControl.Activecolumn).text1.Valid()
Это недоработка VFP.
Явная, но спорить тут не хочу и не буду.
Valid отрабатывает при потере объектом валидации фокуса.
Но я так до сих пор и не понял (ты не ответил), теряет ли та ячейка фокус или нет.
А если не теряет, то при чем здесь недоработка Фокса? Он и не должен делать Valid, пока ячейка в фокусе.
Выше Равиль сделал предположение, но никакой ответной реакции не последовало - ни подтверждения, ни опровержения.



Исправлено 1 раз(а). Последнее : akvvohinc, 15.05.23 17:09
Ratings: 0 negative/0 positive
Re: Ячейка грида недовалидирована
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Смотри, я же не придумал. Как оно работает, хрен его знает. Я не изучал, мне результат нужен.
И мне не интересно, что вообще тут интересно. Меня другая работа ждет. Тут - сделал и забыл.
Сам! Мне Форум не помог, я не хочу тут рассказывать, т.к. и так все сказал



Исправлено 2 раз(а). Последнее : Ydin, 15.05.23 17:43
Ratings: 0 negative/0 positive
Re: Ячейка грида недовалидирована
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Большое спасибо всем за участие!
Равиль писал то, что я и реализовал!
Ratings: 0 negative/0 positive
Re: Ячейка грида недовалидирована
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Да, кнопка с BaseClass = Image.
И не получает фокус, что мне и надо было. Пока не нарвался
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 29 leonid  (Гостей: 28)

© 2000-2024 Fox Club 
Яндекс.Метрика