jQuery EasyUI ต้นไม้เมนู - ต้นไม้เพื่อเพิ่มตารางหน้า
กวดวิชานี้จะแสดงให้คุณเห็นวิธีการโหลดลักษณะแบบไดนามิกของต้นไม้ที่มีตาราง (TreeGrid) เพิ่มแท็บ
สร้างตารางต้นไม้ (TreeGrid)
เปิดใช้งานต้นไม้ตาราง (TreeGrid) คุณลักษณะเพจคุณต้องเพิ่ม 'เลขหน้า: จริง' แอตทริบิวต์จะถูกส่ง 'หน้า' และอาร์กิวเมนต์ 'แถว' ไปยังเซิร์ฟเวอร์เพื่อให้โหลดหน้าเว็บ
<table title = "ผลิตภัณฑ์" class = "easyui-TreeGrid" style = "width: 700px; ความสูง: 300px" ข้อมูลตัวเลือก = " URL: 'treegrid4_getdata.php' rownumbers: จริง เลขหน้า: จริง PageSize: 2, รายการหน้าเว็บ: [2,10,20] idField: 'ID' treeField: 'ชื่อ' onBeforeLoad: ฟังก์ชั่น (แถวพระราม) { ถ้า (! แถว) {// โหลดแถวระดับบนสุด param.id = 0; // ชุด id = 0, บ่งชี้ในการโหลดแถวหน้าใหม่ } } "> <thead> <tr> <Th ฟิลด์ = "ชื่อ" width = "250"> ชื่อ </ TH> <Th ฟิลด์ = "ปริมาณ" width = "100" align = "สิทธิ"> จำนวน </ TH> <Th ฟิลด์ = "ราคา" width = "150" align = "สิทธิ" การจัดรูปแบบ = "formatDollar"> ราคา </ TH> <ฟิลด์ Th = "รวม" width = "150" align = "สิทธิ" การจัดรูปแบบ = "formatDollar"> รวม </ TH> </ tr> </ thead> </ table>
รหัสฝั่งเซิร์ฟเวอร์
treegrid4_getdata.php
? $ = หน้า isset ($ _ POST [ 'หน้า']) intval ($ _ POST [ 'หน้า']): 1; ? $ แถว = isset ($ _ POST [ 'แถว']) intval ($ _ POST [ 'แถว']): 10; Offset $ = ($ หน้า-1) * $ แถว; Id = $ isset ($ _ POST [ 'ID']) intval ($ _ POST [ 'ID']): 0 ;? รวมถึง conn.php '; ผล $ = array (); ถ้า ($ ID == 0) { อาร์เอส $ = mysql_query ( "นับเลือก (*) จากผลิตภัณฑ์ที่ parentId = 0"); แถว $ = mysql_fetch_row ($ RS); ผล $ [ "รวม"] = $ แถว [0]; อาร์เอส $ = mysql_query ( "* เลือกจากผลิตภัณฑ์ที่ parentId = 0 วงเงินชดเชย $, $ แถว"); $ รายการ = array (); ในขณะที่ ($ แถว = mysql_fetch_array ($ RS)) { ? $ แถว [ 'รัฐ'] = has_child ($ แถว [ 'ID']) 'ปิด': 'เปิด'; array_push ($ รายการ $ แถว); } ผล $ [ "แถว"] = $ รายการ; } else { อาร์เอส $ = mysql_query ( "* เลือกจากผลิตภัณฑ์ที่ parentId = $ id"); ในขณะที่ ($ แถว = mysql_fetch_array ($ RS)) { ? $ แถว [ 'รัฐ'] = has_child ($ แถว [ 'ID']) 'ปิด': 'เปิด'; $ แถว [ 'รวม'] = $ แถว [ 'ราคา'] * $ แถว [ 'ปริมาณ']; array_push ($ ผล, $ แถว); } } json_encode Echo ($ result); ฟังก์ชั่น has_child ($ ID) { อาร์เอส $ = mysql_query ( "นับเลือก (*) จากผลิตภัณฑ์ที่ parentId = $ id"); $ แถว = mysql_fetch_array ($ RS); กลับ $ แถว [0]> 0 :? จริงเท็จ }
ส่งไปยังเซิร์ฟเวอร์พารามิเตอร์รวมถึง:
- หน้า: หน้าปัจจุบันในการโหลด
- แถว: ขนาดหน้า
- ID: ID ของมูลค่าแถวแม่กลับมาจากเซิร์ฟเวอร์เป็นเรื่องเกี่ยวกับที่จะเพิ่ม
เมื่อคุณขยายแถวโหนด 'ID' ค่ามากกว่า 0 เมื่อมีการเปลี่ยนแปลงหัวข้อ 'ID' ค่าควรตั้งค่าเป็น 0 ที่จะวางแถวเด็กโหลด