2016-04-12 4 views
0

Clearing, hier zu starten ist mein ComboBoxItem FeldComboBoxItem nicht unbekannten Wert auf Blur

{ 
    name: "State", 
    type: "ComboBoxItem", 
    canEdit: true, 
    valueMap: { 
     WI: "Wisconsin", 
     IL: "Illinois", 
     MN: "Minnesota", 
     MI: "Michigan" 
    }, 
    addUnknownValues: false, 
    allowEmptyValue: false, 
    completeOnTab: true 
} 

Ich bin aus einem ComboBoxItem sehr unterschiedlichem Verhalten bekommen, wenn es in einem ListGrid ist vs, wenn es in einem DynamicForm ist.

Wenn Sie in einer DynamicForm einen Wert eingeben, der KEINE Übereinstimmung in der valueMap aufweist, und das Feld dann verlassen, wird der vorherige Wert zurückgegeben.

Wenn Sie in einem bearbeitbaren ListGrid einen Wert eingeben, der KEINE Übereinstimmung in der valueMap aufweist, und das Feld dann belässt, behält es die von Ihnen eingegebenen Zeichen und versucht, die Änderungen mit dieser Zeichenfolge zu speichern.

Walkthrough

Der Code im Durchlauf verwendet

isc.VLayout.create({ 
    height: 500, 
    width: 900, 
    margin: 100, 
    members: [ 
     isc.ListGrid.create({ 
      height: "100%", 
      width: "100%", 
      canEdit: true, 
      modalEditing: true, 
      extraSpace: 5, 
      fields: [ 
       { name: "Name", canEdit: true, }, 
       { 
        name: "State", 
        type: "ComboBoxItem", 
        canEdit: true, 
        valueMap: { 
         WI: "Wisconsin", 
         IL: "Illinois", 
         MN: "Minnesota", 
         MI: "Michigan" 
        }, 
        addUnknownValues: false, 
        //allowEmptyValue: false, 
        completeOnTab: true 
       } 
      ], 
      data: [ 
       { Name: "Evan", State: "WI" }, 
       { Name: "Erik", State: "IL" }, 
       { Name: "Philip", State: "MI" }, 
      ] 
     }), 
     isc.DynamicForm.create({ 
      height: "100%", 
      width: "100%", 
      border: "1px solid #ababab", 
      canEdit: true, 
      fields: [ 
       { name: "Name", canEdit: true, }, 
       { 
        name: "State", 
        type: "ComboBoxItem", 
        canEdit: true, 
        valueMap: { 
         WI: "Wisconsin", 
         IL: "Illinois", 
         MN: "Minnesota", 
         MI: "Michigan" 
        }, 
        addUnknownValues: false, 
        allowEmptyValue: false, 
        completeOnTab: true 
       } 
      ], 
      values: { Name: "Evan", State: "WI" } 
     }) 
    ] 
}); 

Antwort

0

Es scheint, dass addUnknownValues auf den beiden Fällen eine andere Wirkung hat.

löste ich das Problem, indem addUnknownValues auf die editorProperties

dies der ListGridField bewegt, ist die aktualisierte ListGridField Artikel

{ 
    name: "State", 
    type: "ComboBoxItem", 
    canEdit: true, 
    valueMap: { 
     WI: "Wisconsin", 
     IL: "Illinois", 
     MN: "Minnesota", 
     MI: "Michigan" 
    }, 
    editorProperties:{ 
     addUnknownValues: false, 
     allowEmptyValue: false, 
     completeOnTab: true 
    } 
} 
+1

korrekt ist, ist editorProperties der richtige Weg Attribute zum DynamicForm passieren, die für die Bearbeitung von verwendet wird, der Rastersatz. – claudiobosticco