Bueno, el control DataCombo parecido al ComboBox, el primero sirve para conectarlo a Bases de datos, tiene una propiedad RowSource a la cual se le puede asignar un DataEnvironment y una propiedad DataMembers a la cual se le puede asignar un Command del DataEnvironment el cual puede contener una consulta tipo tabla o SQL. Al asignar estas propiedades el DataCombo tiene acceso a todos los campos resultantes de la consulta asignada previamente pero solo puedes mostrar uno en la lista, que se especifica en la propiedad ListFields, sin embargo, a través de la propiedad BoundColumn puedes tener acceso a otro campo de la consulta asignada al DataCombo, claro que este no se vé en la lista pero está acompañando a cada elemento que si se muestra de la lista. Mejor e lo explico con un ejemplo ...
Tu tienes una tabla de facturas y otra de clientes. Clientes tiene un campo numérico PK llamado ID y Facturas tiene un campo numérico FK llamado ID_Clientes, osea que podemos conectar las dos tablas por medio de una relación (Un Cliente puede tener N Facturas) con estos dos campos. Ahora bien, deseas crear un formulario para ingresar datos a Facturas pero no deseas que el usuario tenga que digitar el código del cliente en el campo ID_Cliente, pues es muy incomodo para él aprenderse los códigos de sus clientes, entonces la solución está en utilizar un DataCombo en lugar del TextBox que está conectado al campo ID_Cliente. Ese DataCombo tendrá en su propiedad RowSource un DataEnvironment y en su propiedad DataMembers un Command que contiene una Consulta con los campos de la tabla clientes en la cual puedes incluir ID y Nombre. En la propiedad ListFields seleccionas el campo Nombre y en la propiedad BoundColumn el campo ID y obviamente en la propiedad DataSource lo