diff --git a/models/widgets.py b/models/widgets.py
index 0e79ab54f18f173f2933e1059e196f70e4a66439..723fd7e2c6de9b4c9380314e1101fdec1c4ad4af 100755
--- a/models/widgets.py
+++ b/models/widgets.py
@@ -109,6 +109,7 @@ formModifier.configure(buttonAlign='right',
 #
 gridModifier = dbui.GridModifier('categories')
 gridModifier.configure_column('code', width=10)
+gridModifier.set_rownumbering()
 
 #
 # Define a column template for the publications grid
diff --git a/modules/plugin_dbui/cvtsvc.py b/modules/plugin_dbui/cvtsvc.py
index 310a82c0822d72898fac5401b20e816e5d7af821..6b78fdaf5eefbb030981c35bcaa2a083cb66ca46 100644
--- a/modules/plugin_dbui/cvtsvc.py
+++ b/modules/plugin_dbui/cvtsvc.py
@@ -117,6 +117,10 @@ class CvtSvc(BaseSvc):
             delete_columns = grid_modifiers[tablename].delete_columns
             template_columns = grid_modifiers[tablename].template_columns
         
+        # row numbering in the first colum,
+        if grid_modifiers[tablename].row_numbering:
+            models.append({'xtype': 'rownumberer'})
+            
         # standard column
         for field in table:
             fieldname = field.name
diff --git a/modules/plugin_dbui/gridmodifier.py b/modules/plugin_dbui/gridmodifier.py
index 46dc7f1bc8ab23d3ddddfe7978df98ebb71a6a06..2f0425d73b651faaa2b9bae16a976aea9d5b8ceb 100644
--- a/modules/plugin_dbui/gridmodifier.py
+++ b/modules/plugin_dbui/gridmodifier.py
@@ -52,7 +52,9 @@ class GridModifier(Modifier):
         self.data.delete_columns = []
         self.data.grid_filters = []
         self.data.hidden_columns = []
+        self.data.row_numbering = False
         self.data.template_columns = []
+        
 
                    
     def add_column(self, ktable, kfield, position=0, extjs={}):
@@ -167,3 +169,11 @@ class GridModifier(Modifier):
 
         """
         self.data.grid_filters = Storage(filters=filters, extjs=kwargs)
+
+
+    def set_rownumbering(self):
+        """Activate the row numbering.
+        Row number is displayed in the first column of the grid.
+        
+        """
+        self.data.row_numbering = True
diff --git a/static/plugin_dbui/src/appgrid.js b/static/plugin_dbui/src/appgrid.js
index afb540cf986031d3a58b9648d281ef1c54b39e25..85616bd6f1108fc8297b0a6e42f869d2c5c7f26d 100644
--- a/static/plugin_dbui/src/appgrid.js
+++ b/static/plugin_dbui/src/appgrid.js
@@ -19,6 +19,25 @@ App.grid.Grid = Ext.extend(Ext.grid.GridPanel, {
      */
     rowEditor: null,   
 
+    /**
+     * Constructor
+     * 
+     * NOTE:
+     * Required in ExtJS 3.4 convert rownumberer xtype
+     * into an Ext.grid.RowNumberer. Not needed in ExtJS 4
+     * 
+     */
+    constructor: function (config) {
+
+      var first_column = config.columns[0];
+      
+      if ('xtype' in first_column && first_column.xtype === 'rownumberer') {
+        config.columns[0] = new Ext.grid.RowNumberer();    
+      }
+      
+      Ext.apply(this, config);
+      App.grid.Grid.superclass.constructor.call(this); 
+    },
     /**
      * private method requests by the component model of ExtJS
      */