Extjs รับ Id จากฐานข้อมูลและส่งไปยังส่วนประกอบ

ปัญหาที่ฉันกำลังเผชิญคือ ฉันมีแบบฟอร์มที่สืบค้นฐานข้อมูลและรับข้อมูลเกี่ยวกับรถยนต์ ฉันต้องการรับ Unique Id ของข้อมูลนั้นและส่งต่อไปยังส่วนประกอบที่สร้างไว้แล้ว

 layout : 'fit',
 items : [{
       xtype: 'cargrid',
       autoScroll: true
       //here I want the ID to be passed to this cone
 }]

person Mike Diaz    schedule 22.05.2013    source แหล่งที่มา
comment
โดยพื้นฐานแล้วคุณต้องการร้านค้าที่มีข้อมูลใช่ไหม คุณช่วยอธิบายให้ดีขึ้นหน่อยได้ไหม? บอกเราว่าคุณพยายามทำอะไร   -  person bldoron    schedule 22.05.2013


คำตอบ (2)


บางทีคุณอาจต้องการแสดงรหัสของแถวบนกริดหรือไม่?

  1. คุณต้องไปหาซื้อที่ร้าน/รุ่น กำหนดฟิลด์ 'id' หนึ่งฟิลด์บนที่เก็บข้อมูล

รุ่น:

fields: [
             {name: 'idRow'},
             {...}
]
  1. บนกริด ให้กำหนดหนึ่งคอลัมน์ โดยมีชื่อเดียวกันคือ "store field id" บน dataIndex:

มุมมองตาราง:

columns: [{
        header: "Identificator",
        dataIndex: 'idRow'
    },
        {...} 
]

แก้ไข:

หากคุณต้องการเขียนทับ ID:

ดูลิงก์ที่อยู่ใน: itemID

และในความคิดเห็น: (คัดลอกและวาง)

ตัวอย่าง:

var c = new Ext.panel.Panel({ //
    height: 300,
    renderTo: document.body,
    layout: 'auto',
    items: [
        {
            itemId: 'p1',
            title: 'Panel 1',
            height: 150
        },
        {
            itemId: 'p2',
            title: 'Panel 2',
            height: 150
        }
    ]
})
p1 = c.getComponent('p1'); // not the same as Ext.getCmp()
p2 = p1.ownerCt.getComponent('p2'); // reference via a sibling

ความคิดเห็น:

    Ext.apply(c, {
        itemId : 'p3'
    }
person mfruizs2    schedule 23.05.2013

คุณไม่สามารถเปลี่ยนรหัสคอมโพเนนต์ได้เมื่อได้รับการเรนเดอร์แล้ว คุณสามารถกำหนดก่อนการสร้างส่วนประกอบ ไม่ใช่หลังการสร้าง

วิธีแก้ปัญหา:

  1. เพียงลบส่วนประกอบและสร้างใหม่ด้วย ID ใหม่ของคุณ
  2. สร้างส่วนประกอบแบบไดนามิกและเพิ่มส่วนประกอบหลักที่ต้องการ

ตามที่ฉันเข้าใจ its not possible to change component ID after rendering of component

ขอบคุณ

person Hariharan    schedule 23.05.2013