Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Clifford J ChuiIndiaXuxue Feng PROPOSAL
Rodrigues N FerenczGermanyAsiya Javayant QUALIFIED
Adams P PaprockiArgentinaAnna Fali PROPOSAL
Jones S FollerCanadaOnyama Limba NEW
Claire I OldroydFranceStephen Shaw NEW
Mujtaba H VenereJapanBernardo Dominic NEGOTIATION
Kaitlin V AmigonAustraliaAnna Fali QUALIFIED
Juan C IturbideBrazilBernardo Dominic NEGOTIATION
Octavia S MacleadGermanyAsiya Javayant NEW
Kadeem N CaudyUnited KingdomIoni Bowcher NEW
Kaitlin K SlusarskiJapanAmy Elsner PROPOSAL
Maria D OldroydIndiaBernardo Dominic RENEWAL
Ashley W FerenczArgentinaXuxue Feng NEGOTIATION
Julie Q BowleyBrazilXuxue Feng RENEWAL
Aika L CaldareraGermanyBernardo Dominic NEW
Antonio G MaletFranceAsiya Javayant PROPOSAL
Deepesh C WieserAustraliaAnna Fali UNQUALIFIED
Maisha Q FerenczGermanyIoni Bowcher NEGOTIATION
Arvin H SergiAustraliaBernardo Dominic NEGOTIATION
Misaki C BriddickBrazilBernardo Dominic UNQUALIFIED
Jones L MaletFranceStephen Shaw PROPOSAL
Ricardo W SergiJapanAsiya Javayant UNQUALIFIED
Silvio A NickaBrazilBernardo Dominic QUALIFIED
Aruna X FollerJapanIoni Bowcher RENEWAL
Smith K FerenczFranceIoni Bowcher NEGOTIATION
Juan S MarrierBrazilIvan Magalhaes PROPOSAL
Faith T OldroydSpainBernardo Dominic NEGOTIATION
Mayumi D BologniaIndiaXuxue Feng UNQUALIFIED
Adams L DilliardGermanyIoni Bowcher RENEWAL
Izzy D IturbideUnited KingdomBernardo Dominic NEW
Juan C CaldareraJapanIvan Magalhaes RENEWAL
Isabel Q InouyeGermanyAmy Elsner NEW
Claire Y GillianAustraliaStephen Shaw PROPOSAL
Jefferson M RoysterFranceAnna Fali QUALIFIED
Kaitlin O SergiSpainAmy Elsner PROPOSAL
Aruna V KolmetzAustraliaAnna Fali UNQUALIFIED
Sinclair V KuskoUnited KingdomBernardo Dominic QUALIFIED
Darci Z ShinkoArgentinaIoni Bowcher QUALIFIED
Costa Z WieserUnited KingdomXuxue Feng NEW
Aditya A PoquetteGermanyAnna Fali QUALIFIED
Clifford M CaudyUnited KingdomStephen Shaw QUALIFIED
Deepesh V WieserArgentinaStephen Shaw NEW
Maria V StensethCanadaBernardo Dominic RENEWAL
Izzy J PaprockiRussiaAsiya Javayant RENEWAL
Tony R FollerArgentinaAsiya Javayant NEW
Aika B FlosiItalyAnna Fali NEGOTIATION
Ricardo D KuskoAustraliaXuxue Feng UNQUALIFIED
Silvio Q ChuiSpainAsiya Javayant PROPOSAL
Claire A FerenczUnited KingdomIoni Bowcher NEW
Adams G CaldareraBrazilIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer M DarakjyJapanXuxue Feng NEW
Chavez Z StockhamCanadaAnna Fali UNQUALIFIED
Deepesh M CaldareraAustraliaAsiya Javayant NEW
Rodrigues M MarrierCanadaIoni Bowcher QUALIFIED
Francesco I InouyeCanadaElwin Sharvill RENEWAL
Cody D MorascaRussiaBernardo Dominic QUALIFIED
Munro I MaletAustraliaAnna Fali PROPOSAL
Mayumi G RutaGermanyAnna Fali NEW
Mujtaba C GauchoIndiaAmy Elsner UNQUALIFIED
Mujtaba I ChuiIndiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David D StensethItaly2024-06-02Chemel, James L Cpa QUALIFIED17Amy Elsner
1001Chavez A OldroydGermany2024-06-01King, Christopher A Esq UNQUALIFIED24Ioni Bowcher
1002Ricardo D SchemmerAustralia2024-06-09Chanay, Jeffrey A Esq RENEWAL24Onyama Limba
1003Stacey V BowleyGermany2024-05-28Benton, John B Jr NEW83Amy Elsner
1004Jefferson M GauchoCanada2024-05-27Truhlar And Truhlar Attys QUALIFIED73Xuxue Feng
1005Isabel B CaudySpain2024-06-07King, Christopher A Esq QUALIFIED21Onyama Limba
1006Stacey H FerenczItaly2024-06-15Rangoni Of Florence QUALIFIED26Bernardo Dominic
1007David D PoquetteCanada2024-06-07Buckley Miller Wright QUALIFIED56Bernardo Dominic
1008Kadeem C SaylorsJapan2024-06-07Truhlar And Truhlar Attys NEGOTIATION20Ioni Bowcher
1009Deepesh L FerenczIndia2024-05-31Buckley Miller Wright NEW91Xuxue Feng
1010Jennifer Z StockhamFrance2024-06-06Feltz Printing Service UNQUALIFIED70Ivan Magalhaes
1011Johnson B MaletUnited Kingdom2024-06-09Rangoni Of Florence UNQUALIFIED4Asiya Javayant
1012Clifford T RutaIndia2024-06-01King, Christopher A Esq RENEWAL61Ivan Magalhaes
1013Ashley R MacleadUnited Kingdom2024-05-28Benton, John B Jr UNQUALIFIED87Stephen Shaw
1014Jennifer S BologniaCanada2024-05-29Printing Dimensions UNQUALIFIED61Asiya Javayant
1015Octavia P VocelkaItaly2024-06-15King, Christopher A Esq QUALIFIED61Anna Fali
1016Kadeem X SergiRussia2024-06-01Feiner Bros RENEWAL39Amy Elsner
1017Johnson I GauchoGermany2024-06-21Morlong Associates PROPOSAL34Onyama Limba
1018Maisha O RutaCanada2024-06-01Chanay, Jeffrey A Esq NEGOTIATION91Ivan Magalhaes
1019James W SergiRussia2024-05-28Feiner Bros NEW41Amy Elsner
1020Silvio Q KuskoRussia2024-06-23Chemel, James L Cpa UNQUALIFIED31Ioni Bowcher
1021Ricardo X BriddickArgentina2024-06-10Rangoni Of Florence QUALIFIED75Anna Fali
1022Johnson P SchemmerSpain2024-05-26Morlong Associates UNQUALIFIED96Asiya Javayant
1023Adams K WhobreyBrazil2024-05-30Rousseaux, Michael Esq PROPOSAL19Amy Elsner
1024Wickens U RoysterItaly2024-06-11Chapman, Ross E Esq NEW43Xuxue Feng
1025Munro B StockhamFrance2024-05-28Chapman, Ross E Esq NEW8Bernardo Dominic
1026Chavez R CaldareraItaly2024-06-06Rousseaux, Michael Esq QUALIFIED41Anna Fali
1027Isabel T KuskoJapan2024-06-10Morlong Associates NEW88Ivan Magalhaes
1028Nicolas R MorascaAustralia2024-06-23Rangoni Of Florence PROPOSAL88Asiya Javayant
1029Maria K NestleIndia2024-06-23Commercial Press QUALIFIED53Stephen Shaw
1030Jennifer B StockhamItaly2024-06-11Feiner Bros RENEWAL42Asiya Javayant
1031Faith K WieserUnited Kingdom2024-06-07Benton, John B Jr PROPOSAL30Onyama Limba
1032Emily B FollerBrazil2024-06-07Feltz Printing Service RENEWAL73Xuxue Feng
1033Nicolas O CaldareraCanada2024-06-23Feltz Printing Service QUALIFIED53Xuxue Feng
1034Costa F AlbaresItaly2024-06-16Buckley Miller Wright PROPOSAL53Stephen Shaw
1035Isabel M NestleFrance2024-06-16Benton, John B Jr UNQUALIFIED21Amy Elsner
1036Izzy N PoquetteRussia2024-05-30Rangoni Of Florence RENEWAL2Ioni Bowcher
1037Darci J WhobreyGermany2024-06-10Truhlar And Truhlar Attys UNQUALIFIED52Onyama Limba
1038Morrow B WaycottCanada2024-06-19Dorl, James J Esq NEGOTIATION49Ivan Magalhaes
1039Salvatore K InouyeFrance2024-06-23Commercial Press QUALIFIED75Anna Fali
1040Munro H MorascaBrazil2024-06-17Chemel, James L Cpa UNQUALIFIED95Anna Fali
1041Wickens T PerinUnited Kingdom2024-06-14Printing Dimensions UNQUALIFIED62Stephen Shaw
1042Kadeem L WaycottBrazil2024-06-20Chanay, Jeffrey A Esq QUALIFIED17Ivan Magalhaes
1043Sinclair O CampainIndia2024-06-20Rousseaux, Michael Esq RENEWAL39Amy Elsner
1044Adams O MaletRussia2024-06-14Benton, John B Jr RENEWAL39Ivan Magalhaes
1045Octavia L SergiSpain2024-06-23Chemel, James L Cpa QUALIFIED26Ivan Magalhaes
1046Smith B AlbaresRussia2024-05-29Rangoni Of Florence PROPOSAL6Stephen Shaw
1047Munro S MaletUnited Kingdom2024-06-11Chanay, Jeffrey A Esq RENEWAL91Asiya Javayant
1048Murillo X KolmetzGermany2024-06-23Buckley Miller Wright QUALIFIED94Ioni Bowcher
1049Adams Y MaletSpain2024-06-20Rousseaux, Michael Esq NEW44Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Wickens H MorascaCanadaStephen Shaw NEGOTIATION
Jones V ShinkoUnited KingdomXuxue Feng QUALIFIED
Ashley Q CampainBrazilElwin Sharvill QUALIFIED
Aika P FerenczBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois M NickaFranceAmy Elsner NEW
Julie U DilliardArgentinaIoni Bowcher RENEWAL
Munro P FerenczIndiaAmy Elsner NEGOTIATION
Darci O SaylorsItalyIvan Magalhaes QUALIFIED
Darci T PerinRussiaOnyama Limba QUALIFIED
Stacey H FigeroaArgentinaAnna Fali PROPOSAL
Aika K RimGermanyOnyama Limba RENEWAL
Jennifer B RutaItalyIoni Bowcher NEW
Maria W InouyeJapanAnna Fali UNQUALIFIED
Rodrigues R ShinkoCanadaAnna Fali UNQUALIFIED
Jeanfrancois R TollnerBrazilOnyama Limba UNQUALIFIED
Smith R GarufiBrazilAsiya Javayant UNQUALIFIED
Adams E GlickUnited KingdomBernardo Dominic PROPOSAL
Kadeem W MarrierRussiaIoni Bowcher NEW
Mayumi F PerinBrazilXuxue Feng NEW
Leja R ChuiIndiaAmy Elsner NEW
Jeanfrancois C BologniaJapanElwin Sharvill RENEWAL
Juan K RoysterRussiaAnna Fali NEGOTIATION
Juan Z MaletArgentinaXuxue Feng RENEWAL
David J CaudyFranceAnna Fali UNQUALIFIED
Johnson A GauchoJapanBernardo Dominic QUALIFIED
Ivar F OstroskySpainBernardo Dominic RENEWAL
Mujtaba P FlosiRussiaAmy Elsner NEW
Leon R MorascaBrazilElwin Sharvill PROPOSAL
Leon S RimFranceXuxue Feng NEGOTIATION
Faith S RutaUnited KingdomIvan Magalhaes QUALIFIED
Sinclair J SlusarskiSpainStephen Shaw UNQUALIFIED
Aika E FollerArgentinaXuxue Feng PROPOSAL
Wickens E SchemmerJapanElwin Sharvill RENEWAL
Silvio U FigeroaBrazilIvan Magalhaes QUALIFIED
Kaitlin J ButtBrazilBernardo Dominic UNQUALIFIED
Rodrigues R CaldareraJapanStephen Shaw UNQUALIFIED
Leon V StockhamCanadaOnyama Limba UNQUALIFIED
Jefferson C InouyeBrazilAnna Fali RENEWAL
Claire U VocelkaBrazilXuxue Feng UNQUALIFIED
Ricardo C AmigonItalyOnyama Limba NEGOTIATION
Jefferson S AlbaresSpainIoni Bowcher NEGOTIATION
Silvio L RutaAustraliaIoni Bowcher QUALIFIED
Adams A MaletRussiaBernardo Dominic NEGOTIATION
James U RimSpainOnyama Limba UNQUALIFIED
Morrow O SchemmerIndiaAsiya Javayant PROPOSAL
Darci Z RimSpainAsiya Javayant UNQUALIFIED
Faith E AmigonRussiaIoni Bowcher NEGOTIATION
Misaki W OstroskyCanadaStephen Shaw UNQUALIFIED
Izzy K VenereCanadaXuxue Feng RENEWAL
Johnson K GarufiBrazilXuxue Feng PROPOSAL
Frozen Columns
Name
Sinclair L Nestle
Mujtaba S Slusarski
Sinclair L Maclead
Octavia C Kusko
Murillo V Nestle
Darci D Figeroa
Aruna L Marrier
Morrow T Caudy
Misaki M Morasca
Wickens I Malet
Deepesh Z Perin
Ashley C Royster
Murillo T Campain
Silvio Y Kusko
Sinclair C Briddick
Alejandro H Oldroyd
Clifford M Dilliard
Ivar S Inouye
Aruna Z Oldroyd
James A Bolognia
David N Perin
James I Malet
Jefferson Q Briddick
Jennifer N Bolognia
Wickens N Ruta
Misaki C Ferencz
Faith R Perin
Ricardo O Ferencz
Jones B Ruta
Leon L Caldarera
Octavia J Iturbide
Jefferson O Poquette
Johnson G Malet
Leon V Royster
Adams O Inouye
Aditya T Ruta
Jefferson W Venere
Kadeem F Morasca
Jennifer V Inouye
Morrow Y Garufi
Smith P Stockham
Francesco G Rim
James T Tollner
Smith Q Tollner
Juan C Waycott
Clifford U Marrier
Munro Q Rulapaugh
Sinclair Y Saylors
Jeanfrancois U Ferencz
Rodrigues M Briddick
IdCountryDate
1000Germany2024-06-12
1001United Kingdom2024-06-18
1002United Kingdom2024-06-06
1003Canada2024-06-06
1004Australia2024-06-05
1005Spain2024-05-30
1006Argentina2024-06-21
1007United Kingdom2024-06-10
1008Brazil2024-06-13
1009India2024-05-27
1010Argentina2024-06-17
1011Germany2024-05-28
1012India2024-05-26
1013India2024-05-26
1014Italy2024-06-19
1015Canada2024-05-26
1016Japan2024-06-16
1017India2024-06-04
1018Brazil2024-05-26
1019Canada2024-06-18
1020Argentina2024-06-05
1021Brazil2024-06-13
1022India2024-05-26
1023France2024-05-26
1024Russia2024-06-21
1025Australia2024-06-19
1026Brazil2024-06-01
1027Germany2024-06-07
1028Germany2024-05-28
1029Spain2024-06-18
1030Argentina2024-06-02
1031Spain2024-06-07
1032Spain2024-05-27
1033Germany2024-06-16
1034Italy2024-06-17
1035Canada2024-06-05
1036France2024-06-21
1037Italy2024-06-22
1038Canada2024-06-11
1039India2024-06-10
1040Spain2024-05-27
1041Italy2024-06-03
1042Russia2024-06-03
1043Spain2024-06-03
1044Brazil2024-06-08
1045Brazil2024-06-07
1046Argentina2024-05-29
1047United Kingdom2024-05-29
1048Argentina2024-05-29
1049Spain2024-05-25

