public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->add(new TextField('EmptyString', 'Empty String', '', 255));
     if ($this->ID > 0) {
         //validation rules
         $config = GridFieldConfig_RecordEditor::create();
         $config->addComponent(new GridFieldSortableRows('Order'));
         $add_button = $config->getComponentByType('GridFieldAddNewButton');
         $add_button->setButtonName('Add New Value');
         $gridField = new GridField('Values', 'Values', $this->Values(), $config);
         $fields->add($gridField);
         if ($this->Values()->count() > 0) {
             $fields->add($ddl_default = new DropdownField('DefaultValueID', 'Please choose an default value', $this->Values()->map("ID", "Value")));
             $ddl_default->setEmptyString('-- select --');
         }
     }
     return $fields;
 }
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->add(new TextField('InitialValue', 'Initial Value'));
     return $fields;
 }