package com.topsun.posclient.repository.ui.table; import org.eclipse.jface.viewers.ICellModifier; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.widgets.TableItem; import com.topsun.posclient.common.POSException; import com.topsun.posclient.common.service.IBaseService; import com.topsun.posclient.common.service.impl.BaseServiceImpl; import com.topsun.posclient.datamodel.Item; public class AdjustStoreCellModify implements ICellModifier { public TableViewer tableViewer; public AdjustStoreCellModify(TableViewer tableViewer){ this.tableViewer = tableViewer; } @Override public boolean canModify(Object element, String property) { if("itemName".equals(property) || "num".equals(property)){ return true; } return false; } @Override public Object getValue(Object element, String property) { if(element instanceof Item){ Item item = (Item)element; if("itemName".equals(property)){ return item.getItemName()!=null?"":""; } if("num".equals(property)){ //return String.valueOf(item.getNum()); } } return null; } @Override public void modify(Object element, String property, Object value) { if(element instanceof TableItem){ TableItem item = (TableItem)element; Item saleItem = (Item)item.getData(); if("itemName".equals(property)){ IBaseService commonService = new BaseServiceImpl(); try { if(value.toString().equals("")){ saleItem.setItemName(""); } Item queryItem = commonService.getItemByCode(value.toString()); if(queryItem != null){ saleItem.setItemName(queryItem.getItemName()); saleItem.setItemCode(value.toString()); // saleItem.setNum(1); //saleItem.setRetailPrice(queryItem.getRetailPrice()); tableViewer.refresh(); } } catch (POSException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if("num".equals(property)){ if("".equals(value.toString().trim())){ return; } //saleItem.setNum(Integer.valueOf(value.toString())); tableViewer.refresh(); } } } }