Если ваш <p:dataTable>
использует ширины столбцов, такие как
<p:dataTable styleClass="myTable">
<p:column width="100">
, и вы используете следующий CSS, чтобы скрыть заголовки столбцов
.myTable thead {
display:none;
}
, вы также потеряете столбец ширины, установленные вами
Решение, чтобы скрыть заголовок столбца и сохранить ширину столбцов
.myTable thead th {
border: none !important;
background: none !important;
}
Хороший вопрос, поэтому я нашел его в книге Одерского и др. В нем говорится следующее (надеюсь, это не нарушение авторских прав, цитируя это здесь; -)):
Класс Список
не предлагает операцию добавления, потому что время требуется, чтобы добавить в список, растет линейно с размером списка, тогда как добавление в начало с помощью ::
занимает постоянное время. Если вы хотите создать список, добавляя элементы, у вас есть возможность добавить их в начало, а когда вы закончите, вызовите reverse
; или используйте ListBuffer
, изменяемый список, который предлагает операцию добавления, а когда вы закончите, вызовите toList
.
Насколько я понимаю FP, добавление в начало списка встречается гораздо чаще, чем добавление, по крайней мере, в чисто функциональных языках. Я могу только предположить, что разработчики Scala добавили оператор +
для удобства Java-разработчиков, которые привыкли добавлять с помощью add ()
, а затем задумались над этим.
Это было устарело в мае 2008 года в Revision 15071 , с сообщением:
устарели все проблематичные + методы и удалили те, которые никогда не появлялись в выпуске Отказ
Я ожидаю, что это было избежать неоднозначности со Stringaddd # +. Сравните разницу между 2.7.6 AN 2.8.0 Beta ниже:
Welcome to Scala version 2.7.6.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_15).
Type in expressions to have them evaluated.
Type :help for more information.
scala> List(1) + 2
warning: there were deprecation warnings; re-run with -deprecation for details
res0: List[Int] = List(1, 2)
scala> List(1) + "2"
warning: there were deprecation warnings; re-run with -deprecation for details
res1: List[Any] = List(1, 2)
В 2.8 метод был удален, и вы получаете:
Welcome to Scala version 2.8.0.Beta1-RC8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_15).
Type in expressions to have them evaluated.
Type :help for more information.
scala> List(1) + 2
<console>:5: error: type mismatch;
found : Int(2)
required: String
List(1) + 2
^
scala> List(1) + "2"
res1: java.lang.String = List(1)2
Обновление
в списке Scala, Мартин Одирских нот:
Чтобы узнать, что действительно плохо Список № +, подумайте, что вы ожидаете Следующее для производства:
Список (1, 2, 3) + "является правильным Результат "
?
oxbow_Lakes добавляет - - - - Мне потребовалось некоторое время, чтобы распаковать этот загадочный комментарий, но я думаю, что то, что он нарушает коммутативность типов, подразумеваемых +
Оператор. То есть тип A + B
должен быть таким же, как тип B + A
обновление Разъяснение Мартина Одарского:
Что бы вы ожидали
списка (1, 2, 3) + «является правильным результатом»
для производства? Я ожидал, что строка: «Список (1, 2, 3) является правильным результатом».
С 2,7 списком стилей. +, Вы вместо этого Список [любой], список (1, 2, 3 », является правильный результат »).
Я классифицирую, что как плохой сюрприз. В Резюме, никогда не должно быть + Метод на коллекциях, которые являются ковариантными в своем типе элемента. Набор и карты не вариантны, поэтому У них может быть метод +. Все Скорее деликатный и грязный. Мы были бы лучше, если мы не пытались Дублируйте Java + для строки Concatenation. Но когда Scala получил разработана идея состояла в том, чтобы сохранить по сути, все выражение Java Синтаксис, включая строку +. И это Слишком поздно, чтобы изменить это сейчас.
Это не было коммутативно и было особенно субтимальным в списках. Кроме того, поведение отличается между подменными и неизменными коллекциями. На SCALA 2.8 у вас есть следующее:
element +: sequence // prepend
sequence :+ element // append
sequenece ++ sequence // concatenate
Мультиватная / неизменяемая вещь не совсем решена. Букет методов был устарел в качестве первого шага, но их нельзя изменить или отстранены без периода обеспокоения.
Если вы следите это Тема , вы увидите, что это, вероятно, для производительности.
Обычно следует организовать
Список
конструкции, чтобы не добавить. Список SCALA - это неизменный односвязный список, поэтому присоединение к концу это работает операция O (N).
lista ::: listb
- это правое ассоциативность, и работает во времени пропорциональна длине lista «A ::: B
'- это a / prefed / operation, который работает вo (a.length)