การสร้างตัวเลือกใน joget ไม่ควรใช้วิธีกำหนด ตัวเลือกในแต่ละฟอร์ม เพราะว่าถ้ามีการแก้ตัวเลือก จะต้องไปหาว่า dropdown box ตัวนี้มีอยู่ในฟอร์มไหนบ้าง แต่ถ้าเราดึงค่ามาจากดาต้าเบสแค่ไปเพิ่ม / แก้ไขในตารางที่เกี่ยวข้อง เทสซักหน้า ก็เสร็จแล้ว
- ในหน้า form builder ให้ลาก Select Box มาในตำแหน่งที่ต้องการ
- คลิก Edit icon หลัง input
- กรอกข้อมูล
- ID จะใข้เป็น id ของ input และจะสร้าง column ตามรูปแบบ C_{id} ในตารางที่ผูกกับฟอร์มที่เราวาง input ในดาต้าเบสด้วย
- Label เป็นฉลากให้กับตัว input
- Or Choose Options Binder เลือกเป็น JDBC Binder
- คลิก next
- กรอกข้อมูล
- Datasource เลือก Default Datasource
- ติ๊ก Add Empty Option เพื่อที่จะได้ใส่ option ที่ไม่ได้เลือกอะไร ที่ yii จะเรียกว่า prompt นั่นเอง จากนั้นให้กรอก Empty Option Label ที่จะแสดงเป็น label ของ option เช่น Please select
- SQL SELECT Query ให้กรอก query โดย
- Column ที่ 1 จะถูกใช้เป็น value ใน แต่ละ option
- Column ที่ 2 จะเป็น label
ตัวอย่าง
สร้างตัวเลือก คำนำหน้านาม 12345SELECT
id
AS
value, c_name
AS
label
FROM
app_fd_titles
ORDER
BY
c_name
ASC
ข้อมูลตัวอย่าง
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | CREATE TABLE `app_fd_titles` ( `id` int (2) unsigned NOT NULL , `dateCreated` datetime DEFAULT NULL , `dateModified` datetime DEFAULT NULL , `createdBy` varchar (255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL , `createdByName` varchar (255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL , `modifiedBy` varchar (255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL , `modifiedByName` varchar (255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL , `c_name` varchar (255) DEFAULT NULL , `c_sex_id` int (1) unsigned DEFAULT NULL , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `app_fd_titles` (`id`,`dateCreated`,`dateModified`,`createdBy`,`createdByName`,`modifiedBy`,`modifiedByName`,`c_name`,`c_sex_id`) VALUES (1, NULL , NULL , NULL , NULL , NULL , NULL , 'Miss' ,1); INSERT INTO `app_fd_titles` (`id`,`dateCreated`,`dateModified`,`createdBy`,`createdByName`,`modifiedBy`,`modifiedByName`,`c_name`,`c_sex_id`) VALUES (2, NULL , NULL , NULL , NULL , NULL , NULL , 'Mr' ,2); INSERT INTO `app_fd_titles` (`id`,`dateCreated`,`dateModified`,`createdBy`,`createdByName`,`modifiedBy`,`modifiedByName`,`c_name`,`c_sex_id`) VALUES (3, NULL , NULL , NULL , NULL , NULL , NULL , 'Mrs' ,1); INSERT INTO `app_fd_titles` (`id`,`dateCreated`,`dateModified`,`createdBy`,`createdByName`,`modifiedBy`,`modifiedByName`,`c_name`,`c_sex_id`) VALUES (4, NULL , NULL , NULL , NULL , NULL , NULL , 'Ms' ,1); INSERT INTO `app_fd_titles` (`id`,`dateCreated`,`dateModified`,`createdBy`,`createdByName`,`modifiedBy`,`modifiedByName`,`c_name`,`c_sex_id`) VALUES (5, NULL , NULL , NULL , NULL , NULL , NULL , 'Mx' ,1); |