Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java GUI
Войти
Регистрация
Восстановить пароль
 
ProstoNekitos
0 / 0 / 1
Регистрация: 16.02.2013
Сообщений: 48
1

Обнуление идентификаторов в ColumnModel при добавлении колонки в JTable

07.07.2018, 22:00. Просмотров 79. Ответов 0

Вечер добрый
Есть пустая Jtable. Колонки в таблицу добавляются через DefaultTabelModel и к ним ставится идентификатор - уникальный ID:

Java
1
2
3
4
5
6
7
public void addNode(String name) {
        Node n = graph.addNode(Integer.toString(ID++));
        n.addAttribute("ui.label", name);
 
        ((DefaultTableModel)table.getModel()).addColumn(name);
        table.getColumnModel().getColumn(table.getColumnCount() - 1).setIdentifier(n.getId()); //установка идентификатора
}
Удаление, по-идее, должно производиться через этот идентификатор:

Java
1
2
3
4
public void deleteNode(Node n) {
        table.removeColumn(table.getColumn(n.getId()));
        graph.removeNode(n);
}
Но каждый раз получаю ошибку о не найденном идентификаторе. Как показал дебаггер, при добавлении новой колонки, идентификаторы предыдущих обнуляются. Подскажите, так и предусмотрено? И как это обойти.
P.S.: таблица, на данный момент, модифицируется исключительно этими двумя методами.

Добавлено через 53 минуты
Оказалось, что в стандартной библиотеке происходит полное пересоздание таблицы, через вызов метода:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void createDefaultColumnsFromModel() {
        TableModel m = getModel();
        if (m != null) {
            // Remove any current columns
            TableColumnModel cm = getColumnModel();
            while (cm.getColumnCount() > 0) {
                cm.removeColumn(cm.getColumn(0));
            }
 
            // Create new columns from the data model info
            for (int i = 0; i < m.getColumnCount(); i++) {
                TableColumn newColumn = new TableColumn(i);
                addColumn(newColumn);
            }
        }
    }
Как итог остаётся только хэдер и данные внутри.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2018, 22:00
Ответы с готовыми решениями:

Jawa.swing.InputVerifier - Поставить ограничение на ввод данных при добавлении в таблицу
Помогите пожалуйста, в Swing не очень шарю и никак не могу разобраться с...

Ошибка Неверное имя колонки При добавлении колонки ТЗ
Народ, подскажите что не правильно, Выдет ошибку.Результат отчета помещаю в...

Обнуление полей на форме при добавлении записей
Доброе утро! Имеется таблица со следующими полями № п/п Наименование...

Как проинициализировать значение колонки в grid при добавлении записи?
В grid из навигатора плюсиком &quot;+&quot; добавляю новую строку. Необходимо...

Ошибка при добавлении в таблицу
Приветствую не силен в бд на шарпе. Если есть кто подскажет в чем проблема ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2018, 22:00

Ошибка при добавлении данных в таблицу
Здравствуйте. Недавно начал изучать Entity Framework. Может кто поможет решить...

Режутся данные при добавлении в таблицу
Здравствуйте, делаю скрипт для добавления данных в таблицу, скрипт пишет что...

Ошибка при добавлении данных в таблицу БД
Здравствуйте! У меня имеется страничка ASP, которая работает с БД через модель...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru