esoe 3 years ago
parent
commit
faa6aac8ae
  1. 2
      src/main/java/ru/egspt/ReportPane.java
  2. 42
      src/main/java/ru/egspt/ReportTableModel.java
  3. 2
      src/main/java/ru/egspt/TagControls.java
  4. BIN
      target/classes/ru/egspt/ReportPane.class
  5. BIN
      target/classes/ru/egspt/ReportTableModel.class

2
src/main/java/ru/egspt/ReportPane.java

@ -34,7 +34,7 @@ public class ReportPane extends JPanel { @@ -34,7 +34,7 @@ public class ReportPane extends JPanel {
reportTable = new JTable(reportTableModel);
//настройка заголовков
int i = 0;
while (i < reportTable.getColumnCount()){
while (i < reportTableModel.getHeader().length){
reportTable.getColumnModel().getColumn(i).setHeaderValue(reportTableModel.getHeader()[i]);
i++;
}

42
src/main/java/ru/egspt/ReportTableModel.java

@ -5,10 +5,20 @@ import java.util.ArrayList; @@ -5,10 +5,20 @@ import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
public class ReportTableModel extends AbstractTableModel{
private Object[] header = new String[]{"id", "login", "mail"};
private Object[] header;// = new String[]{"id", "login", "mail"};
private Object[][] data;
public ReportTableModel(){}
public ReportTableModel(Object[] header, Object[][] data){
setHeader(header);
setData(data);
}
public ReportTableModel(Data data){
setHeader(getHeaderByQuize(data));
setData(data);
}
public ReportTableModel(App app){
setHeader(getHeaderByQuize(app.getData()));
setData(app.getData());
}
@Override
@ -30,6 +40,7 @@ public class ReportTableModel extends AbstractTableModel{ @@ -30,6 +40,7 @@ public class ReportTableModel extends AbstractTableModel{
*/
public void setHeader(Object[] header) {
this.header = header;
fireTableDataChanged();
}
/**
* Настройка заголовков отчета
@ -51,7 +62,7 @@ public class ReportTableModel extends AbstractTableModel{ @@ -51,7 +62,7 @@ public class ReportTableModel extends AbstractTableModel{
int i = 0;
while (i < report.getQuizes().size()){
header.add(report.getQuizes().get(i).getName());
//System.out.println("Пишем заголовок: " + base.getQuizes().get(i).getName());
System.out.println("Пишем заголовок: " + report.getQuizes().get(i).getName());
header.add("");
i++;
}
@ -79,18 +90,33 @@ public class ReportTableModel extends AbstractTableModel{ @@ -79,18 +90,33 @@ public class ReportTableModel extends AbstractTableModel{
int userCurr = 0;
while (userCurr < report.getUsers().size()){
ArrayList<Object> string = new ArrayList<>();//новая строка отчета
//пишем данные пользователя
//пишем данные пользователя (первые три столбца)
string.add(report.getUsers().get(userCurr).getId());
string.add(report.getUsers().get(userCurr).getLogin());
string.add(report.getUsers().get(userCurr).getMail());
//перебираем результаты пользователя
//перебираем остальные заголовки (перечень опросов)
Boolean find = false;
int quizCurr = 0;
while (quizCurr < report.getQuizes().size()){
//перебираем результаты, ищем результаты по текущему опросу
int resultCurr = 0;
while (resultCurr < report.getResults().size()){
//если текущий результат относится к текущему опросу:
if (report.getResults().get(resultCurr).getQuizid() == report.getQuizes().get(quizCurr).getId()){
//если текущий результат относится к текущему пользователю
if (report.getResults().get(resultCurr).getUserid() == report.getUsers().get(userCurr).getId()){
string.add(report.getResults().get(resultCurr).getGrade());
string.add(report.getResults().get(resultCurr).getTime());
}
}
resultCurr++;
}
quizCurr++;
}
//пишем строку в d
int j = 0;
while (j < d[userCurr].length){
d[i][j] = string.toArray()[j];
d[userCurr][j] = string.toArray()[j];
j++;
}
userCurr++;

2
src/main/java/ru/egspt/TagControls.java

@ -15,7 +15,7 @@ public class TagControls { @@ -15,7 +15,7 @@ public class TagControls {
report.setQuizes(app.getData().getQuizesByResults(app.getData().getQuizes(), report.getResults()));
//формирование заголовков таблицы отчета
app.getReportPane().getReportTableModel().setHeader(app.getReportPane().getReportTableModel().getHeaderByQuize(report));
//выводим пользователей в отчет
//формирование данных в таблице
app.getReportPane().getReportTableModel().setData(report);
//app.getReportPane().setupReportTablePane(app);
app.getReportPane().getReportTableModel().fireTableDataChanged();

BIN
target/classes/ru/egspt/ReportPane.class

Binary file not shown.

BIN
target/classes/ru/egspt/ReportTableModel.class

Binary file not shown.
Loading…
Cancel
Save