2013-11-26 3 views
2

я реализовать код в GroupableHeader и попытаться включить переназначения разрешено, но у меня есть две проблемы:Показать заголовок столбца на столбец перетащив

1: При перемещении столбца заголовок не вижу, через колонку
2 : Как ограничить перетаскиваемую область столбца, чтобы предотвратить вывод столбца столбцаGroup

Я не понимаю, почему заголовок не отображается при перетаскивании столбца, я читаю заголовок таблицы api, но не нашел никакого решения. Любые идеи для решения этих проблем?

+3

Добро пожаловать в чудесный мир старого кода в Интернете. В принципе, «GroupableHeader» переопределяет делегат внешнего вида и восприятия, используемый для рисования заголовка столбца.Если вы хотите предоставить эту функциональность, вам придется (сильно) изменить код, чтобы представить его поддержку ... – MadProgrammer

ответ

7

Мой предшественник также считает, что с помощью кода они скопировали из Интернета была хорошая идея ... к счастью для моей компании, я не

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

  • упорядочения столбца, в том числе, ограничивая сгруппированных столбцы там группы
  • их сортировок
  • Различных других бит и штук

Это неполное решение, так как я еще не совсем попал в точку, где при перетаскивании группы и иметь его показать все столбцы в группе, но это в TableUI

Draggable column groups

к сожалению, я не могу вставить код, это превышает предел 3000 символов, но вы можете получить копию из here

+0

Большое вам спасибо! Я объединять свою работу с моим собственным кодом, и я думаю, что поделитесь им, когда у вас будет хорошая реализация, вы оставите меня своим делом для сообщества? – user2958096

+0

И другое cuestion, как установить внешний вид? Я тестирую Windows и не работаю. Я переопределяю InstallUi и UninstallUi, но перетащил множество проблем – user2958096

+0

Эта реализация зависит от внешнего вида и стиля? – user2958096

1

немного более полное решение: JBroTable.

Он основан на ответе MadProgrammer. Он также ограничивает перемещение столбцов из группы. И приносит некоторые дополнительные функции:

  • Произвольное количество строк
  • Natural API для создания модели
  • Generic поддержка других L & Fs (Windows система L & F, GTK'шный, Nimbus и т.д.)
создание модели

Пример:

IModelFieldGroup groups[] = new IModelFieldGroup[] { 
    new ModelFieldGroup("A", "A") 
    .withChild(new ModelField("B", "B")) 
    .withChild(new ModelField("C", "C").withRowspan(2)), // Custom rowspan set. 
    new ModelFieldGroup("D", "D") 
    .withChild(new ModelField("E", "E")) 
    .withChild(new ModelField("F", "F")), 
    new ModelField("G", "G"), 
    new ModelFieldGroup("H", "H") 
    .withChild(new ModelFieldGroup("I", "I") 
        .withChild(new ModelField("J", "J"))) 
    .withChild(new ModelField("K", "K")) 
    .withChild(new ModelFieldGroup("L", "L") 
        .withChild(new ModelField("M", "M")) 
        .withChild(new ModelField("N", "N"))) 
}; 

Результат:

Result

Animated demo (2,5М)

Update:

Добавлен чертеж всего тащили колонны группу.

+0

Это выглядит великолепно @Qualtagh! Благодарим за вклад! – StephMW

Смежные вопросы