Как подчеркнул @dirkgroten, ваша форма возвращает Date
, который не имеет часового пояса, с учетом часового пояса DateTime
вашей модели. Вот как это исправить с помощью поиска date
:
if start_date:
lookups = lookups | Q(job_created_on__date__gte=start_date)
if end_date:
lookups = lookups | Q(job_created_on__date__lte=end_date)
//defined somewhere
List<List<String>> lists = ....
String[][] array = new String[lists.size()][];
String[] blankArray = new String[0];
for(int i=0; i < lists.size(); i++) {
array[i] = lists.get(i).toArray(blankArray);
}
Я ничего не знаю о JTable, но преобразование списка списков для выстраивания может быть сделано с несколькими строками.
Для JTable
в частности, я предложил бы разделить на подклассы AbstractTableModel
как так:
class MyTableModel extends AbstractTableModel {
private List<List<String>> data;
public MyTableModel(List<List<String>> data) {
this.data = data;
}
@Override
public int getRowCount() {
return data.size();
}
@Override
public int getColumnCount() {
return data.get(0).size();
}
@Override
public Object getValueAt(int row, int column) {
return data.get(row).get(column);
}
// optional
@Override
public void setValueAt(Object aValue, int row, int column) {
data.get(row).set(column, aValue);
}
}
Примечание: это - возможное наиболее базовое внедрение; проверка ошибок опущена для краткости.
Используя модель как это, Вы не должны волноваться о бессмысленных преобразованиях в Object[][]
.