我在表单中编辑网格时遇到问题,该网格显示在我的一个表中找到的数据。我无法修改现有字段或添加新字段。
Readonly=false
allowaddnew=true
enabled=true
我认为问题不在网格中。听起来你需要在连接数据的选项上做一些功课。VFP旨在允许您将控件直接连接到VFP表,或连接到来自VFP表或SQL数据库服务器的视图。
如果您将网格直接绑定到VFP表,那么您更改的每个字段都会立即反映回表中。这听起来像是你想要的,但考虑一下如果你想添加一张新唱片会发生什么。您需要一些代码来向表中添加新的空白记录,并填充一些关键字段,这听起来很简单。但是,当用户开始进行数据输入,然后决定放弃它,或者失去连接时,会发生什么?现在,您的表中有数据,需要添加更多的代码和维护过程来清理。
有些人通过创建临时表(使用表单的Data Environment Init方法),然后将网格绑定到临时表来解决这个问题。然后,如果用户单击Save,开发人员必须编写代码将数据同步回生产表。但后来MS引入了可更新视图,允许您查询VFP表或SQL Server,并将网格绑定到它们。这样做的好处是,您可以使用"缓冲"方法自动将数据同步回生产表,而无需编写费力的代码来映射创建/更新/删除的所有字段和业务逻辑。这家伙写了一篇关于缓冲模式的好文章。https://www.levelextreme.com/ShowHeaderArticleOneItem.aspx?ID=39374
许多开发人员已经走上了这条道路,使用缓冲的问题很复杂,需要花费大量时间才能理解。人们围绕销售开发人员工具创建了一个完整的业务,这些工具管理了这个问题的复杂性,但根据我的经验,总有一些问题并不明显,需要大量的实验才能解决。