func init if(isdef("DataGrid")) warning(this.name + ' - manager does not defined') else this.grid = sys.get_undef_manager("DataGrid") if(linked("doGetCell") and linked("Value")) sys.add_var(this.name, 'Object') end if(linked("onError")) this.setfield('ex', 'ex' + this.id) end end end func make_value(data) return(this.grid + '[' + d("ColumnIndex") + ', ' + d("RowIndex") + '].Value') end func doGetCell(data) if(len(this.grid)) linked("onError") ? blk.println('try {').inc() : '' if(linked("Value")) blk.println(this.codename, ' = ', make_value(data), ';') event("onValue", this.codename) else event("onValue", make_value(data)) end event("onCell", this.grid + '[' + d("ColumnIndex") + ', ' + d("RowIndex") + ']') if(linked("onError")) blk.dec().println('} catch(Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end end func doSetCell(data) if(len(this.grid)) linked("onError") ? blk.println('try {').inc() : '' dt = d("Data") blk.println(this.grid, '[', d("ColumnIndex"), ', ', d("RowIndex"), '].Value', ' = ', dt, ';') if(linked("onError")) blk.dec().println('} catch(Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end end func Value if(linked("doGetCell")) return(this.codename) else return(make_value()) end end