Model for Hosting RDO Data Controls in a Container

A container hosts an RDO data-source control as follows

  1. The container obtains an IVBDSC interface from the data-source control. If it cannot find IVBDSC, then it is not a data-source control.

  2. The container obtains the ICursor interfaces from the data-source control. These interfaces supply a Cursor object that can be manipulated by a client.

  3. The container hooks up to the data-source control's INotifyDBEvents interface. This interface allows the container to receive notifications from the data-source control. The container should support the INotifyDBEventsSink interface in order to do this.

A container hosts an RDO data-bound control as follows

  1. The control supports the IBoundObject interface and the container supports the IBoundObjectSite interface. The control obtains the container's IBoundObjectSite interface, and the container obtains the IBoundObject interface from the control.

  2. The control supports the IPropNotifySink interface, and hooks up with the container. This allows the container to receive notifications from the control.

  3. If the control supports INotifyDBEventsSink, it can receive notifications from an RDO data-source control after connecting with the data-source control's INotifyDBEvents interface.

  4. The control then can receive cursor objects from the data-source control (directly or through the container). The cursors can then be manipulated and scrolled. At this point, the RDO data-bound control is successfully bound.

Back to Using RDO Databinding in Visual C++.