2015-01-07 6 views
1

ListView.Where에 일부 레코드가 표시됩니다. ListView에 Lable 및 TextField가 포함되어 있습니다. ListView에있는 textField에 일부 데이터를 입력했습니다 .On Submit() 메서드는 시도 중입니다. 입력 된 텍스트 필드 value.But을 검색하려면 내가 textbox.Please 입력 한 값을 얻는 방법을 텍스트 필드에서 입력 된 값을 얻으려면 알려주십시오? 아래에 내 코드입니다. 여기ListView에서 TextField 값 가져 오기

public List<StockCountDetail> getItemEntryDetails() { 

     List<StockCountDetail> myStockCountDetailList = new ArrayList<StockCountDetail>(); 
     List<StockKeepingUnit> mySkuList = MpoBeanFactory.getBean(StockKeepingUnitDAO.class).getByStockLocation(stockLocationModel.getObject()); 
     myStockCountDetailList.clear(); 
     for (StockKeepingUnit mySku : mySkuList) { 
      StockCountDetail stockCountDetail = new StockCountDetail(); 
      stockCountDetail.setProduct(mySku.getProduct()); 
      myStockCountDetailList.add(stockCountDetail); 
     } 
     return myStockCountDetailList; 
    } 
myStockCountDetailList = new ListView<StockCountDetail>("itemList", new PropertyModel<List<StockCountDetail>>(
         StockCountEditPage.this, "itemEntryDetails")) { 

      @Override 
      protected void populateItem(ListItem<StockCountDetail> aItem) { 
       aItem.add(new AttributeAppender("class", true, new Model<String>(aItem.getIndex() % 2 == 0 ? "even" : "odd"), " ")); 
       aItem.add(new Label("product", aItem.getModelObject().getProduct().getCode())); 
       aItem.add(new Label("description", aItem.getModelObject().getProduct().getDescription())); 
       aItem.add(new CheckBox("skipFlag", new PropertyModel<Boolean>(aItem.getModel(), "skipFlag"))); 
       aItem.add(new TextField<Integer>("count", new PropertyModel<Integer>(aItem.getModel(), "count"))); 
      } 
     }; 
     myStockCountDetailList.setReuseItems(true); 
     form.add(myStockCountDetailList); 
     setOutputMarkupId(true); 
AjaxFallbackButton mySave = new AjaxFallbackButton("save", form) { 

      @Override 
      protected void onSubmit(AjaxRequestTarget aTarget, Form<?> aForm) { 
       saveStockCount(); 
       aTarget.addComponent(feedbackPanel); 
      } 

     }; 
     form.add(mySave); 
private void saveStockCount() { 
     boolean recordAdded = false; 
     for (StockCountDetail myStockCount : myStockCountDetailList.getModelObject()) { 
      if (!myStockCount.isSkipFlag()) { 
myStockTransaction.setQuantity(new BigDecimal(myStockCount.getCount())); 

} 

내가 myStockCount.getCount를 사용하여 값() 나 텍스트 상자의 값을 얻는 방법을 알고 listview.let에서 텍스트 상자의 입력 값이 점점 아니에요?

답변

0

ListViewgetItemEntryDetails()에서 값을 가져 오는 PropertyModel을 사용합니다.

그것은 당신이 그 결과 객체가 새로운 StockCountDetail들과 함께 새로운 List을 반환하는 this.getItemEntryDetails()에서 올 것이다 myStockCountDetailList.getModelObject()를 호출합니다.

값을 유지하려면 필드에 목록을 저장할 수 있습니다.

관련 문제