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
Isabel A KolmetzJapanElwin Sharvill RENEWAL
Nicolas K MarrierSpainAmy Elsner UNQUALIFIED
Salvatore O GarufiIndiaElwin Sharvill PROPOSAL
Mayumi M ButtIndiaXuxue Feng PROPOSAL
Aruna Q ChuiArgentinaBernardo Dominic QUALIFIED
Rodrigues U AlbaresBrazilStephen Shaw QUALIFIED
Arvin H IturbideItalyAnna Fali NEW
Nicolas L BowleyAustraliaBernardo Dominic UNQUALIFIED
Julie T MaletAustraliaBernardo Dominic NEGOTIATION
Octavia J MacleadJapanAmy Elsner NEGOTIATION
Isabel B DarakjyRussiaAnna Fali NEGOTIATION
Julie H AlbaresCanadaOnyama Limba QUALIFIED
Sinclair S MacleadUnited KingdomBernardo Dominic QUALIFIED
Salvatore H FerenczAustraliaAnna Fali NEGOTIATION
Deepesh N RimItalyOnyama Limba NEW
Maisha G RimBrazilAsiya Javayant PROPOSAL
Jeanfrancois W ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Nicolas J FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Julie U StockhamUnited KingdomXuxue Feng NEW
Leon Z MorascaBrazilIoni Bowcher NEGOTIATION
Tony Z PoquetteCanadaElwin Sharvill UNQUALIFIED
Adams B SergiIndiaIvan Magalhaes QUALIFIED
Kaitlin A MorascaAustraliaIoni Bowcher RENEWAL
Tony B PaprockiSpainAsiya Javayant UNQUALIFIED
Jeanfrancois O CaudyItalyXuxue Feng NEW
Mujtaba D RimIndiaElwin Sharvill NEGOTIATION
Stacey X CampainRussiaAmy Elsner RENEWAL
Greenwood S DarakjyBrazilIoni Bowcher NEGOTIATION
Jones H DarakjyJapanStephen Shaw QUALIFIED
Munro F StockhamArgentinaElwin Sharvill NEGOTIATION
Aruna M RulapaughGermanyXuxue Feng NEW
Tony O WaycottArgentinaIvan Magalhaes UNQUALIFIED
Jefferson P BriddickSpainStephen Shaw RENEWAL
Leja I FlosiAustraliaElwin Sharvill NEW
Jones T VenereFranceOnyama Limba UNQUALIFIED
Deepesh Z TollnerJapanIvan Magalhaes NEGOTIATION
Chavez G FollerCanadaIvan Magalhaes RENEWAL
Mujtaba P GarufiItalyIvan Magalhaes NEW
Maria O ButtRussiaIoni Bowcher RENEWAL
Julie L InouyeAustraliaStephen Shaw PROPOSAL
Aika S IturbideArgentinaOnyama Limba RENEWAL
Jennifer V ChuiItalyElwin Sharvill QUALIFIED
Munro A MaletFranceAnna Fali QUALIFIED
Johnson J KuskoGermanyAmy Elsner NEGOTIATION
Costa D MaletBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois D OstroskyJapanIvan Magalhaes QUALIFIED
Arvin C FerenczJapanAmy Elsner UNQUALIFIED
Alejandro I FollerUnited KingdomAmy Elsner RENEWAL
Leja Q NickaGermanyOnyama Limba NEGOTIATION
Jennifer M DilliardGermanyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson Z GillianArgentinaIoni Bowcher QUALIFIED
Adams G ButtCanadaElwin Sharvill NEW
Murillo B CaudyUnited KingdomIoni Bowcher PROPOSAL
Arvin C BologniaUnited KingdomStephen Shaw PROPOSAL
Kadeem A DilliardItalyStephen Shaw UNQUALIFIED
Rodrigues B SergiSpainElwin Sharvill NEW
Octavia T FollerJapanStephen Shaw RENEWAL
Octavia Y CampainCanadaBernardo Dominic RENEWAL
Morrow W CampainItalyAnna Fali NEW
Maisha P KolmetzIndiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem T MaletArgentina2024-06-10Dorl, James J Esq UNQUALIFIED75Ioni Bowcher
1001Octavia A WhobreyAustralia2024-06-06Benton, John B Jr QUALIFIED3Ioni Bowcher
1002Maria F FerenczJapan2024-06-04Buckley Miller Wright NEGOTIATION85Ivan Magalhaes
1003Chavez I FigeroaCanada2024-06-17Chanay, Jeffrey A Esq PROPOSAL57Asiya Javayant
1004Deepesh W SchemmerRussia2024-06-16Dorl, James J Esq PROPOSAL21Bernardo Dominic
1005Misaki N InouyeJapan2024-06-11King, Christopher A Esq QUALIFIED64Stephen Shaw
1006Kaitlin M NestleUnited Kingdom2024-06-11King, Christopher A Esq QUALIFIED2Amy Elsner
1007Maria U WhobreyAustralia2024-05-20King, Christopher A Esq QUALIFIED57Stephen Shaw
1008Munro K CaudyUnited Kingdom2024-06-03Chapman, Ross E Esq NEW10Onyama Limba
1009Jennifer G FollerUnited Kingdom2024-06-18Chapman, Ross E Esq RENEWAL26Ivan Magalhaes
1010Chavez O MarrierSpain2024-06-08Truhlar And Truhlar Attys PROPOSAL64Ioni Bowcher
1011Wickens D FigeroaBrazil2024-06-12Buckley Miller Wright UNQUALIFIED93Ivan Magalhaes
1012Mayumi F CaudyRussia2024-06-04Chapman, Ross E Esq PROPOSAL77Anna Fali
1013Faith H RulapaughIndia2024-05-20Rousseaux, Michael Esq RENEWAL21Stephen Shaw
1014James R NickaSpain2024-05-26King, Christopher A Esq QUALIFIED48Asiya Javayant
1015Antonio C AlbaresRussia2024-06-03Morlong Associates UNQUALIFIED19Ivan Magalhaes
1016Aruna P PoquetteAustralia2024-06-10Buckley Miller Wright QUALIFIED16Stephen Shaw
1017Jennifer C AmigonIndia2024-05-31Printing Dimensions QUALIFIED51Stephen Shaw
1018Kaitlin P MaletItaly2024-06-07Morlong Associates QUALIFIED70Stephen Shaw
1019Arvin E InouyeArgentina2024-06-03Feltz Printing Service RENEWAL25Onyama Limba
1020Stacey P InouyeArgentina2024-05-21King, Christopher A Esq RENEWAL94Ivan Magalhaes
1021Mayumi R FollerCanada2024-05-26Commercial Press NEW22Asiya Javayant
1022Emily E StockhamBrazil2024-05-27Rangoni Of Florence NEW91Stephen Shaw
1023Kadeem J RimGermany2024-05-24Truhlar And Truhlar Attys NEW59Amy Elsner
1024Salvatore S KolmetzItaly2024-05-24Chemel, James L Cpa NEGOTIATION5Xuxue Feng
1025Aditya C CampainCanada2024-05-23Commercial Press UNQUALIFIED29Asiya Javayant
1026Juan T CaudyFrance2024-06-02Chapman, Ross E Esq PROPOSAL88Onyama Limba
1027Morrow A FlosiItaly2024-05-28Truhlar And Truhlar Attys QUALIFIED51Anna Fali
1028Leon Z RulapaughJapan2024-06-14Chanay, Jeffrey A Esq QUALIFIED21Bernardo Dominic
1029Aika H FigeroaItaly2024-05-28Chemel, James L Cpa NEGOTIATION12Onyama Limba
1030Mayumi P NickaArgentina2024-05-20Dorl, James J Esq UNQUALIFIED29Asiya Javayant
1031Aruna U OstroskyItaly2024-06-07Feiner Bros NEW80Onyama Limba
1032Izzy Y OstroskyIndia2024-06-04Commercial Press QUALIFIED81Stephen Shaw
1033Izzy W DoeFrance2024-06-17Rangoni Of Florence QUALIFIED71Ivan Magalhaes
1034Arvin B OstroskyGermany2024-06-09Feltz Printing Service NEGOTIATION64Anna Fali
1035Octavia I PaprockiBrazil2024-05-23Buckley Miller Wright RENEWAL62Anna Fali
1036Darci G CampainCanada2024-05-31Feiner Bros NEGOTIATION35Xuxue Feng
1037Arvin J SchemmerBrazil2024-05-30Chanay, Jeffrey A Esq NEGOTIATION63Ioni Bowcher
1038Costa W IturbideCanada2024-06-02Commercial Press NEGOTIATION86Elwin Sharvill
1039Ivar K ChuiIndia2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED72Anna Fali
1040Leon L FlosiRussia2024-06-07Rousseaux, Michael Esq UNQUALIFIED98Xuxue Feng
1041Leja H FerenczItaly2024-06-07Morlong Associates NEGOTIATION25Ioni Bowcher
1042Mujtaba D SaylorsCanada2024-06-08Benton, John B Jr RENEWAL48Elwin Sharvill
1043Emily U RimSpain2024-05-22Dorl, James J Esq RENEWAL12Anna Fali
1044Francesco U FollerBrazil2024-05-21Rangoni Of Florence PROPOSAL52Bernardo Dominic
1045Jefferson L SaylorsAustralia2024-06-05Rangoni Of Florence PROPOSAL28Ivan Magalhaes
1046Greenwood D PoquetteCanada2024-05-25Morlong Associates PROPOSAL28Elwin Sharvill
1047Claire W AlbaresJapan2024-05-30Morlong Associates NEGOTIATION85Stephen Shaw
1048Chavez S BologniaIndia2024-06-18Commercial Press QUALIFIED87Bernardo Dominic
1049Aruna M ButtArgentina2024-06-09Feiner Bros NEW93Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ivar E MaletFranceBernardo Dominic NEGOTIATION
Greenwood L CaudyFranceAmy Elsner RENEWAL
David X FigeroaRussiaAsiya Javayant RENEWAL
Jefferson T KolmetzUnited KingdomStephen Shaw RENEWAL
Leon R DilliardIndiaAnna Fali UNQUALIFIED
Smith E SergiArgentinaAmy Elsner NEW
Cody B InouyeArgentinaStephen Shaw UNQUALIFIED
Tony R BologniaIndiaStephen Shaw PROPOSAL
Ricardo W PerinArgentinaBernardo Dominic QUALIFIED
Kaitlin U NickaRussiaBernardo Dominic UNQUALIFIED
Francesco O WieserUnited KingdomStephen Shaw NEGOTIATION
Wickens K StensethItalyOnyama Limba PROPOSAL
James W RoysterArgentinaAnna Fali RENEWAL
Jones R SaylorsItalyAsiya Javayant QUALIFIED
Misaki Y WieserCanadaAmy Elsner RENEWAL
Misaki P StensethIndiaAmy Elsner RENEWAL
James G StockhamIndiaOnyama Limba NEW
Johnson V KolmetzFranceXuxue Feng PROPOSAL
Deepesh S SlusarskiAustraliaXuxue Feng NEGOTIATION
Misaki L StockhamGermanyBernardo Dominic PROPOSAL
Octavia L NickaBrazilIvan Magalhaes QUALIFIED
Smith H VocelkaIndiaIoni Bowcher NEW
James L SchemmerIndiaAnna Fali NEGOTIATION
Arvin A WhobreySpainElwin Sharvill RENEWAL
Faith J IturbideIndiaElwin Sharvill NEGOTIATION
Chavez Q CampainArgentinaXuxue Feng RENEWAL
Faith Z WieserRussiaAnna Fali NEGOTIATION
Ashley P VenereSpainBernardo Dominic NEW
Salvatore P PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Stacey U ButtAustraliaElwin Sharvill QUALIFIED
Johnson W SaylorsAustraliaElwin Sharvill QUALIFIED
Aditya H WieserBrazilIvan Magalhaes PROPOSAL
Aika R SergiFranceXuxue Feng UNQUALIFIED
Aditya Z NestleRussiaAmy Elsner UNQUALIFIED
Octavia J RutaItalyAsiya Javayant PROPOSAL
Mujtaba K AlbaresJapanStephen Shaw NEGOTIATION
Leja X GauchoArgentinaIoni Bowcher PROPOSAL
Chavez V OldroydAustraliaElwin Sharvill UNQUALIFIED
Greenwood M DilliardIndiaOnyama Limba NEW
Mayumi Y GillianRussiaElwin Sharvill PROPOSAL
Deepesh B CampainIndiaAnna Fali NEW
Costa R BowleyIndiaOnyama Limba RENEWAL
Jefferson U WhobreyBrazilIoni Bowcher PROPOSAL
Jones E WieserIndiaAmy Elsner QUALIFIED
Kadeem Y OstroskyUnited KingdomStephen Shaw NEGOTIATION
Jennifer K CaudyBrazilXuxue Feng NEW
Mujtaba A CampainBrazilIvan Magalhaes NEW
Nicolas F RutaItalyIvan Magalhaes RENEWAL
Alejandro G StensethAustraliaOnyama Limba NEW
Clifford H DoeAustraliaOnyama Limba PROPOSAL
Frozen Columns
Name
Cody I Venere
Tony Y Maclead
Stacey S Kusko
Greenwood C Shinko
Rodrigues Z Perin
Aruna U Glick
Salvatore V Rulapaugh
Arvin M Foller
Rodrigues X Slusarski
James G Garufi
Isabel T Marrier
Antonio Y Chui
Jennifer D Oldroyd
Ivar M Amigon
Cody E Briddick
Leon F Iturbide
Ashley I Gaucho
Aditya O Inouye
Antonio S Garufi
Isabel V Foller
Greenwood A Wieser
Salvatore H Vocelka
Aruna I Dilliard
Misaki L Saylors
Nicolas S Butt
Antonio A Caudy
Smith I Bowley
Adams X Vocelka
Julie L Vocelka
Emily B Poquette
Murillo S Poquette
Kaitlin H Figeroa
Jeanfrancois D Shinko
James T Dilliard
Clifford U Bolognia
Morrow W Flosi
Darci M Slusarski
Stacey L Waycott
Smith C Nicka
Leja X Malet
Emily O Caudy
Octavia Q Marrier
David S Stenseth
Salvatore O Kusko
Clifford K Darakjy
Murillo J Shinko
David G Nestle
Munro K Nicka
Leon A Shinko
Ashley C Stockham
IdCountryDate
1000Russia2024-06-03
1001France2024-06-06
1002Brazil2024-06-12
1003United Kingdom2024-05-23
1004Italy2024-06-15
1005Russia2024-06-01
1006Italy2024-06-08
1007Argentina2024-05-26
1008Germany2024-06-04
1009United Kingdom2024-06-05
1010France2024-05-21
1011France2024-06-08
1012Japan2024-06-16
1013Brazil2024-06-16
1014Russia2024-05-25
1015Australia2024-05-31
1016India2024-06-09
1017Italy2024-05-28
1018Canada2024-06-05
1019United Kingdom2024-05-29
1020Germany2024-06-06
1021France2024-05-27
1022Japan2024-06-02
1023France2024-06-13
1024Italy2024-06-13
1025Japan2024-06-11
1026Argentina2024-05-22
1027India2024-06-04
1028Germany2024-05-20
1029France2024-06-07
1030Australia2024-06-07
1031Italy2024-06-17
1032Germany2024-06-16
1033Spain2024-05-29
1034Russia2024-06-15
1035Spain2024-05-29
1036Japan2024-06-03
1037Russia2024-06-10
1038Argentina2024-06-13
1039India2024-06-05
1040Argentina2024-05-24
1041Canada2024-06-09
1042Spain2024-06-07
1043Canada2024-05-25
1044United Kingdom2024-05-29
1045Brazil2024-05-29
1046Russia2024-06-13
1047Japan2024-06-10
1048Russia2024-05-21
1049France2024-05-25

