var i;
for (i=0; i<2; i++) {
Rico.log("simpleGridInit "+i);\r
- this.tabs[i]=document.getElementById(this.tableId+'_tab'+i);
+ this.tabs[i]=Rico.$(this.tableId+'_tab'+i);
if (!this.tabs[i]) return;
- this.hdrTabs[i]=document.getElementById(this.tableId+'_tab'+i+'h');
+ this.hdrTabs[i]=Rico.$(this.tableId+'_tab'+i+'h');
if (!this.hdrTabs[i]) return;
this.thead[i]=this.hdrTabs[i];
this.tbody[i]=this.tabs[i];
this.createFilters(this.options.FilterLocation);
this.attachMenuEvents();
this.scrollEventFunc=Rico.eventHandle(this,'handleScroll');
+ this.scrollFrozenEventFunc=Rico.eventHandle(this,'handleScrollFrozen');
+ this.scrollHeadingEventFunc=Rico.eventHandle(this,'handleScrollHeading');
this.pluginScroll();
if (this.options.windowResize)
Rico.eventBind(window,"resize", Rico.eventHandle(this,'sizeDivs'), false);
this.sizeDivs();\r
},
+ pluginScroll: function() {
+ if (this.scrollPluggedIn) return;
+ Rico.eventBind(this.scrollDiv,"scroll",this.scrollEventFunc, false);
+ Rico.eventBind(this.frozenTabs,"scroll",this.scrollFrozenEventFunc, false);
+ Rico.eventBind(this.innerDiv,"scroll",this.scrollHeadingEventFunc, false);
+ this.scrollPluggedIn=true;
+ },
+
+ unplugScroll: function() {
+ Rico.eventUnbind(this.scrollDiv,"scroll", this.scrollEventFunc , false);
+ Rico.eventUnbind(this.frozenTabs,"scroll", this.scrollFrozenEventFunc , false);
+ Rico.eventUnbind(this.innerDiv,"scroll", this.scrollHeadingEventFunc , false);
+ this.scrollPluggedIn=false;
+ },
+
handleScroll: function(e) {
- var newTop=(-this.scrollDiv.scrollTop)+'px';
- this.tabs[0].style.marginTop=newTop;
- this.setHorizontalScroll();
+ this.frozenTabs.scrollTop=this.scrollDiv.scrollTop;
+ this.innerDiv.scrollLeft=this.scrollDiv.scrollLeft;
+ },
+
+ /**
+ * Frozen columns scrolled due to user invoking browser find
+ */
+ handleScrollFrozen: function(e) {
+ this.scrollDiv.scrollTop=this.frozenTabs.scrollTop;
+ },
+
+ /**
+ * Heading scrolled due to user invoking browser find
+ */
+ handleScrollHeading: function(e) {
+ this.scrollDiv.scrollLeft=this.innerDiv.scrollLeft;
},
/**