|
|
|
JTable - скрыть столбец ID
|
|||
|---|---|---|---|
|
#18+
Привет! Для работы с таблицами использую след. способ: 1) Класс для описания строки таблицы (TRow). 2) Класс, расширяющий AbstractTableModel для описания последовательности колонок, сравнения ячеек, добавления строк (TReport). 3) Класс от JPanel, создаёт JTable и устанавливает внешний вид таблицы. Всё колонки, которые определены в TRow обязательно должны быть и в TReport, иначе ошибка. Столбец ID нужен обязательно, но выводить его не нужно. Сделать ширину столбца равной 0 тоже не подходит: 1) видно всё равно; 2) использую автом. определение ширины столбца. На Java2s есть пример, но там при выборе видим.-невидим. столбцов, полностью исчезает невидимая колонка и соответственно получить данные из неё невозможно. Каким образом вы решали эту проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 11:39:11 |
|
||
|
JTable - скрыть столбец ID
|
|||
|---|---|---|---|
|
#18+
Сделай для столбца setPreferredWidth(0); setMinWidth(0); setMaxWidth(0); и он исчезнет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 13:47:11 |
|
||
|
JTable - скрыть столбец ID
|
|||
|---|---|---|---|
|
#18+
Не понимаю. Надо разрешить пользователю прятать колонку, или на этапе разработки? Если первое - самый простой способ вам озвучили. Если второе - тогда не понимаю, кто вас заставляет эту колонку вообще в модели декларировать? Про TReport не совсем понял, в чем фишка и как он использует контракт, предназначенный для JTable. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 15:29:52 |
|
||
|
JTable - скрыть столбец ID
|
|||
|---|---|---|---|
|
#18+
http://www.codeguru.com/java/articles/660.shtml - ну вот кстати, ссылка из гугла, как это делать правильно. Если, вам, конечно интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 15:32:46 |
|
||
|
JTable - скрыть столбец ID
|
|||
|---|---|---|---|
|
#18+
LeonidvНе понимаю. Надо разрешить пользователю прятать колонку, или на этапе разработки? Если первое - самый простой способ вам озвучили. Если второе - тогда не понимаю, кто вас заставляет эту колонку вообще в модели декларировать? Про TReport не совсем понял, в чем фишка и как он использует контракт, предназначенный для JTable. 1. На этапе разработки спрятать и не показывать никогда. 2. Если в модели не декларировать... Точно! У самой есть пример, когда в классе TRow вместе с моделью хранится еще и доп вектор. В случае ID вместо вектора integer. Только переделывать придется. :-) Сначала попробую setPreferredWidth(0); setMinWidth(0); setMaxWidth(0); 3. TReport - функции те же в принципе, что и в MyTableModel () из примера ниже. Leonidvhttp://www.codeguru.com/java/articles/660.shtml - ну вот кстати, ссылка из гугла, как это делать правильно. Если, вам, конечно интересно. Пример хороший, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 16:12:19 |
|
||
|
JTable - скрыть столбец ID
|
|||
|---|---|---|---|
|
#18+
Что-то мне кажется, вы не совсем понимает, что такое JTable, TableModel и как это едят. На самом деле, все просто. В JTable можно подсунуть какой угодно объект (да хоть объект бизнес-логики, если совесть позволяет), если подмешать к нему интерфейс TableModel. Для облегчения труда разработчиком, в Swing есть базовые заготовки для создания моделей. Самая дубовая "plug&play" - это DefaultTableModel. Чего уж там она делает не помню, потому как ни разу не использовал. Но вроде принимает на вход два массива - заголовков столбцов и данных. Если нужно что-то более хитрое, делают наследника от AbstractTableModel. Там нужно определить три метода: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 17:31:27 |
|
||
|
JTable - скрыть столбец ID
|
|||
|---|---|---|---|
|
#18+
Leonidv Как вы их определите, как что вы будете хранить еще в классе своей модели лично ваше дело. Для отображения таблицы главное не противоречиво объявить эти три метода. Непротиворечиво - в том плане, что если вы декларируете 3 строки (getRowCount = 3), то и getValueAt(2,0) должно нормально обрабатываться. Больше JTable ничего не волнует, делайте в своем классе что хотите. Откуда вы берете значения (getValueAt), тоже никого не волнует Значения getValueAt надо откуда-то брать, если они не хранятся в модели, то вопрос-откуда? Да, я до сих пор не понимаю зачем столько наворотов в Java для работы с JTable. После очень удобного интерфейса Delphi. Не знаю, можно ли на Delphi сделать, например, такое: см. каритнку Это таблица, показывающая сколько времени водитель провел за рулём автомобиля и как он вёл автомобиль (хорошо - зелёный цвет). При нажатии на кнопки в этой таблице открывается диалоговое окно с подробной инфой. Но, насколько часто требуется такая экзотика... думаю 95% нужно вывести инфу из БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 11:38:19 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=657&tid=2146466]: |
0ms |
get settings: |
14ms |
get forum list: |
22ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
35ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
74ms |
get tp. blocked users: |
3ms |
| others: | 274ms |
| total: | 452ms |

| 0 / 0 |
