数据感知控件怎么知道已经连接了? ( 积分: 50 )

  • 主题发起人 主题发起人 bbscom
  • 开始时间 开始时间
B

bbscom

Unregistered / Unconfirmed
GUEST, unregistred user!
一、数据感知控件怎么知道已经连接了?
实例如:ADOConnection1、ADOQuery1、DataSource1相互连接,对DBGrid1、DBEdit1、DBMemo1、DBListBox1...等数据感知控件也相互连接。当ADOQuery1.Open打开时,其它感知控件就会显示数据,问题是这些感知控件怎么知道被ADOQuery1.Open打开有数据了?
再如:当ADOQuery1.Open时DBEdit1感知控件会显示数据,问题是DBEdit1怎么知道被OPEN了?
[blue]最好不要通过DBEdit1去判断ADOQuery1是否打开。[/blue]好像是message吧,希望大家指点一、二!!!
 
TDBEdit里有procedure CMGetDataLink(var Message: TMessage); message CM_GETDATALINK;这有什么用???
 
if adoconnection1.connected then
if adoquery1.active then
if datasource1.dataset.active then
如果回答不对,你跟踪源码
 
[red]最好不要通过DBEdit1去判断ADOQuery1是否打开。[/red]
 
这个问题,好像有点........
 
你去看一下这些控件的源码,其中有一个TDataLink类,这些控件都包含这个类
 
看源代码,要啥有啥
 
打开数据集或移动记录时,都会触发DataLink.OnDataChange的事件。你可以从该事件中编写从字段值到控件内容的过程。

具体可以参考TDBText或TDBEdit的源码,没有比他们更简单的例子了。
 
跟了很长时间,依然找不到源头。
 
后退
顶部