Ver Mensaje Individual
  #2  
Antiguo 09-07-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Reputación: 17
gabrielkc Va por buen camino
Cita:
Empezado por ronimaxh
Código Delphi [-]
//Con esto lleno el CheckListBox1
begin
with CheckListBox1 do
begin
st.SQL.Text:='';
st.SQL.Text:='select * from nf_cuentasnom order by descripcion';
st.Open;
st.First;//Esto no es necesario, porque acabas de abrir el query
while not st.Eof do
begin
Items.Add(st.fieldbyname('descripcion').AsString);
Items.Index:=(st.FieldByName('nomina').AsInteger); //Este es el indice que quiero
st.Next;
end;
end;
end;

// con este código consigo cuales tienen cotejo;
var i:integer;
begin
with CheckListBox1 do
begin
for i:=0 to Items.Count-1 do
begin
if Checked[i]then
begin
id_nom:=ItemIndex; //Este index no es el que esta en la tabla de nomina
end;
end;
end;
end;

1.- st.SQL.Text:='';//esto no es necesario, porque en la siguiente linea le asignas un valor
2.-st.First;//Esto no es necesario, porque acabas de abrir el query.

2.- La propiedad ItemIndex del CheckListBox determina cual item está seleccionado, aunque en tu código
si entendí bien cambiarías dicho ItemIndex con cada registro, además la propiedad
Index no existe en los TStings
Items.Index:=(st.FieldByName('nomina').AsInteger); //Este es el indice que quiero

4.-
Código:
with CheckListBox1 do
   begin
     for i:=0 to Items.Count-1 do
         begin
           if Checked[i]then
              begin
                id_nom:=ItemIndex; //Este index no es el que esta en la tabla de nomina
              end;
         end;
En el anterior código haces un for y asignas al id_nom el ItemIndex del
item seleccionado, pero como es un for si hay más de 1 item seleccionado
solo obtendrías el último, me parece que estás conciderando que solo se seleccionaría 1,
por lo tanto yo creo que el CheckListBox no es el componente ideal para esa operación,
probablememte un ComboBox te funcionaría mejor (es incluso más estandar)

Última edición por gabrielkc fecha: 09-07-2007 a las 16:31:23.
Responder Con Cita