2013-02-26 17 views
0

GWT 2.3.0에서 GXT 2.2.5를 사용하고 있다고 가정 해 보겠습니다.EditorGrid의 필드 유효성 검사

내 목표는 사용자가 필드 중 하나에 값을 지정해야하는 쿼리에서 검색된 데이터 집합을 사용자에게 제공하는 것입니다. 예를 들어, 검색어가 전화 번호 목록을 반환하고 사용자가 전화 번호 유형 (예 : 집, 사무실, 휴대 전화 또는 호출기)을 구분해야한다고 가정 해 보겠습니다.

나는 EditorGrid를 잠재적 인 솔루션으로보고 있습니다. 그리드는 CellEditor를 통해 첫 번째 필드에 ComboBox를 첨부하여 유형과 숫자를 표시합니다.

사용자는 각 번호에 대해 유형을 선택해야한다는 요구 사항이 있습니다. 어떻게 이것을 시행합니까? ComboBox에서 allowBlank를 false로 설정할 수 있지만 어떻게 관리합니까? 그리드를 어떻게 검증합니까?

답변을 검색했지만 실패했습니다.

답변

0

격자을 사용하고 EditorGrid이 아닌 것을 사용하는 것이 좋습니다. RowEditorGrid을 사용할 때 사용자가 행 변경을 저장할 때 allowBlank 유효성 검사 (또는 다른 필드 유효성 검사기)가 실행됩니다.

ColumnConfig colNombre = new ColumnConfig("name", "Name", 200); 
      TextField<String> txtNombre = new TextField<String>(); 
      txtNombre.setAllowBlank(false); 
      txtNombre.getMessages().setBlankText("IT CANT BE EMPTY."); 
      colNombre.setEditor(new CellEditor(txtNombre)); 
      configs.add(colNombre); 



re = new RowEditor<BeanModel>(); 
     re.addListener(Events.AfterEdit, new Listener<RowEditorEvent>() { 
      public void handleEvent(RowEditorEvent e) { 
       editar(e); 
      } 
     }); 
     re.setClicksToEdit(ClicksToEdit.TWO); 

     grid = new Grid<BeanModel>(STORE, new ColumnModel(configs)); 
     grid.addPlugin(re); 

그것이 도움이되기를 바랍니다 : 여기에

당신이 그리드에 익숙하지 않은 경우에 약간의 예이다.

0

모든 유형의 번호 (집, 사무실 등)를 저장하려면 SimpleComboBox<String>이 필요합니다. EditorGrid에 부착하십시오. SimpleComboBox<String>에 대해 setEditable(false) 속성을 설정하고 콤보 상자 (setValue(...) 사용)에서 기본적으로 올바른 "형식"이 선택되어 있는지 확인하십시오.

이렇게하면 그리드가 렌더링되면 전화 번호 옆에 유형이 표시되고 기본값이 선택됩니다.

처음에는 공백 값이있는 콤보 상자를 사용하지 않고 유효성 검사 오류를 표시하여 채우는 것이 좋은 방법이라고 생각합니다.

+0

이러한 접근 방식의 문제점은 사용자가 게으르며 실제로 어떤 유형의 번호인지를 진정으로 판단하지 못하도록하는 것입니다. 나는 그들이 적극적으로 선택을 선택하고 그냥 임의의 기본값으로 두지 않도록해야합니다. – NestorDRod