2012-04-10 3 views
0

도장의 Datagrid의 간단한 템플릿은 다음과 같습니다. sth에 대해 훨씬 더 복잡하게 만들었습니다. 예를 들어, 같은 행의 field1의 onChange 이벤트를 기반으로 field2의 값을 업데이트하는 방법은 무엇입니까? field1의 값을 field2에 복사하는 것과 같습니다. 문제는 내가 특정 셀의 ID를 hv하지 않는다는 것입니다. layout 또는 addRow() 아래에 onChange를 둘 다 올바르게 보이지 않습니다. onChange : function() {...}을 사용할 수 없습니까?다른 셀의 onChange 이벤트를 사용하여 하나의 셀을 업데이트하는 방법은 무엇입니까?

/*set up data store*/ 
var data = { 
    identifier: "id", 
    items: [] 
}; 


var store = new dojo.data.ItemFileWriteStore({data: data}); 

/*set up layout*/ 
var layout = [ 
defaultCell: { 
    editable: true, 
    type: dojox.grid.cells._Widget 
} 
rows: [ 
    {name: 'ID', field: 'id', width: '30px', widgetClass: dijit.form.TextBox, editable: false}, 
{name: 'ColA', field: 'field1', width: '100px', widgetClass: dijit.form.TextBox}, 
{name: 'ColB', field: 'field2', width: '100px', widgetClass: dijit.form.TextBox} 

] 
]; 

/*create a new grid*/ 
var grid = new dojox.grid.DataGrid({ 
    id: 'grid', 
    store: store, 
    structure: layout, 
singleClickEdit: true, 
    rowSelector: '15px'}); 

/*append the new grid to the div*/ 
grid.placeAt("gridDiv"); 

/*Call startup() to render the grid*/ 
grid.startup(); 


function addRow(){ 
    store.newItem({ 
    id: grid.rowCount, 
    field1: '-', 
    field2: '-'}); 
    grid.render(); 

} 

답변

0

대신 onApplyCellEditin(Value, inRowIndex, inFieldIndex)을 사용해보세요.

+0

onApplyCellEdit + 다른 그리드 필드를 업데이트하려는 경우 찾고있는 속성의 저장소 값을 업데이트하는 것이 더 쉽습니다 – PEM

+0

제안에 감사드립니다 – yeeen

관련 문제