Re: Ячейка грида недовалидирована | |
---|---|
sphinx Сообщений: 31188 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
А я тоже с интересом почитал. (вот запомню - вряд ли, но найду). Про всякие фокусы со скрытыми от пользователя объектами - скажем так сам пользовал. Но примитивно, даже для примера не вспомню.
Друзья, респект! Эти знания - в копилку всем. ------------------ "Veni, vidi, vici!"(с) |
Re: Ячейка грида недовалидирована | |
---|---|
Ydin Автор Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
1. В этом сюжете три действующих персонажа: верхний и нижний грид и кнопка вставки в верхний грид 2. При смене строки в верхнем, в нижнем отображаются дочерние строки. 4. При редактировании данных в нижнем в текущей строке верхнего меняются суммы в нескольких ячейках, пересчитываются. 5. Пока кнопку вставки не трогаем, все работает. 6. В нижнем в ячейке редактируем, например, число, и для выхода из ячейки нажимаем Enter, все работает. 7. Как п.6, но не нажимаем Enter, а можно бы еще пару десятичных ввести, которые и так - нули. И тут третий персонаж - кнопка вставки. Нажимаем! Такая сцена, В верхнем появляется новая строка, но не пустая - суммы для предыдущей строки в ней. А предыдущая строка с неизмененными суммами. Такое простое, как генерировать нажатие Enter - первое, что приходит в голову, но не помогало. Я тогда день потратил на подобное, а потом утром в Фреймворке в классе объекта третьего персонажа добавил свойство OldRec. Это recno() строки (верхнего грида), с которой ушли. Тогда костыль ставится легко. Но моего программиста не устроило. Она переписала свои методы формы Фреймворка и решила проблему. Я когда меняю что-то в Фреймворке (это exe-файл), то не редко что-то подпорчу или оставлю отладочные сообщения. Это одна из причин, по которым не хотят рассылать новые версии Фреймворка заказчикам. Но она не одна. Другие сильнее. Рассылка - это Вам не понять, если Вы работаете там, где внедряете. Исправлено 1 раз(а). Последнее : Ydin, 14.05.23 16:24 |
Re: Ячейка грида недовалидирована | |
---|---|
Ydin Автор Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
На кнопке вставки
if thisform.ActiveControl.Baseclass = 'Grid' thisform.ActiveControl.Columns(thisform.ActiveControl.Activecolumn).text1.Valid() endif И тему можно закрыть |
Re: Ячейка грида недовалидирована | |
---|---|
Ydin Автор Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Или продолжить!
недовалидирована - от слова Valid. Как еще было сказать? Это метод Valid ячейки грида. А почему мне тут пришлось писать это thisform.ActiveControl.Columns(thisform.ActiveControl.Activecolumn).text1.Valid() Это недоработка VFP. Явная, но спорить тут не хочу и не буду. Лучше берегите себя, кто бы Вы ни были Исправлено 2 раз(а). Последнее : Ydin, 15.05.23 13:59 |
Re: Ячейка грида недовалидирована | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Valid отрабатывает при потере объектом валидации фокуса. Но я так до сих пор и не понял (ты не ответил), теряет ли та ячейка фокус или нет. А если не теряет, то при чем здесь недоработка Фокса? Он и не должен делать Valid, пока ячейка в фокусе. Выше Равиль сделал предположение, но никакой ответной реакции не последовало - ни подтверждения, ни опровержения. Исправлено 1 раз(а). Последнее : akvvohinc, 15.05.23 17:09 |
Re: Ячейка грида недовалидирована | |
---|---|
Ydin Автор Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Смотри, я же не придумал. Как оно работает, хрен его знает. Я не изучал, мне результат нужен.
И мне не интересно, что вообще тут интересно. Меня другая работа ждет. Тут - сделал и забыл. Сам! Мне Форум не помог, я не хочу тут рассказывать, т.к. и так все сказал Исправлено 2 раз(а). Последнее : Ydin, 15.05.23 17:43 |
Re: Ячейка грида недовалидирована | |
---|---|
Ydin Автор Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Большое спасибо всем за участие!
Равиль писал то, что я и реализовал! |
Re: Ячейка грида недовалидирована | |
---|---|
Ydin Автор Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Да, кнопка с BaseClass = Image.
И не получает фокус, что мне и надо было. Пока не нарвался |
© 2000-2024 Fox Club  |