Pregunta

La aplicación de datos principales basada en Mi documento (que utiliza enlaces en IB) tiene dos entidades, Empleado (con un atributo nombre de empleado ) y Hoja de horas (con los atributos timeDescription y entryDate ). Employee tiene una relación de uno ( employeeDetails ) a varios ( employeeTimeSheet ) con TimeSheet .

Estoy construyendo una configuración de detalles maestros para una entrada de hoja de tiempo.

Para el maestro, tengo un tableView de una columna que tiene su valor vinculado a: EmployeeController (un NSArrayController que usa la entidad Employee), arreglosObjetos , nombreEmpleado .

Tengo un detailController (otro NSArrayController) que está configurado como NSMutableDictionary que tiene su contentSet vinculado a EmployeeController , selección , < strong> employeeTimeSheet .

Luego tengo Detail tableView, que tiene tres columnas, con su valor respectivo vinculado a DetailController , installedObjects , employeeDetails.employeeName (columna 0), entryDate (columna 1) y timeDescription (columna 2).

Ahora todo esto funciona bien, puedo seleccionar un Empleado de la Tabla Maestra y la Tabla de Detalles muestra todas las entradas de la Hoja de Horas asociadas con ese Empleado. Puedo agregar entradas usando el empleado seleccionado, todo funciona muy bien.

Mi problema es que, en lugar de tener un tableView como vista maestra, quería un NSPopupButton en su lugar desde el cual puedo seleccionar un empleado y ver todas las entradas de tiempo asociadas con ese empleado.

He probado todas las combinaciones de contenido, valor, objetos organizados, objetos seleccionados, etc. con cada combinación de los controladores que tengo, pero no puedo hacer que NSPopupButton se comporte de manera similar a la vista de tabla de una sola columna.

He buscado en vano más información sobre esto y he leído la documentación de enlaces varias veces, pero sigo confundiéndome. Siento que esto debería ser relativamente simple, pero parece que no puedo entenderlo. He estado devanándome los sesos durante casi dos días antes de publicar aquí.

¿Alguien puede señalar en qué me equivoco? Publicaría código, pero eso no es realmente apropiado, ya que es principalmente una cosa de IB.

Billy.

¿Fue útil?

Solución 2

Ok, lo encontré.Sabía que después de publicar aquí lo encontraría de inmediato.

Vinculé NSPopupButton content a EmployeeController , OrganizedObjects , contentValue a EmployeeController , OrganizedObjects , employeeName y es selectedIndex a EmployeeController , selectionIndex .

Funciona muy bien.

Billy.

Otros consejos

Por cierto: detailController se completará con un nuevo objeto de empleado "automáticamente".Asegúrese de establecer "managedObjectContext" en el mismo controlador (employeeController).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top