比方说,我有一组TField对象,想要动态地改变它们在某些DBGrid中的可见性.我还想允许用户更改此DBGrid中的列顺序,并具有一些固定列.
我知道在DBGrid上隐藏/显示列的正确方法,但是在VCL中存在一个很大的设计缺陷:拥有Column对象,可以移动到它的Field对象,但无法找回原因.
我想要的只是Field对象中的一种Column属性,所以我可以这样输入:
Field.Column.Visible := False;
Run Code Online (Sandbox Code Playgroud)
并使用指定的Columns属性隐藏DBGrid中的任何列.
我知道我可以用列创建HashSet或Collection并快速找到相应的列,但是有更直接的方法吗?