Как я могу позволить телу прокручивать тело, но держать его неподвижно на месте?

При добавлении к StringBuilder происходит следующая логика:

if (newCount > value.length) {
    expandCapacity(newCount);
}

, где newCount - количество требуемых символов, а value.length - текущий размер буфера.

expandCapacity просто увеличивает размер резервной копии char[]

Метод ensureCapacity() является общедоступным способом вызова expandCapacity(), и его документы говорят:

Обеспечивает, чтобы емкость была как минимум равна указанному минимуму. Если текущая емкость меньше аргумента, то новый внутренний массив выделяется с большей пропускной способностью. Новая емкость больше:

  • Аргумент minimumCapacity.
  • Дважды старая емкость плюс 2.

Если Аргумент minimumCapacity неположителен, этот метод не принимает никаких действий и просто возвращает.

144
задан hichris123 18 June 2016 в 03:18
поделиться

4 ответа

Я должен был найти тот же ответ. Лучший пример, который я нашел, http://www.cssplay.co.uk/menu/tablescroll.html - я нашел, что пример № 2 работал хорошо на меня. Необходимо будет установить высоту внутренней таблицы со Сценарием Java, остальное - CSS.

53
ответ дан Ken Penn 18 June 2016 в 03:18
поделиться

Вы попытались использовать thead и tbody, и установить закрепленную высоту на tbody с overflow:scroll?

, Каковы Ваши целевые браузеры?

РЕДАКТИРОВАНИЕ: Это работало хорошо (почти) в Firefox - добавление вертикальной полосы прокрутки вызвало потребность в горизонтальной полосе прокрутки также - фу. IE просто установил высоту каждого td к тому, чем у меня был specifed высота tbody, чтобы быть. Здесь является лучшим, я мог придумать:

<html>
    <head>
    <title>Blah</title>
    <style type="text/css">
    table { width:300px; }
    tbody { height:10em;  overflow:scroll;}
    td { height:auto; }
    </style>
    </head>
    <body>
    <table>
        <thead>
            <tr>
              <th>One</th><th>Two</th>
              </td>
            </tr>
        </thead>
        <tbody>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
            <tr><td>Data</td><td>Data</td></tr>
        </tbody>
    </table>
    </body>
</html>
8
ответ дан Chris Marasti-Georg 18 June 2016 в 03:18
поделиться
  • 1
    Едва ли, что я хотел, но полезный также. Спасибо! – Alexander Prokofyev 7 October 2008 в 08:39

Это вызвало меня огромные головные боли, пытающиеся реализовать такую сетку для нашего приложения. Я попробовал все различные методы там, но у каждого из них были проблемы. Самое близкое я приехал, использовало плагин jQuery такой в качестве Flexigrid (взгляд http://www.ajaxrain.com для альтернатив), но это, кажется, не поддерживает таблицы 100% шириной, который является тем, в чем я нуждался.

то, Что я закончил тем, что делал, прокручивало мое собственное; Firefox поддерживает прокрутку tbody элементы так я, браузер осуществил сниффинг и использовал соответствующий CSS (устанавливающий высоту, переполнение и т.д.... спрашивают, хотите ли Вы больше деталей) сделать ту прокрутку, и затем для других браузеров я использовал два отдельных набора таблиц для использования table-layout: fixed, который использует алгоритм калибровки, который, как гарантируют, не переполнит установленного размера (нормальные таблицы расширятся, когда содержание будет слишком широко для установки). Путем предоставления обеим таблицам идентичных ширин я смог заставить их столбцы выстраиваться в линию. Я перенесся, второй в отделении установил на прокрутку, и с небольшим количеством jiggery pokery с полями и т.д. сумел получить стиль, который я хотел.

Жаль, если этот ответ звучит немного неопределенным в местах; я пишу быстро, поскольку у меня нет большого количества времени. Оставьте комментарий, если Вы хотите, чтобы я расширился дальше!

2
ответ дан Luke Bennett 18 June 2016 в 03:18
поделиться

Not sure if anyone is still looking at this but they way I have done this previously is to use two tables to display the single original table - the first just the original table title line and no table body rows (or an empty body row to make it validate).

The second is in a separate div and has no title and just the original table body rows. The separate div is then made scrollable.

The second table in it's div is placed just below the first table in the HTML and it looks like a single table with a fixed header and a scrollable lower section. I have only tested this in Safari, Firefox and IE (latest versions of each in Spring 2010) but it worked in all of them.

The only issue it had was that the first table would not validate without a body (W3.org validator - XHTML 1.0 strict), and when I added one with no content it causes a blank row. Вы можете использовать CSS, чтобы сделать ее невидимой, но она все равно съедает место на странице.

3
ответ дан 23 November 2019 в 22:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: