You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
5.4 KiB
136 lines
5.4 KiB
/*
|
|
#=======================================================================================================
|
|
#
|
|
# Copyright (c) 2007 Origin Enterprise Solution LTD.
|
|
#
|
|
#=======================================================================================================
|
|
# File description: SearchResultTableModel.java
|
|
#=======================================================================================================
|
|
# Date time Name Action Description of Change
|
|
# 2011-1-17 ÏÂÎç03:46:12 tyl Ini ³õʼ»¯Îļþ
|
|
#=======================================================================================================
|
|
*/
|
|
package com.connor.lidy.task;
|
|
|
|
import java.util.Enumeration;
|
|
import java.util.List;
|
|
|
|
import javax.swing.JTable;
|
|
import javax.swing.table.DefaultTableModel;
|
|
import javax.swing.table.JTableHeader;
|
|
import javax.swing.table.TableColumn;
|
|
|
|
import com.connor.lidy.task.SearchResultDialog.SearchResults;
|
|
|
|
public class SearchResultTableModel extends DefaultTableModel {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
/**
|
|
* Creates a new instance of EditBatchProcessLineTableModel.
|
|
* @param data
|
|
*/
|
|
public SearchResultTableModel(String[] names, List<SearchResults> data, int index) {
|
|
super(getData(data, index), names);
|
|
}
|
|
|
|
public static Object[][] getData(List<SearchResults> data, int index) {
|
|
Object[][] datas = new Object[data.size()][];
|
|
for (int i = 0; i < data.size(); i++) {
|
|
if (index == 0) {
|
|
String[] info = new String[15];
|
|
info[0] = String.valueOf(i + 1);
|
|
info[1] = data.get(i).getTask_name();
|
|
info[2] = data.get(i).getTask_executor();
|
|
info[3] = data.get(i).getTask_createDate();
|
|
info[4] = data.get(i).getTask_finishDate();
|
|
info[5] = data.get(i).getTask_status();
|
|
info[6] = data.get(i).getTask_note();
|
|
info[7] = data.get(i).getTask_type();
|
|
info[8] = data.get(i).getProcess_executor();
|
|
info[9] = data.get(i).getProcess_name();
|
|
info[10] = data.get(i).getProcess_createDate();
|
|
info[11] = data.get(i).getProcess_finishDate();
|
|
info[12] = data.get(i).getProcess_lastModeUser();
|
|
info[13] = data.get(i).getProcess_status();
|
|
info[14] = data.get(i).getProcess_templateName();
|
|
datas[i] = info;
|
|
} else {
|
|
if (index == 1) {
|
|
String[] info = new String[8];
|
|
info[0] = String.valueOf(i + 1);
|
|
info[1] = data.get(i).getProcess_executor();
|
|
info[2] = data.get(i).getProcess_name();
|
|
info[3] = data.get(i).getTask_name();
|
|
info[4] = data.get(i).getProcess_createDate();
|
|
info[5] = data.get(i).getProcess_finishDate();
|
|
info[6] = data.get(i).getProcess_lastModeUser();
|
|
info[7] = data.get(i).getProcess_status();
|
|
datas[i] = info;
|
|
}
|
|
}
|
|
}
|
|
return datas;
|
|
}
|
|
|
|
@Override
|
|
public boolean isCellEditable(int row, int column) {
|
|
if (column == 0) {
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
// ÉèÖÃÁпí
|
|
public void setTableColumnsWidth(JTable myTable, int index) {
|
|
if (index == 0) {
|
|
myTable.getColumnModel().getColumn(0).setPreferredWidth(30);
|
|
myTable.getColumnModel().getColumn(1).setPreferredWidth(80);
|
|
myTable.getColumnModel().getColumn(2).setPreferredWidth(80);
|
|
myTable.getColumnModel().getColumn(3).setPreferredWidth(80);
|
|
myTable.getColumnModel().getColumn(4).setPreferredWidth(80);
|
|
myTable.getColumnModel().getColumn(5).setPreferredWidth(60);
|
|
myTable.getColumnModel().getColumn(6).setPreferredWidth(60);
|
|
myTable.getColumnModel().getColumn(7).setPreferredWidth(60);
|
|
myTable.getColumnModel().getColumn(8).setPreferredWidth(80);
|
|
myTable.getColumnModel().getColumn(9).setPreferredWidth(80);
|
|
myTable.getColumnModel().getColumn(10).setPreferredWidth(80);
|
|
myTable.getColumnModel().getColumn(11).setPreferredWidth(80);
|
|
myTable.getColumnModel().getColumn(12).setPreferredWidth(80);
|
|
myTable.getColumnModel().getColumn(13).setPreferredWidth(50);
|
|
myTable.getColumnModel().getColumn(14).setPreferredWidth(80);
|
|
} else {
|
|
if (index == 1) {
|
|
myTable.getColumnModel().getColumn(0).setPreferredWidth(30);
|
|
myTable.getColumnModel().getColumn(1).setPreferredWidth(100);
|
|
myTable.getColumnModel().getColumn(2).setPreferredWidth(120);
|
|
myTable.getColumnModel().getColumn(3).setPreferredWidth(100);
|
|
myTable.getColumnModel().getColumn(4).setPreferredWidth(120);
|
|
myTable.getColumnModel().getColumn(5).setPreferredWidth(120);
|
|
myTable.getColumnModel().getColumn(6).setPreferredWidth(100);
|
|
myTable.getColumnModel().getColumn(7).setPreferredWidth(80);
|
|
}
|
|
}
|
|
}
|
|
|
|
// ÉèÖÃÁÐ¿í£º
|
|
public void FitTableColumns(JTable myTable) {
|
|
JTableHeader header = myTable.getTableHeader();
|
|
// header.getColumnModel().getColumn(0)
|
|
int rowCount = myTable.getRowCount();
|
|
Enumeration<TableColumn> columns = myTable.getColumnModel().getColumns();
|
|
while (columns.hasMoreElements()) {
|
|
TableColumn column = (TableColumn) columns.nextElement();
|
|
int col = header.getColumnModel().getColumnIndex(column.getIdentifier());
|
|
int width = (int) myTable.getTableHeader().getDefaultRenderer().getTableCellRendererComponent(myTable, column.getIdentifier(), false, false, -1, col).getPreferredSize().getWidth();
|
|
for (int row = 0; row < rowCount; row++) {
|
|
int preferedWidth = (int) myTable.getCellRenderer(row, col).getTableCellRendererComponent(myTable, myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth();
|
|
width = Math.max(width, preferedWidth);
|
|
}
|
|
header.setResizingColumn(column);
|
|
column.setWidth(width + myTable.getIntercellSpacing().width);
|
|
}
|
|
}
|
|
}
|