On-Demand Data

NameIdCountryDate
Juan P Royster1000Canada2024-05-31
Nicolas E Briddick1001Japan2024-06-07
Claire D Morasca1002Germany2024-05-21
Darci R Waycott1003Spain2024-06-05
Stacey O Dilliard1004Australia2024-06-01
Deepesh W Glick1005Spain2024-05-24
Francesco I Inouye1006Canada2024-06-05
Alejandro A Bowley1007Argentina2024-05-27
Adams L Schemmer1008France2024-05-28
Aika I Venere1009Canada2024-05-27
Jefferson I Kusko1010Russia2024-06-14
Chavez O Garufi1011United Kingdom2024-05-26
Silvio E Doe1012Australia2024-06-18
Jeanfrancois N Whobrey1013Russia2024-06-17
Munro W Butt1014Australia2024-05-20
Juan A Bolognia1015Canada2024-06-14
Ricardo E Kusko1016India2024-06-03
Isabel J Iturbide1017Canada2024-05-26
Murillo U Caldarera1018Italy2024-05-24
Silvio H Tollner1019Argentina2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio T CaldareraUnited KingdomBernardo Dominic RENEWAL
Ashley T MacleadArgentinaAsiya Javayant QUALIFIED
Greenwood U PoquetteRussiaAmy Elsner RENEWAL
Isabel X DarakjyUnited KingdomElwin Sharvill QUALIFIED
Smith E MarrierJapanBernardo Dominic NEGOTIATION
Johnson V ShinkoUnited KingdomIoni Bowcher RENEWAL
David P KuskoIndiaElwin Sharvill UNQUALIFIED
Mayumi T PerinSpainAsiya Javayant PROPOSAL
Aruna S WhobreyUnited KingdomIoni Bowcher PROPOSAL
Antonio K StensethJapanStephen Shaw RENEWAL
Kadeem Y BologniaJapanElwin Sharvill NEGOTIATION
Silvio U DilliardArgentinaBernardo Dominic NEGOTIATION
Ashley W WhobreyAustraliaStephen Shaw UNQUALIFIED
Murillo S GauchoFranceAsiya Javayant RENEWAL
Isabel V FlosiAustraliaStephen Shaw NEW
Misaki X RulapaughItalyAsiya Javayant NEW
Silvio U NickaFranceXuxue Feng NEGOTIATION
Tony W FerenczArgentinaAmy Elsner NEW
Aditya B MorascaBrazilXuxue Feng RENEWAL
Costa C VocelkaCanadaElwin Sharvill QUALIFIED
Nicolas Q GillianBrazilIvan Magalhaes PROPOSAL
Aika H ChuiRussiaStephen Shaw NEGOTIATION
Francesco G StockhamSpainElwin Sharvill NEGOTIATION
Emily P GillianItalyAnna Fali UNQUALIFIED
James W CampainJapanBernardo Dominic RENEWAL
Misaki H DoeBrazilAmy Elsner NEGOTIATION
Smith L RimUnited KingdomAsiya Javayant UNQUALIFIED
Wickens V GauchoFranceAnna Fali NEGOTIATION
Maria W FlosiBrazilAsiya Javayant NEW
Juan T WaycottGermanyAnna Fali NEW
Leon C SchemmerBrazilElwin Sharvill QUALIFIED
Ivar C DarakjyRussiaAsiya Javayant QUALIFIED
Murillo K FerenczSpainOnyama Limba UNQUALIFIED
Claire R OstroskySpainOnyama Limba RENEWAL
Jeanfrancois J CaldareraArgentinaAmy Elsner RENEWAL
Sinclair U PerinBrazilOnyama Limba NEGOTIATION
Claire P WieserSpainStephen Shaw RENEWAL
Aika M SergiAustraliaAsiya Javayant NEW
Leon S InouyeSpainIvan Magalhaes QUALIFIED
Antonio P StockhamIndiaIoni Bowcher NEGOTIATION

<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>