- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Delphi 10.1 中,我有一个名为 DogCollection 的 ObjectList每个条目都是 TDog 类型,一个自定义类。
感谢 Malcolm Groves 的教程,我能够填充 Stringgrid与我的 DogCollection。
http://www.malcolmgroves.com/blog/?p=1084
现在我希望能够滚动字符串网格,每次滚动时我都想更新 TDog 类型的变量“CurrentDog”,以及字符串网格中突出显示的任何对象。
所以我有关于我的 DogObjects 的概述以及我的狗的单个对象我可以独立查看/操作。
此时我已经没有想法了。
如果对您有任何帮助,我也无法触发适配器的 AfterScroll 事件,即使我使用 RightClick->Add Navigator 添加导航器也无法触发。
感谢您的帮助和时间。
最佳答案
不确定是否理解这个问题,但我认为您不需要变量“CurrentDog”来处理列表中选定的对象。
您可以为您的狗创建所需的所有组件(TEdit)(名称、年龄...)并将这些组件绑定(bind)到 TDataGeneratorAdapter 中的相同字段(名称、年龄...)(链接到TAdapterBindSource 的“适配器”属性)。
然后,当您在网格中选择一行时,相应的对象就会出现在您的编辑组件中。当您修改“文本”属性时,网格会更新。
编辑:内部适配器
经过几次搜索,您可以使用 TAdapterBindSource 的 InternalAdapter 获取对象
在 OnClick 事件上:
procedure TForm1.Button1Click(Sender: TObject);
var
Adapter: TBindSourceAdapter;
begin
Adapter:= AdapterBindSource1.InternalAdapter;
CurrentDog:= TDog(Adapter.Current);
end;
关于delphi - 如何在Delphis LiveBindings中提取BindSource的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40845034/
我是一名优秀的程序员,十分优秀!