ฟังก์ชั่นเอฟเฟกต์: คลิกช่องทำเครื่องหมายเพื่อเพิ่มแถวข้อมูลที่เกี่ยวข้องโดยอัตโนมัติในตาราง หากช่องทำเครื่องหมายถูกยกเลิกเนื้อหาในตารางจะถูกลบโดยอัตโนมัติ
นี่อาจเป็นเอฟเฟกต์เริ่มต้น ~~~~
// กำหนดที่เก็บข้อมูลเริ่มต้นของตารางข้อมูล var griditems = []; // กล่องกาเครื่องหมายจังหวัด var $ provinceCheckbox01 = ext.form.form.checkboxgroup ({xtype: 'checkboxGroup', fieldLabel: 'การเลือกจังหวัด', defaultwid: 60, labelalign: "left"}, รายการ: ProvinceItems, // ProvinceItems เป็นข้อมูลที่ได้รับจากผู้ฟังช่องอื่น ๆ : {Change: OnChange // กล่องกาเครื่องหมายเปลี่ยนเหตุการณ์}}); // ตารางข้อมูลเริ่มต้นแบบจำลอง var gridpanelstore = new ext.data.store ({ฟิลด์: ''}, พร็อกซี: {ประเภท: 'หน่วยความจำ', ผู้อ่าน: {ประเภท: 'json', รูท: 'รายการ'}}}); // gridvar $ grid = new ext.grid.panel ({store: gridpanelstore, seltype: 'Rowmodel' 'Rownumberer', ส่วนหัว: 'หมายเลขซีเรียล', ความกว้าง: 70, จัดตำแหน่ง: 'center'}, {ส่วนหัว: 'จังหวัด', ความกว้าง: 150, เรียงลำดับได้: จริง, menudisabled: true, Align: 'Centre', DataineDex: "PagingToolbar", Dock: "Bottom", DisplayInfo: true}], ปลั๊กอิน: [cellediting]}); // ฟังก์ชั่นการฟังเหตุการณ์ onchange (newValue, oldValue, eOPTS) {// ล้างข้อมูล griditems = []; if (checkEdId == undefined) {gridItems = [];} อื่นถ้า (checkEdId.length == undefined) {สำหรับ (var i = 0; i <provinceItems.length; i ++) {ถ้า (ProvinceItems [i] ProvinceItems [i] .BoxLabel, "ส่วนลด": "1"};}}} อื่นถ้า (checkEdId.length! == undefined) {สำหรับ (var j = 0; j <checkedid.length; j ++) {สำหรับ (var o = 0; {griditems [j] = {"ProvinceId": checkEdId [j], "Provincename": ProvinceItems [o] .BoxLabel, "ส่วนลด": "1"};}}}} // console.log ($ griditems);ฟังก์ชั่นที่คล้ายกันอาจไม่ได้ใช้ในหลาย ๆ ด้าน
เมื่อทำฟังก์ชั่นนี้ข้อมูลที่ได้รับหลังจากคลิกช่องทำเครื่องหมายจะไม่ถูกวางไว้ในกริด
ในตอนแรกฉันต้องการกำหนดค่าที่ได้รับโดยตรงไปยัง gridpanelstore.data.items แต่หลังจากได้รับมอบหมายฉันใช้ store.reload () เพื่อรีเฟรชข้อมูลตารางรายงานข้อผิดพลาดเสมอโดยบอกว่าวิธีนี้ผิด
ฉันคิดว่า (ไม่จำเป็นต้องเป็นจริง ~) อาจเป็นเพราะโมเดลข้อมูลของฉันมีเลเยอร์มากเกินไปซึ่งสามารถส่งคืนข้อผิดพลาดโดยตรงจากการโหลด Grid Store ()
ในที่สุดฉันค้นหา API และพบว่า loadData สามารถส่งผ่านค่าโดยตรงไปยังข้อมูล
ฉันใช้ค่าบูลีนเป็นเท็จ
ด้านบนเป็น extjs ที่แนะนำโดยบรรณาธิการ คลิกช่องทำเครื่องหมายเพื่อเพิ่มแถวข้อมูลที่เกี่ยวข้องในตาราง ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!