콤보박스 데이터 가져오기
comboDS = new Ext.data.JsonStore ({
url : 'test.do',
fields : [{
name : 'id'
}, {
name : 'display'
}]
});
콤보박스 정의
콤보박스에 id가 있어야 하며, id를 기준으로 콤보박스 값을 얻어야 합니다.
var 콤보Box = new Ext.form.ComboBox ({
id: "cb", //
typeAhead: true,
readOnly: true,
allowBlank: false,
autoScroll: true,
selectOnFocus: true,
emptyText : '선택하세요...',
store : 콤보DS,
forceSelection : true,
triggerAction : 'all',
displayField : 'display',
valueField : 'id'
});
그리드 정의:
코드 복사 코드는 다음과 같습니다. 다음과 같습니다:
ds = new Ext.data.Store({
baseparams : {
start : 0,
limit : RowCount
},
proxy : new Ext.data .HttpProxy({
url :'test2.do'
}),
reader : new Ext.data.JsonReader({
root : 'data',
totalProperty : 'totalCount'
}, [{
name : "bh"
}, {
name : "test"
}])
}); var cm = new Ext .grid.ColumnModel([new Ext.grid.RowNumberer(), {
header : "Number",
dataIndex : "bh"
}, {
header : " Test",
dataIndex : "test",
renderer : renderer,
editor : 콤보박스
}]);
grid = new Ext.grid.EditorGridPanel({
title : 'Test',
ds : ds,
cm : cm,
clicksToEdit : 1,
viewConfig : {
forceFit : true
},
bbar : new Ext. PagingToolbar({
pageSize : RowCount,
store : ds,
displayInfo : true,
displayMsg : '기록 {0}~{1}, 총 {2}개 표시',
emptyMsg : "No Record"
})
})
cm 렌더러 기능
이 방법은 콤보박스가 수정되어 id로 표시되는 문제를 해결하기 위한 것입니다
function renderer(value, p, r) {
var index =omboDS.find(Ext .getCmp('cb').valueField, value);
var Record =omboDS.getAt(index);
var displayText = ""; == null) {
displayText = value;
} else {
displayText = Record.data.display; // 레코드
에 설정된 데이터의 표시 필드 값을 가져옵니다. >