Jump to content


Photo

comparar dos listbox


  • Please log in to reply
2 replies to this topic

#1 donpedro

donpedro

    Newbie

  • Miembros
  • Pip
  • 1 posts

Posted 16 November 2012 - 08:37 AM

Hola, estoy realizando un sistema para colegios en delphi 2010 utilizando MySql como manejador de base de datos, y quickreport para realizar los reportes.
tengo un modulo donde le asigno a cada curso o grado las materias correspondientes para ese curso para ello utilizo dos listbox uno me carga todas las materias y al otro le voy pasando las materias que va tener un curso que ya he seleccionado por medio a un combobox.

Imagen Enviada

aqui viene el problema:

si elijo un grado y ese grado no tiene materias quiero que me muestre todas las materias en el listbox1......ahora si por ejemplo al primer grado le asigno la materia de Ingles, cuando yo elija el curso primer grado quiero que solo se muestren en el listbox1 las materias que ese grado no tiene. osea me presente todas las materias menos ingles porque ya ese curso la tiene asignada.

he intentado hacerlo en base a consultas pero no he podido....espero que me ayuden....

gracias de antemano por sus comentarios.....
  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2092 posts
  • LocationRepública Dominicana

Posted 16 November 2012 - 01:35 PM

Saludos.

Lo idóneo es eliminar del ListBox el item seleccionado o simplemente llenar nuevamente el ListBox con las materias restantes, como te resulte mas cómodo.

Eso también aplica para cuando eliminas el Item del Listbox de la derecha.
  • 0

#3 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 posts
  • LocationEspaña

Posted 19 November 2012 - 02:30 AM

Buenas,

Una solución es la que te comenta Rolphy (mediante el método IndexOf de TStrings). Otra posible es filtrar el resultado en el momento de hacer la select sobre la tabla de posibles materias, algo así como

select campos from tabla where CampoQueSea not in (aquí la lista de materias que ya tiene)


Nos leemos
  • 0




IP.Board spam blocked by CleanTalk.