.net server control is almost feature complete and functional. All .net examples...
[infodrom/rico3] / minsrc / ricoLiveGridMenu.js
index e778536..bbb6685 100644 (file)
@@ -67,47 +67,48 @@ buildGridMenu: function(r,c) {
 
   // menu items for filtering
   this.filtermenu.clearMenu();
-  if (column.canFilter() && !column.format.filterUI && (!onBlankRow || column.filterType == Rico.ColumnConst.USERFILTER)) {
+  if (column.canFilter()) {
     this.addSubMenuItem(Rico.getPhraseById("gridmenuFilterBy",column.displayName), this.filtermenu, false);
-    column.userFilter=column.getValue(r);
-    if (column.filterType == Rico.ColumnConst.USERFILTER) {
-      this.filtermenu.addMenuItemId("gridmenuRemoveFilter", function() { column.setUnfiltered(false); }, true);
-      if (column.filterOp=='LIKE')
-        this.filtermenu.addMenuItemId("gridmenuChgKeyword", function() { livegrid.openKeyword(c); }, true);
-      if (column.filterOp=='NE' && !onBlankRow)
-        this.filtermenu.addMenuItemId("gridmenuExcludeAlso", function() { column.addFilterNE(); }, true);
-    } else if (!onBlankRow) {
-      this.filtermenu.addMenuItemId("gridmenuInclude", function() { column.setFilterEQ(); }, true);
-      this.filtermenu.addMenuItemId("gridmenuGreaterThan", function() { column.setFilterGE(); }, column.userFilter!='');
-      this.filtermenu.addMenuItemId("gridmenuLessThan", function() { column.setFilterLE(); }, column.userFilter!='');
-      if (column.isText)
-        this.filtermenu.addMenuItemId("gridmenuContains", function() { livegrid.openKeyword(c); }, true);
-      this.filtermenu.addMenuItemId("gridmenuExclude", function() { column.setFilterNE(); }, true);
+    if (!column.format.filterUI && (!onBlankRow || column.filterType == Rico.ColumnConst.USERFILTER)) {
+      column.userFilter=column.getValue(r);
+      if (column.filterType == Rico.ColumnConst.USERFILTER) {
+        this.filtermenu.addMenuItemId("gridmenuRemoveFilter", function() { column.setUnfiltered(false); }, true);
+        if (column.filterOp=='LIKE')
+          this.filtermenu.addMenuItemId("gridmenuChgKeyword", function() { livegrid.openKeyword(c); }, true);
+        if (column.filterOp=='NE' && !onBlankRow)
+          this.filtermenu.addMenuItemId("gridmenuExcludeAlso", function() { column.addFilterNE(); }, true);
+      } else if (!onBlankRow) {
+        this.filtermenu.addMenuItemId("gridmenuInclude", function() { column.setFilterEQ(); }, true);
+        this.filtermenu.addMenuItemId("gridmenuGreaterThan", function() { column.setFilterGE(); }, column.userFilter!='');
+        this.filtermenu.addMenuItemId("gridmenuLessThan", function() { column.setFilterLE(); }, column.userFilter!='');
+        if (column.isText)
+          this.filtermenu.addMenuItemId("gridmenuContains", function() { livegrid.openKeyword(c); }, true);
+        this.filtermenu.addMenuItemId("gridmenuExclude", function() { column.setFilterNE(); }, true);
+      }
     }
     if (livegrid.filterCount() > 0) {
-      this.filtermenu.addMenuItemId("gridmenuRefresh", function() { livegrid.filterHandler(); }, true);
       this.filtermenu.addMenuItemId("gridmenuRemoveAll", function() { livegrid.clearFilters(); }, true);
     }
-  } else if (livegrid.filterCount() > 0) {
-    this.addSubMenuItem(Rico.getPhraseById("gridmenuFilterBy",column.displayName), this.filtermenu, false);
-    this.filtermenu.addMenuItemId("gridmenuRemoveAll", function() { livegrid.clearFilters(); }, true);
+    this.filtermenu.addMenuItemId("gridmenuRefresh", function() { livegrid.filterHandler(); }, true);
   }
 
   // menu items for Print/Export
   this.exportmenu.clearMenu();
-  if (buffer.printVisibleSQL && typeof(buffer.dataSource)=='string') {
-    // SQL buffer
-    this.addSubMenuItem(Rico.getPhraseById('gridmenuExport'),this.exportmenu,false);
-    this.exportmenu.addMenuItemId("gridmenuExportVis2Web", function() { buffer.printVisibleSQL('html'); });
-    this.exportmenu.addMenuItemId("gridmenuExportAll2Web", function() { buffer.printAllSQL('html'); }, buffer.totalRows <= maxprint);
-    this.exportmenu.addMenuBreak();
-    this.exportmenu.addMenuItemId("gridmenuExportVis2SS", function() { buffer.printVisibleSQL('xl'); });
-    this.exportmenu.addMenuItemId("gridmenuExportAll2SS", function() { buffer.printAllSQL('xl'); }, buffer.totalRows <= maxprint);
-  } else if (maxprint > 0 && totrows>0) {
-    // any other buffer
+  if (maxprint > 0) {
     this.addSubMenuItem(Rico.getPhraseById('gridmenuExport'),this.exportmenu,false);
-    this.exportmenu.addMenuItemId("gridmenuExportVis2Web", function() { buffer.printVisible(); });
-    this.exportmenu.addMenuItemId("gridmenuExportAll2Web", function() { buffer.printAll(); }, buffer.totalRows <= maxprint);
+    if (buffer.printVisibleSQL && typeof(buffer.dataSource)=='string') {
+      // SQL buffer
+      this.exportmenu.addMenuItemId("gridmenuExportVis2Web", function() { buffer.printVisibleSQL('html'); });
+      this.exportmenu.addMenuItemId("gridmenuExportAll2Web", function() { buffer.printAllSQL('html'); }, buffer.totalRows <= maxprint);
+      this.exportmenu.addMenuBreak();
+      this.exportmenu.addMenuItemId("gridmenuExportVis2SS", function() { buffer.printVisibleSQL('xl'); });
+      this.exportmenu.addMenuItemId("gridmenuExportAll2SS", function() { buffer.printAllSQL('xl'); }, buffer.totalRows <= maxprint);
+    } else {
+      // any other buffer
+      this.addSubMenuItem(Rico.getPhraseById('gridmenuExport'),this.exportmenu,false);
+      this.exportmenu.addMenuItemId("gridmenuExportVis2Web", function() { buffer.printVisible(); });
+      this.exportmenu.addMenuItemId("gridmenuExportAll2Web", function() { buffer.printAll(); }, buffer.totalRows <= maxprint);
+    }
   }
 
   // menu items for hide/unhide