Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > RichFaces : скроллирование на верху


Автор: Alpes 30.11.2010, 11:00
Добрый день. Есть большая таблица. Строк может быть более 20-30 и в длину то же не маленькая.

Есть скролл внизу, но надо сделать его наверху, что бы пользователю не приходилось мотать страницу до низу, чтобы проскролировать таблицу вправо-влево. 

Код

<rich:panel>
<div class="rpBoxClass">
<rich:dataTable id="customReportTableCId" value="#{customReportBean.report}" var="reportItem"
                styleClass="reportnowrap" headerClass="tableHeaderClass">
    <f:facet name="header">

ВЫВОД КОЛОНОК 

</rich:dataTable>
</div>
</rich:panel>

Автор: MisterCleric 30.11.2010, 12:10
Привет. 
Я бы делал примерно так:
Код

<div id="topScroll" style="width: 184px; overflow-y: hidden; overflow-x: scroll; border: 1px solid;"
     onscroll="document.getElementById('scrolled').scrollLeft = this.scrollLeft;">
    <div style="width: 300px; height: 0;">dfg</div>
</div>
<div id="scrolled" style="width: 200px; height: 200px; border: 1px solid; overflow: auto;"
     onscroll="document.getElementById('topScroll').scrollLeft = this.scrollLeft;">
    <div style="width: 300px; height: 300px; background-color: red;">dfg dg
        df g
        dfg dgdf
        g
        dg
        df dfgdfgdfgdfgjdf lkghdfg ldfkghdlf kghsgh lgkhsf l;g;hsdfl gdhfgl dhg
        g fg
        dfgd
    </div>
</div>


Но это в раздел HTML & JavaScript

Автор: Alpes 30.11.2010, 12:21
Я пока в этом плохо разбираюсь, но что означает в раздел HTML & JavaScript ?

Тот кусочек кода что я выложил находится в xhtml файле.

То есть мне вместо   

df g
        dfg dgdf

выводить мою datatable?

Автор: MisterCleric 30.11.2010, 12:34
Поставленная тобой задача не является тривиальной и типичной.
Ее нужно решать через костыли и определенный опыт.
Брать тупо, то что тебе дали и подставлять свое не рекомендую: нужно сидеть и разбираться. 
Например: в твоей задаче я еще вижу такое:
1. Сразу после загрузки страницы тебе нужно JavaScript'ом посчитать длину твоей таблички, чтобы проставить эту длину диву внутри верхнего скролла.
2. Длина дива с верхним скроллом зависит от ширины полосы прокрутки. Т.е. это тоже надо считать после загрузки страницы. И тоже JavaScript'ом.

в общем: работай, учись - авось да чего добъешься

Автор: Alpes 30.11.2010, 12:56
Да я понимаю, что надо разбираться и рассчитывать на быстрое решение не всегда можно. Но человек, который дал эту задачу, сказал, что она очень простая и делается за 30 минут, вот я и кидаюсь на готове.

Хотя я тупо скопировал твой код и результат есть, теперь и правда нужно считать размер таблицы. Благо это все уже известные танцы с бубнами. ))

Так что тему помечаю как решенную ибо дело за малым. Так что спасибо за помощь! 

Автор: surly 1.12.2010, 12:45
rich:scrollableDataTable не подходит? =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)