2012-04-10 19 views
0

dojo的Datagrid的一个简单模板如下,我将它构建得更加复杂。例如,如何根据同一行的field1的onChange事件更新field2的值?就像将field1的值复制到field2一样。问题是我不hv的特定单元格的ID,放在布局或addRow()这两个看起来不正确,似乎onChange:函数(){...}不能使用?如何使用另一个单元格的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 + intead更新另一个网格字段,它可能更容易简单地更新商店的值为您正在寻找的属性 – PEM 2012-04-11 07:39:49

+0

感谢您的建议 – yeeen 2012-04-23 08:18:10

相关问题