techno_adi
09-26-2006, 03:21 AM
Hi,
Questions
Error in yui-ext.js : this.events[eventName.toLowerCase] has no property
is this a bug?
can this be regarded as a basic example for the grid v.32? (if it works) :)
My HTML Page
For some reason it's not showing up properly. Assume that i have included yahoo.js,dom.js,event.js,dragdrop.js, yui-ext.js(v.32),
grid.css and grid-example.js as below.
Inside Body tag
div id="grid-example" style="width:630px;height:250px;overflow:hidden;position:relative;"
my grid-example.js file
var Example = {
init : function(){
// some data yanked off the web
var myData = [
['Lm Co','1/31/2000','5/31/2000','100000','10.10','15.30',''],
['Alcoa Inc','2/25/2001','9/30/2001','500000','15.00','20.00',''],
['Altria Group Inc','2/31/2001','4/25/2001','150000','12.00','16.00',''],
['American Express Company','1/31/2000','31/5/2000','100000','10.10','15.30',''],
['American International Group, Inc.','3/30/2002','12/31/2002','700000','19.00','25.00',''],
['Boeing Co.','6/26/2003','5/26/2004','5000000','20.00','30.00',''],
['Caterpillar Inc.','8/30/2003','9/30/2003','50000','09.00','13.50',''],
['Citigroup, Inc.','7/22/2004','9/22/2004','90000','11.10','17.30',''],
['E.I. du Pont de Nemours and Company','9/25/2005','10/25/2005','200000','30.83','45.10',''],
['Exxon Mobil Corp','5/1/2005','5/31/2005','20000','05.00','09.63',''],
['Honeywell Intl Inc','8/15/2005','12/15/2005','800000','18.00','22.25',''],
['International Business Machines','11/1/2005','11/31/2005','80000','40.00','49.99',''],
['JP Morgan & Chase & Co','1/1/2006','1/31/2006','100000','10.13','18.30',''],
['Merck & Co., Inc.','2/1/2006','3/31/2006','300000','09.15','15.85',''],
['The Home Depot, Inc.','4/14/2006','7/15/2006','600000','20.81','25.83',''],
['The Procter & Gamble Company','8/1/2006','9/15/2006','90000','30.10','45.30',''],
['United Technologies Corporation','9/30/2006','12/31/2006','185360','12.34','23.45','']
];
var dataModel = new YAHOO.ext.grid.DefaultDataModel(myData);
// example of custom renderer function
function italic(value){
return '' + value + '';
}
// example of custom renderer function
function change(val, suffix){
suffix = suffix || '';
if(val >= 20){
return '<span>' + val + suffix + '</span>';
}else if(val </span> 20){
return '../profit.gif';
}
else{
// get the value at row 1, column 1
return '../warning.gif';
}
}
// sortTypes provide support for custom sorting comparison functions
// not needed for this table but here for demonstration
var sort = YAHOO.ext.grid.DefaultColumnModel.sortTypes;
// the DefaultColumnModel expects this blob to define columns. It can be extended to provide
// custom or reusable ColumnModels
var myColumns = [
{header: "Project", width: 200, sortable: true, sortType: sort.asUCString},
{header: "Start Date", width: 75, sortable: true, renderer: italic},
{header: "End Date", width: 75, sortable: true, renderer: italic},
{header: "Revenue", width: 85, sortable: true, renderer:money},
{header: "Profit % on Revenue", width: 110, sortable: true, renderer: pctChange},
{header: "Profit % on Cost", width: 90, sortable: true, renderer: pctChange},
{header: "Profitable?", width: 70, renderer: renderImage}
];
var colModel = new YAHOO.ext.grid.DefaultColumnModel(myColumns);
//selection model added in ver .32
var selModel = new YAHOO.ext.grid.SingleSelectionModel();
//dm.setDefaultSort(cm, 3, 'DESC');
// select the first row in the grid every time a new datset is loaded
dataModel.addListener('load', selModel.selectFirstRow, selModel, true);
// create the Grid
this.grid = new YAHOO.ext.grid.Grid('grid-example', dataModel, colModel, selModel);
//var start = new Date().getTime();
this.grid.render();
//var end = new Date().getTime();
//alert('Rendered in ' + ((end-start)/1000) + ' seconds');
//ver .31
//this.grid.getSelectionModel().selectFirstRow();
}
}
YAHOO.util.Event.on(window, 'load', Example.init, Example, true);
[/quote]
Questions
Error in yui-ext.js : this.events[eventName.toLowerCase] has no property
is this a bug?
can this be regarded as a basic example for the grid v.32? (if it works) :)
My HTML Page
For some reason it's not showing up properly. Assume that i have included yahoo.js,dom.js,event.js,dragdrop.js, yui-ext.js(v.32),
grid.css and grid-example.js as below.
Inside Body tag
div id="grid-example" style="width:630px;height:250px;overflow:hidden;position:relative;"
my grid-example.js file
var Example = {
init : function(){
// some data yanked off the web
var myData = [
['Lm Co','1/31/2000','5/31/2000','100000','10.10','15.30',''],
['Alcoa Inc','2/25/2001','9/30/2001','500000','15.00','20.00',''],
['Altria Group Inc','2/31/2001','4/25/2001','150000','12.00','16.00',''],
['American Express Company','1/31/2000','31/5/2000','100000','10.10','15.30',''],
['American International Group, Inc.','3/30/2002','12/31/2002','700000','19.00','25.00',''],
['Boeing Co.','6/26/2003','5/26/2004','5000000','20.00','30.00',''],
['Caterpillar Inc.','8/30/2003','9/30/2003','50000','09.00','13.50',''],
['Citigroup, Inc.','7/22/2004','9/22/2004','90000','11.10','17.30',''],
['E.I. du Pont de Nemours and Company','9/25/2005','10/25/2005','200000','30.83','45.10',''],
['Exxon Mobil Corp','5/1/2005','5/31/2005','20000','05.00','09.63',''],
['Honeywell Intl Inc','8/15/2005','12/15/2005','800000','18.00','22.25',''],
['International Business Machines','11/1/2005','11/31/2005','80000','40.00','49.99',''],
['JP Morgan & Chase & Co','1/1/2006','1/31/2006','100000','10.13','18.30',''],
['Merck & Co., Inc.','2/1/2006','3/31/2006','300000','09.15','15.85',''],
['The Home Depot, Inc.','4/14/2006','7/15/2006','600000','20.81','25.83',''],
['The Procter & Gamble Company','8/1/2006','9/15/2006','90000','30.10','45.30',''],
['United Technologies Corporation','9/30/2006','12/31/2006','185360','12.34','23.45','']
];
var dataModel = new YAHOO.ext.grid.DefaultDataModel(myData);
// example of custom renderer function
function italic(value){
return '' + value + '';
}
// example of custom renderer function
function change(val, suffix){
suffix = suffix || '';
if(val >= 20){
return '<span>' + val + suffix + '</span>';
}else if(val </span> 20){
return '../profit.gif';
}
else{
// get the value at row 1, column 1
return '../warning.gif';
}
}
// sortTypes provide support for custom sorting comparison functions
// not needed for this table but here for demonstration
var sort = YAHOO.ext.grid.DefaultColumnModel.sortTypes;
// the DefaultColumnModel expects this blob to define columns. It can be extended to provide
// custom or reusable ColumnModels
var myColumns = [
{header: "Project", width: 200, sortable: true, sortType: sort.asUCString},
{header: "Start Date", width: 75, sortable: true, renderer: italic},
{header: "End Date", width: 75, sortable: true, renderer: italic},
{header: "Revenue", width: 85, sortable: true, renderer:money},
{header: "Profit % on Revenue", width: 110, sortable: true, renderer: pctChange},
{header: "Profit % on Cost", width: 90, sortable: true, renderer: pctChange},
{header: "Profitable?", width: 70, renderer: renderImage}
];
var colModel = new YAHOO.ext.grid.DefaultColumnModel(myColumns);
//selection model added in ver .32
var selModel = new YAHOO.ext.grid.SingleSelectionModel();
//dm.setDefaultSort(cm, 3, 'DESC');
// select the first row in the grid every time a new datset is loaded
dataModel.addListener('load', selModel.selectFirstRow, selModel, true);
// create the Grid
this.grid = new YAHOO.ext.grid.Grid('grid-example', dataModel, colModel, selModel);
//var start = new Date().getTime();
this.grid.render();
//var end = new Date().getTime();
//alert('Rendered in ' + ((end-start)/1000) + ' seconds');
//ver .31
//this.grid.getSelectionModel().selectFirstRow();
}
}
YAHOO.util.Event.on(window, 'load', Example.init, Example, true);
[/quote]