Как редактировать сетку в Visual Fox Pro? - PullRequest
0 голосов
/ 11 февраля 2019

У меня проблемы с редактированием сетки в моей форме, которая отображает данные, найденные в одной из моих таблиц.Я не могу изменить уже существующие поля или добавить новые.

Readonly=false
allowaddnew=true
enabled=true

1 Ответ

0 голосов
/ 04 марта 2019

Я думаю, что проблема не в сетке.Похоже, вам нужно сделать домашнее задание по настройкам, чтобы подключиться к вашим данным.VFP разработан для того, чтобы вы могли подключать свои элементы управления непосредственно к таблице VFP или к представлению, которое приходит либо из таблицы VFP, либо с сервера базы данных SQL.

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

Некоторые люди решили эту проблему, создав временные таблицы (используя метод формы Data Environment Init), а затем связали с ним сетку.Затем, если пользователь нажимает кнопку Сохранить, разработчик должен был написать код для синхронизации данных обратно в рабочие таблицы.Но затем MS представила обновляемые представления, которые позволяют вам запрашивать либо таблицу VFP, либо SQL Server и вместо этого привязывать к ней свою сетку.Преимущество состояло в том, что вы могли бы затем использовать метод «буферизации» для автоматизации синхронизации данных обратно в рабочую таблицу без написания трудоемкого кода для сопоставления всех полей и бизнес-логики вокруг создания / обновления / удаления.Этот парень написал хорошую статью о режимах буферизации.https://www.levelextreme.com/ShowHeaderArticleOneItem.aspx?ID=39374

Многие разработчики пошли по этому пути, и проблемы, связанные с использованием буферизации, сложны и требуют значительного времени для понимания.Люди создавали целый бизнес, продавая инструменты для разработчиков, которые справлялись со сложностью этой проблемы, но, по моему опыту, всегда были проблемы, которые не были очевидны, и потребовалось много экспериментов, чтобы понять это.

...