On-Demand Data

NameIdCountryDate
Emily V Paprocki1000France2024-06-04
Smith H Marrier1001Russia2024-06-17
Adams Q Slusarski1002Japan2024-06-14
Costa V Malet1003Brazil2024-06-05
Jefferson N Perin1004Brazil2024-06-17
Ricardo C Wieser1005Russia2024-06-03
Tony E Royster1006Brazil2024-06-01
Jones R Ferencz1007Brazil2024-06-06
Julie Y Whobrey1008Italy2024-06-06
Misaki D Garufi1009Canada2024-06-12
Morrow J Amigon1010Japan2024-06-10
Morrow X Ruta1011Italy2024-06-11
Darci A Malet1012Russia2024-06-15
Aditya K Schemmer1013Argentina2024-05-30
Deepesh G Garufi1014Australia2024-06-09
Maisha G Poquette1015India2024-06-04
Leon K Figeroa1016Australia2024-06-22
Aika Z Inouye1017Brazil2024-06-17
Rodrigues D Foller1018Japan2024-06-18
Arvin K Waycott1019Russia2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas V SergiBrazilStephen Shaw NEGOTIATION
Octavia V FigeroaRussiaBernardo Dominic NEW
Octavia H CaldareraArgentinaOnyama Limba NEGOTIATION
Munro G WieserUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez I KuskoSpainIvan Magalhaes QUALIFIED
Sinclair B ButtItalyBernardo Dominic RENEWAL
Aruna R SergiJapanElwin Sharvill UNQUALIFIED
Adams L SlusarskiSpainIvan Magalhaes QUALIFIED
Johnson F MorascaIndiaOnyama Limba QUALIFIED
Sinclair N WaycottAustraliaAnna Fali RENEWAL
Adams V RimCanadaXuxue Feng NEW
Wickens I MarrierBrazilStephen Shaw UNQUALIFIED
Kadeem P NickaArgentinaAmy Elsner PROPOSAL
Morrow T OldroydArgentinaIoni Bowcher UNQUALIFIED
Octavia R DilliardBrazilOnyama Limba QUALIFIED
Rodrigues P NestleJapanIvan Magalhaes NEGOTIATION
Leon K DoeFranceAnna Fali QUALIFIED
Chavez F IturbideIndiaOnyama Limba PROPOSAL
Silvio D GlickBrazilAsiya Javayant RENEWAL
Izzy I PerinAustraliaAmy Elsner NEW
Leja Q SergiArgentinaXuxue Feng UNQUALIFIED
Jefferson Y SlusarskiRussiaStephen Shaw QUALIFIED
Claire E OldroydIndiaAnna Fali NEGOTIATION
Jennifer G PaprockiRussiaIoni Bowcher QUALIFIED
Isabel T RoysterItalyIoni Bowcher UNQUALIFIED
Mujtaba O AlbaresBrazilIoni Bowcher QUALIFIED
Tony Q FollerSpainStephen Shaw NEW
Leon V NestleBrazilStephen Shaw QUALIFIED
Maria J IturbideRussiaAmy Elsner RENEWAL
Maisha E BowleyRussiaStephen Shaw UNQUALIFIED
Juan Z FerenczRussiaAsiya Javayant PROPOSAL
Tony O FlosiJapanIoni Bowcher UNQUALIFIED
Kadeem X ChuiIndiaAmy Elsner RENEWAL
Greenwood Y RoysterCanadaOnyama Limba QUALIFIED
Costa H DoeCanadaIvan Magalhaes UNQUALIFIED
Izzy J PaprockiBrazilIoni Bowcher NEGOTIATION
Kadeem D CaldareraJapanIoni Bowcher RENEWAL
Leja L BriddickJapanStephen Shaw NEW
Deepesh R BologniaIndiaXuxue Feng PROPOSAL
Chavez N WhobreyGermanyBernardo Dominic NEW

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>