当前位置: 代码迷 >> Web前端 >> 弹出搜索与选择窗口 以及限制输入
  详细解决方案

弹出搜索与选择窗口 以及限制输入

热度:144   发布时间:2012-10-26 10:30:59.0
弹出搜寻与选择窗口 以及限制输入
final TextItem managercenter=new TextItem("managercenter", "<nobr>甲方(合作社管理中心) </nobr>");
final TextItem nonghu = new TextItem("nonghu","<nobr>乙方(植烟主体) </nobr>");
//限制英文输入状态下的输入,不能输入内容
nonghu.setKeyPressFilter("[ ]");
//点击时弹出提示,不能输入,并将焦点转移。
nonghu.addClickHandler(new ClickHandler() {

public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
SC.say("请点击后面的图标进行选择!",new BooleanCallback() {

public void execute(Boolean value) {
// TODO Auto-generated method stub
if(value){
//转移焦点 managercenter.focusInItem();
//结束操作 return;
}
}
});
}
});
FormItemIcon icon = new FormItemIcon(); 
icon.setSrc("[SKIN]/actions/help.png");
//为文本输入项后添加图片,点击弹出选择窗口
nonghu.setIcons(icon);
nonghu.addIconClickHandler(new IconClickHandler(){

public void onIconClick(IconClickEvent event) {
NongHuSelectWindow.infoForm = infoForm;
NongHuSelectWindow.ds=NongShiDataSource.getNongHu();
NongHuSelectWindow.createWindow().show();
}});




public class NongHuSelectWindow  {

public static DynamicForm infoForm;
public static RestDataSource ds=null;
DynamicForm form = new DynamicForm();
ListGrid grid = new ListGrid();
public static String name;

public NongHuSelectWindow(){
designLayout();
}

public VLayout designLayout(){

VLayout mainLayout = new VLayout();

HLayout layout = new HLayout();
layout.setHeight(50);
layout.setMargin(5);
layout.setMembersMargin(15);
layout.addMember(createFindForm());
layout.addMember(createButton());

mainLayout.addMember(layout);
mainLayout.addMember(createGrid());

return mainLayout;
}

public DynamicForm createFindForm(){
form.setWidth(100);
TextItem name = new TextItem("name","<nobr>姓名 </nobr>");
form.setItems(name);
return form;
}

public IButton createButton(){
IButton findButton = new IButton("查找");
findButton.addClickHandler(new ClickHandler(){

public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
String name = (String)form.getField("name").getValue();
Criteria criteria = new Criteria();
criteria.setAttribute("name", name);
grid.fetchData(criteria);
}});
return findButton;
}

public ListGrid createGrid(){

grid.setSelectionType(SelectionStyle.SINGLE); 
grid.setSelectionAppearance(SelectionAppearance.CHECKBOX);
if(ds==null){
grid.setDataSource(NongShiDataSource.getNongHuDs());
}else{
grid.setDataSource(NongShiDataSource.getNongHu());
}

grid.addSelectionChangedHandler(new SelectionChangedHandler(){

public void onSelectionChanged(SelectionEvent event) {
// TODO Auto-generated method stub
try{
name = grid.getSelectedRecord().getAttribute("name");
}catch(Exception e){

}

}});
return grid;
}
public static Window createWindow(){
final Window winModal = new Window();  
        winModal.setWidth(600);  
        winModal.setHeight(400);  

        winModal.setTitle("选择农户");  
        winModal.setShowMinimizeButton(false); 
        winModal.setIsModal(true);
        winModal.setShowModalMask(true);
        winModal.centerInPage();
        winModal.setShowCloseButton(true);
        winModal.addItem(new NongHuSelectWindow().designLayout());
       
        winModal.addCloseClickHandler(new CloseClickHandler(){

public void onCloseClick(CloseClientEvent event) {

infoForm.getField("nonghu").setValue(NongHuSelectWindow.name);
winModal.clear();

}});
return winModal;

}


}
  相关解决方案