📄 searchview.java
字号:
package cn.com.likai.mms.search;
import java.io.IOException;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.ViewPart;
import cn.com.likai.mms.db.DbOperate;
import cn.com.likai.mms.db.SearchMember;
import cn.com.likai.mms.result.ResultEditor;
import cn.com.likai.mms.result.ResultEditorInput;
import cn.com.likai.mms.system.MmsFactory;
public class SearchView extends ViewPart implements ModifyListener{
private Combo sexCombo,birthdayCombo;
private Text nameText,learnSpecialtyText,workSpecialtyText;
private Composite parent;
private Group group;
private Button button,reportButton;
private SearchMember searchMember = new SearchMember();
private DbOperate db = MmsFactory.getDbOperate();
private Button yxCheck,wxCheck,zzCheck,kjwCheck,zcpsCheck;
public void createPartControl(Composite parent){
this.parent = parent;
createGroup();
}
private void createGroup(){
//创建一个Group组
group = new Group(parent,SWT.NONE);
group.setLayoutData(new GridData(GridData.FILL_BOTH));
group.setLayout(new GridLayout(4,false));
group.setText("搜索条件");
//创建Group组里的组件
//姓名
new Label(group,SWT.NONE).setText("姓名");
nameText = new Text(group,SWT.BORDER);
createOccupation(group,2);
//性别
new Label(group,SWT.NONE).setText("性别");
sexCombo = new Combo(group,SWT.NONE);
sexCombo.add("男");
sexCombo.add("女");
createOccupation(group,2);
//所学专业
new Label(group,SWT.NONE).setText("所学专业");
learnSpecialtyText = new Text(group,SWT.BORDER);
learnSpecialtyText.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL,2));
createOccupation(group,1);
//从事专业
new Label(group,SWT.NONE).setText("从事专业");
workSpecialtyText = new Text(group,SWT.BORDER);
workSpecialtyText.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL,2));
createOccupation(group,1);
//委员会
Group committeeGroup = new Group(group,SWT.NONE);
committeeGroup.setText("委员会");
committeeGroup.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL,4));
committeeGroup.setLayout(new GridLayout(6,false));
//有线
yxCheck = new Button(committeeGroup,SWT.CHECK);
new Label(committeeGroup,SWT.NONE).setText("有线");
//无线
wxCheck = new Button(committeeGroup,SWT.CHECK);
new Label(committeeGroup,SWT.NONE).setText("无线");
//增值
zzCheck = new Button(committeeGroup,SWT.CHECK);
new Label(committeeGroup,SWT.NONE).setText("增值");
//科技委
kjwCheck = new Button(committeeGroup,SWT.CHECK);
new Label(committeeGroup,SWT.NONE).setText("科技委");
//职称评审
zcpsCheck = new Button(committeeGroup,SWT.CHECK);
new Label(committeeGroup,SWT.NONE).setText("职称评审");
//出生年月
new Label(group,SWT.NONE).setText("出生年月");
birthdayCombo = new Combo(group,SWT.NONE);
birthdayCombo.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL,2));
birthdayCombo.add("1930-01 至 1939-12");
birthdayCombo.add("1940-01 至 1949-12");
birthdayCombo.add("1950-01 至 1959-12");
birthdayCombo.add("1960-01 至 1969-12");
birthdayCombo.add("1970-01 至 1979-12");
birthdayCombo.add("1980-01 至 1989-12");
createOccupation(group,6);
//按钮
button = new Button(group,SWT.NONE);
button.setText("搜 索");
button.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
getSearchCondition();
db.createView(searchMember);
try{
ResultEditorInput ei = new ResultEditorInput();
//设置编辑器名字
ei.setName("搜索结果");
String editorId = ResultEditor.class.getName();
IWorkbenchPage workbenchPage = getViewSite().getPage();
IEditorPart editor = workbenchPage.findEditor(ei);
if(editor!=null){
workbenchPage.bringToTop(editor);
}else{
editor = (ResultEditor)workbenchPage.openEditor(ei,editorId);
}
}catch(PartInitException e2){e2.printStackTrace();}
}
});
//导出按钮
reportButton = new Button(group,SWT.NONE);
reportButton.setText("导出结果");
reportButton.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
String ls_path = System.getProperty("user.dir");;
try{
Runtime.getRuntime().exec("cmd /c start " + ls_path + "\\result.xls");
}catch(IOException e2){e2.printStackTrace();}
}
});
}
/**
* 从组件中接收输入的查询条件
*
*/
private void getSearchCondition(){
searchMember.setName(nameText.getText());
if(sexCombo.getSelectionIndex() == 0){
searchMember.setSex(0);
}else if(sexCombo.getSelectionIndex() == 1){
searchMember.setSex(1);
}else{
searchMember.setSex(2);
}
String temp[]=new String[5];
temp[0] = yxCheck.getSelection()?"有线":"";
temp[1] = wxCheck.getSelection()?"无线":"";
temp[2] = zzCheck.getSelection()?"增值":"";
temp[3] = kjwCheck.getSelection()?"科技委":"";
temp[4] = zcpsCheck.getSelection()?"职称评审":"";
searchMember.setCommittee(temp);
searchMember.setLearnSpecialty(learnSpecialtyText.getText());
searchMember.setWorkSpecialty(workSpecialtyText.getText());
switch(birthdayCombo.getSelectionIndex()){
case 0:
searchMember.setFromBirthday(stringToDate("1930-01-01"));
searchMember.setToBirthday(stringToDate("1939-12-31"));
break;
case 1:
searchMember.setFromBirthday(stringToDate("1940-01-01"));
searchMember.setToBirthday(stringToDate("1949-12-31"));
break;
case 2:
searchMember.setFromBirthday(stringToDate("1950-01-01"));
searchMember.setToBirthday(stringToDate("1959-12-31"));
break;
case 3:
searchMember.setFromBirthday(stringToDate("1960-01-01"));
searchMember.setToBirthday(stringToDate("1969-12-31"));
break;
case 4:
searchMember.setFromBirthday(stringToDate("1970-01-01"));
searchMember.setToBirthday(stringToDate("1979-12-31"));
break;
case 5:
searchMember.setFromBirthday(stringToDate("1980-01-01"));
searchMember.setToBirthday(stringToDate("1989-12-31"));
break;
default:
searchMember.setFromBirthday(stringToDate("0001-01-01"));
searchMember.setToBirthday(stringToDate("9999-01-01"));
break;
}
}
public SearchMember getInput(){
return this.searchMember;
}
public void setInput(SearchMember searchMember){
this.searchMember = searchMember;
}
public void setFocus(){}
public void dispose(){
super.dispose();
}
public void modifyText(ModifyEvent e){
}
/**
* 自定义的生成GridData对象
* 参数:style:对齐充满方式
* horizontalSpan:所占列数
*/
private GridData createGridData(int style,int horizontalSpan){
GridData gridData = new GridData(style);
gridData.horizontalSpan = horizontalSpan;
return gridData;
}
/**
* 自定义生成不可见的占位标签
* 参数:parent在哪个容器中生成
* num生成标签的个数
*/
private void createOccupation(Composite parent,int num){
for(int i=1;i<=num;i++){
new Label(parent,SWT.NONE).setVisible(false);
}
}
// STRING到日期
public static java.sql.Date stringToDate(String dateStr)
{
return java.sql.Date.valueOf(dateStr);
}
// 日期到STRING
public static String dateToString(java.sql.Date datee)
{
return datee.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -