Как сделать содержимое столбца как имена столбцов JTable - MySQL

0

У меня есть те же данные с разными критериями, и вы хотите отображать на JTable, может кто-то мне помочь? ex: У меня есть данные в таблице "Альтернативные"

с ID = id01 (3 данных)

первые данные "id01 с критериями 1 = 01",

вторых данных "id01 с критериями2 = 02".

Я хочу отобразить в таблице с идентификатором столбец, критерии1, критерии02 со значением id01,01,02. горизонтально

Картина:

Изображение 174551

  • 0
    Я понятия не имею, что вы спрашиваете. Нарисуйте ASCII-изображение, показывающее данные в таблице так, как вы хотите, чтобы они отображались.
  • 0
    здесь я продемонстрировал на картинке i.stack.imgur.com/tqdIf.jpg
Показать ещё 2 комментария
Теги:
swing

1 ответ

0

Предполагая, что вы начинаете с List<String[]> например,

List<String[]> dataFromDatabase = new ArrayList<>();
dataFromDatabase.add(new String[] {"id01", "criteria1", "1"});
dataFromDatabase.add(new String[] {"id01", "criteria2", "2"});
dataFromDatabase.add(new String[] {"id01", "criteria3", "5"});
dataFromDatabase.add(new String[] {"id02", "criteria1", "6"});
dataFromDatabase.add(new String[] {"id02", "criteria2", "7"});
dataFromDatabase.add(new String[] {"id02", "criteria3", "10"});

Вы можете запустить его и сохранить данные в формате, который вы хотите на карте:

Map<String, String[]> resultMap = new HashMap<>();
for(String[] dataArray : dataFromDatabase) {
  String id = dataArray[0];
  String criteria = dataArray[1];
  String value = dataArray[2];

  String[] result = resultMap.getOrDefault(id, new String[3]);

  if("criteria1".equals(criteria))
    result[0] = value;
  else if("criteria2".equals(criteria))
    result[1] = value;
  else if("criteria3".equals(criteria))
    result[2] = value;

  resultMap.put(id, result);
}

В итоге вы получите следующую карту:

{ "id01", ["1","2","5"] }
{ "id02", ["6","7","10"] }

Я мог бы уточнить ответ, если вы дадите более подробную информацию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню