def to_dropdown(selection=nil, nil_name='** UNDEFINED **')
      dropdown_cache.inject("<option value=''>#{nil_name}</option>\n") do |out, row|
        selected = 'selected' if row[0]==selection
        "%s%s%s%s" % [out, row[1], selected, row[2]]
      end
    end
def to_dropdown(selection=nil, nil_name='** UNDEFINED **')
      dropdown_cache.inject("<option value=''>#{nil_name}</option>\n") do |out, row|
        selected = 'selected' if row[0]==selection
        "%s%s%s%s" % [out, row[1], selected, row[2]]
      end
    end
Cache dropdown options for children classes to use
 Meant to be reseted each time an entry is created, updated or destroyed
 So it is only rebuild once required after the list has changed
 Maintaining an array and not rebuilding it all might be faster
 But it will not happen much so that it is fairly acceptable