Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Control TcxLookupComboBox (https://www.clubdelphi.com/foros/showthread.php?t=83705)

JM1985 18-07-2013 01:20:14

Control TcxLookupComboBox
 
Hola que tal comunidad buenas tardes soy nuevo en el foro y nuevo en c++ builder.

Tengo un pequeño inconveniente que no eh podido solucionar.
Se tienen ciertos controles DevExpress, tengo que cargar desde una tabla en sql server el control TcxDBLookupComboBox pero me ha traído ciertos problemas que no eh podido resolver.

El control se carga por medio de los controles DataSource, ClientDataSet, DataSetProvider, TSQLQuery.

Resulta que le agrego el ListSource = DataSource

Sql = "";
SQLQuery->Close();
Sql = "SELECT cDescripcion, iIdDescripcionListaPrecio FROM DescripcionListaPrecios";

SQLQuery->SQL->Clear();
SQLQuery->SQL->Add(Sql);
SQLQuery->SQLConnection = ModuloDeDatos->Conexion;
ClientDataSet->Open();

cxDBLookupComboBox->Properties->ListFieldNames = "cDescripcion";
cxDBLookupComboBox->Properties->KeyFieldNames = "iIdDecripcionListaPrecio";

y hasta aquí todo ok.
Pero cuando quiero seleccionar un item no me permite seleccionarlo no lo selecciona y necesito seleccionar el item para que grabe en una tabla el Key.

Espero haberme explicado gracias.

Casimiro Notevi 18-07-2013 13:03:55

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

Recuerda poner los tags al código fuente, ejemplo:



Gracias :)





.

ecfisa 18-07-2013 19:30:05

Hola JM1985.

Veo que estas usando los componentes dbExpress por lo que deberías agregar un TDataSetProvider y un TClientDataSet (pestaña Data Access).

Aunque no conozco el componente TcxLookupComboBox, creo que el funcionamiento debe ser similar al TDBLookupComboBox.

La configuración la podes hacer desde el Object Inspector pero por ser mas fácil de explicar, voy a asignar las propiedades y relaciones entre componentes por código.
Código:

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  // Consulta
  SQLQuery1->SQLConnection = SQLConnection1;
  SQLQuery1->Close();
  SQLQuery1->SQL->Text = "SELECT cDescripcion, iIdDescripcionListaPrecio FROM DescripcionListaPrecios";
  SQLQuery1->Open();

  // Relaciones
  DataSetProvider1->DataSet = SQLQuery1;
  ClientDataSet1->ProviderName = "DataSetProvider1";
  DataSource1->DataSet = ClientDataSet1;
  ClientDataSet1->Open();
 
  // Combo
  DBLookupComboBox1->ListSource = DataSource1;
  DBLookupComboBox1->ListField = "cDescripcion";
  DBLookupComboBox1->KeyField  = "iIdDecripcionListaPrecio";
}

Lógicamente tendrás que cambiar lo referente a TDBLookupComboBox por las propiedades equivalentes del componente TcxLookupComboBox para que funcione.

Saludos. :)


La franja horaria es GMT +2. Ahora son las 00:41:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi