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
Faith E KolmetzIndiaAsiya Javayant RENEWAL
Tony A IturbideJapanAsiya Javayant PROPOSAL
Greenwood O TollnerCanadaXuxue Feng NEW
Kaitlin Q NestleJapanAnna Fali QUALIFIED
James N ButtRussiaXuxue Feng QUALIFIED
Salvatore C FollerArgentinaIoni Bowcher RENEWAL
Isabel N DarakjyJapanBernardo Dominic NEW
Julie E CaldareraGermanyAnna Fali PROPOSAL
Jeanfrancois W TollnerSpainOnyama Limba PROPOSAL
Cody V GillianAustraliaIvan Magalhaes QUALIFIED
Cody G ButtFranceXuxue Feng NEW
Aika T GarufiCanadaOnyama Limba QUALIFIED
Claire J BriddickItalyElwin Sharvill PROPOSAL
Emily P SchemmerRussiaBernardo Dominic PROPOSAL
Jefferson F RoysterCanadaAsiya Javayant QUALIFIED
Ricardo B WieserItalyOnyama Limba NEGOTIATION
Darci T NickaRussiaAnna Fali UNQUALIFIED
Johnson P OstroskySpainBernardo Dominic UNQUALIFIED
Johnson D NickaCanadaStephen Shaw QUALIFIED
Isabel C GarufiUnited KingdomElwin Sharvill PROPOSAL
Clifford X PoquetteUnited KingdomBernardo Dominic NEGOTIATION
David Y OstroskyIndiaBernardo Dominic NEGOTIATION
Stacey T RoysterCanadaOnyama Limba RENEWAL
David X DoeGermanyOnyama Limba NEGOTIATION
Ricardo P FlosiAustraliaIvan Magalhaes NEGOTIATION
Tony A OldroydRussiaBernardo Dominic PROPOSAL
Costa V DarakjyGermanyAmy Elsner RENEWAL
Misaki J NestleRussiaAmy Elsner QUALIFIED
Misaki S ChuiIndiaStephen Shaw NEW
Maisha E RulapaughRussiaIoni Bowcher RENEWAL
Antonio X DarakjyGermanyAsiya Javayant QUALIFIED
Maisha O MaletAustraliaIoni Bowcher NEGOTIATION
Maria V MaletSpainStephen Shaw NEW
Costa K SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois P MarrierFranceAnna Fali UNQUALIFIED
Arvin A OstroskyGermanyBernardo Dominic QUALIFIED
Aika Z WhobreyCanadaXuxue Feng RENEWAL
Rodrigues T FlosiBrazilXuxue Feng NEGOTIATION
Leon F VenereBrazilStephen Shaw UNQUALIFIED
James D IturbideAustraliaStephen Shaw PROPOSAL
Murillo N VenereSpainAsiya Javayant RENEWAL
Ricardo R FerenczCanadaAmy Elsner PROPOSAL
Alejandro L AmigonIndiaAmy Elsner UNQUALIFIED
Greenwood M GarufiRussiaAsiya Javayant NEGOTIATION
Mayumi S InouyeJapanAnna Fali NEGOTIATION
Wickens Y BriddickSpainAsiya Javayant RENEWAL
Jefferson X AlbaresCanadaOnyama Limba NEGOTIATION
Salvatore O MaletSpainOnyama Limba RENEWAL
Ashley V MaletIndiaXuxue Feng UNQUALIFIED
Leja L DilliardSpainStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
David E KolmetzUnited KingdomXuxue Feng RENEWAL
Emily D FlosiJapanXuxue Feng PROPOSAL
Antonio F CaldareraIndiaIvan Magalhaes NEW
Maria A RimAustraliaElwin Sharvill NEW
Alejandro U ChuiJapanOnyama Limba UNQUALIFIED
Jennifer J ChuiArgentinaAnna Fali RENEWAL
Ashley S TollnerIndiaOnyama Limba NEGOTIATION
Izzy O PoquetteAustraliaAsiya Javayant NEW
Claire A MorascaJapanAmy Elsner RENEWAL
Antonio T WaycottAustraliaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow F OldroydAustralia2024-05-27Chapman, Ross E Esq QUALIFIED4Ioni Bowcher
1001Deepesh P ShinkoIndia2024-06-21Chemel, James L Cpa UNQUALIFIED18Asiya Javayant
1002Kaitlin F InouyeItaly2024-06-02Rousseaux, Michael Esq QUALIFIED3Ivan Magalhaes
1003Costa B AlbaresAustralia2024-06-12Feltz Printing Service NEW10Elwin Sharvill
1004Stacey N RulapaughBrazil2024-06-18Commercial Press RENEWAL49Bernardo Dominic
1005Deepesh W PoquetteAustralia2024-06-20Dorl, James J Esq PROPOSAL66Elwin Sharvill
1006Kadeem F InouyeIndia2024-06-20Truhlar And Truhlar Attys QUALIFIED32Stephen Shaw
1007Juan E GarufiBrazil2024-06-08Rousseaux, Michael Esq QUALIFIED8Ioni Bowcher
1008Murillo J KolmetzIndia2024-06-03Rousseaux, Michael Esq UNQUALIFIED22Xuxue Feng
1009Nicolas D StensethIndia2024-05-31Truhlar And Truhlar Attys PROPOSAL52Ivan Magalhaes
1010Jennifer B InouyeGermany2024-06-16King, Christopher A Esq NEGOTIATION50Stephen Shaw
1011Rodrigues M MarrierUnited Kingdom2024-06-01Buckley Miller Wright UNQUALIFIED71Anna Fali
1012Aika R DarakjyUnited Kingdom2024-05-31Chemel, James L Cpa UNQUALIFIED24Amy Elsner
1013Smith M SaylorsGermany2024-05-26King, Christopher A Esq NEGOTIATION66Bernardo Dominic
1014Antonio C PoquetteItaly2024-06-11Rangoni Of Florence QUALIFIED91Anna Fali
1015Stacey U AmigonUnited Kingdom2024-06-12Dorl, James J Esq QUALIFIED23Asiya Javayant
1016James H CampainSpain2024-05-31Feltz Printing Service UNQUALIFIED19Elwin Sharvill
1017Darci J SaylorsSpain2024-06-06Chapman, Ross E Esq RENEWAL30Bernardo Dominic
1018Cody D MacleadIndia2024-06-19Rangoni Of Florence NEGOTIATION0Stephen Shaw
1019Jeanfrancois Q VocelkaIndia2024-06-09Rousseaux, Michael Esq NEW88Asiya Javayant
1020Aika Q FollerSpain2024-06-06Printing Dimensions PROPOSAL22Onyama Limba
1021Ivar H GauchoCanada2024-06-11King, Christopher A Esq NEGOTIATION1Ioni Bowcher
1022Cody J FlosiAustralia2024-06-11Rousseaux, Michael Esq RENEWAL36Elwin Sharvill
1023Ivar D SchemmerGermany2024-06-15Chanay, Jeffrey A Esq NEGOTIATION65Ivan Magalhaes
1024David Q GauchoAustralia2024-06-06Chanay, Jeffrey A Esq QUALIFIED20Asiya Javayant
1025David E BologniaGermany2024-06-13Feltz Printing Service QUALIFIED46Elwin Sharvill
1026Jones M WhobreyArgentina2024-06-08King, Christopher A Esq UNQUALIFIED51Elwin Sharvill
1027Clifford V PerinArgentina2024-06-02Chanay, Jeffrey A Esq RENEWAL46Amy Elsner
1028Izzy O FollerUnited Kingdom2024-06-03Rousseaux, Michael Esq PROPOSAL62Elwin Sharvill
1029Nicolas W VenereItaly2024-06-05Feltz Printing Service PROPOSAL53Ivan Magalhaes
1030Maria M SchemmerGermany2024-06-11Truhlar And Truhlar Attys RENEWAL55Anna Fali
1031Faith B VenereAustralia2024-05-29Dorl, James J Esq PROPOSAL81Anna Fali
1032Kaitlin V BologniaRussia2024-06-11Commercial Press NEW13Elwin Sharvill
1033Murillo U ShinkoRussia2024-05-27Rangoni Of Florence RENEWAL95Ivan Magalhaes
1034Nicolas O NestleCanada2024-06-13Feltz Printing Service PROPOSAL93Anna Fali
1035Wickens Q VenereBrazil2024-06-10Chanay, Jeffrey A Esq NEW89Bernardo Dominic
1036Misaki V MorascaItaly2024-06-18Truhlar And Truhlar Attys NEW91Amy Elsner
1037Ricardo D ShinkoCanada2024-06-22Dorl, James J Esq NEGOTIATION85Ivan Magalhaes
1038Antonio U GarufiGermany2024-06-23Chanay, Jeffrey A Esq NEGOTIATION81Bernardo Dominic
1039Stacey Y MorascaArgentina2024-06-07Feiner Bros QUALIFIED96Bernardo Dominic
1040Clifford N KolmetzJapan2024-06-02Chapman, Ross E Esq PROPOSAL60Amy Elsner
1041Smith B DoeAustralia2024-06-16Feiner Bros NEW31Anna Fali
1042Rodrigues G StensethIndia2024-05-31Buckley Miller Wright QUALIFIED75Xuxue Feng
1043Darci F MacleadUnited Kingdom2024-05-31Truhlar And Truhlar Attys NEGOTIATION75Ivan Magalhaes
1044Aika U MacleadFrance2024-06-20Morlong Associates RENEWAL96Stephen Shaw
1045Maisha U SlusarskiUnited Kingdom2024-06-13Chanay, Jeffrey A Esq RENEWAL9Stephen Shaw
1046Rodrigues E WieserIndia2024-06-22Feiner Bros QUALIFIED58Stephen Shaw
1047Isabel F GlickFrance2024-06-16Chapman, Ross E Esq NEW83Stephen Shaw
1048Cody R OstroskyItaly2024-06-20Benton, John B Jr PROPOSAL60Ivan Magalhaes
1049Morrow B VenereArgentina2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED40Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Faith O SergiCanadaOnyama Limba UNQUALIFIED
Adams D GillianArgentinaOnyama Limba PROPOSAL
Mujtaba O GarufiFranceAnna Fali NEGOTIATION
Nicolas I WhobreySpainElwin Sharvill QUALIFIED
Chavez J MarrierAustraliaXuxue Feng PROPOSAL
Leja O GarufiArgentinaStephen Shaw NEGOTIATION
Maria P AlbaresGermanyAmy Elsner PROPOSAL
Murillo Z NickaCanadaAsiya Javayant UNQUALIFIED
Darci P StockhamItalyAnna Fali UNQUALIFIED
Smith I GlickRussiaIvan Magalhaes QUALIFIED
Costa C IturbideFranceAnna Fali NEW
Mujtaba W PaprockiIndiaBernardo Dominic RENEWAL
Tony S StensethArgentinaBernardo Dominic NEGOTIATION
Costa Y GauchoAustraliaXuxue Feng NEW
Maria G IturbideRussiaAmy Elsner NEGOTIATION
Izzy D CampainArgentinaStephen Shaw NEW
James J ButtCanadaIvan Magalhaes UNQUALIFIED
Munro W FerenczFranceOnyama Limba PROPOSAL
Maisha H GillianSpainIoni Bowcher QUALIFIED
Morrow W TollnerAustraliaXuxue Feng PROPOSAL
Maisha C KuskoSpainStephen Shaw RENEWAL
Darci J GlickBrazilIoni Bowcher NEW
Emily W ButtFranceAnna Fali QUALIFIED
Costa V MaletIndiaIvan Magalhaes NEW
Johnson E MaletIndiaIvan Magalhaes QUALIFIED
Maria J MacleadItalyOnyama Limba UNQUALIFIED
Silvio O SchemmerJapanIvan Magalhaes RENEWAL
Munro S BowleyUnited KingdomOnyama Limba QUALIFIED
Francesco D ButtItalyBernardo Dominic NEGOTIATION
Misaki K FollerItalyBernardo Dominic NEGOTIATION
Stacey V ShinkoAustraliaAsiya Javayant NEW
Morrow J MorascaBrazilAsiya Javayant RENEWAL
Julie C MacleadIndiaElwin Sharvill NEGOTIATION
Rodrigues D IturbideSpainAnna Fali NEW
Kaitlin C PoquetteJapanOnyama Limba UNQUALIFIED
Nicolas X RutaItalyAmy Elsner QUALIFIED
Antonio M FollerAustraliaStephen Shaw RENEWAL
Emily Q VenereAustraliaStephen Shaw UNQUALIFIED
Antonio W SaylorsCanadaAsiya Javayant NEGOTIATION
Aditya D SchemmerArgentinaStephen Shaw QUALIFIED
Julie M SlusarskiFranceStephen Shaw QUALIFIED
Morrow S FlosiSpainAmy Elsner PROPOSAL
Nicolas N VocelkaCanadaElwin Sharvill RENEWAL
Smith K BowleySpainIoni Bowcher PROPOSAL
Juan W RulapaughBrazilAsiya Javayant UNQUALIFIED
Murillo N StensethAustraliaElwin Sharvill RENEWAL
Sinclair J PerinAustraliaOnyama Limba NEW
Tony V FollerSpainIvan Magalhaes NEW
Munro R SchemmerJapanXuxue Feng QUALIFIED
Jones V RimUnited KingdomIvan Magalhaes RENEWAL
Frozen Columns
Name
Maisha Y Nicka
Wickens Z Maclead
Tony C Figeroa
Juan F Ostrosky
Jeanfrancois W Chui
Silvio O Butt
Juan J Albares
Julie K Albares
Jennifer N Ostrosky
Mujtaba L Malet
Juan L Caldarera
Adams T Nicka
Murillo K Darakjy
Emily P Shinko
Leja Z Saylors
Octavia T Bowley
Faith D Whobrey
Ashley U Flosi
Kadeem H Gillian
Chavez Q Garufi
Leja C Morasca
Ricardo H Butt
Rodrigues U Saylors
Darci A Stenseth
Ashley I Doe
Alejandro D Whobrey
Mujtaba Q Flosi
Misaki B Paprocki
Alejandro W Campain
Claire N Venere
Adams L Nicka
Antonio S Inouye
Emily Y Marrier
Jefferson U Maclead
Aditya T Ferencz
Munro R Oldroyd
Ivar M Venere
Munro U Marrier
Faith J Sergi
Murillo P Oldroyd
Jones T Rim
Stacey I Schemmer
Julie J Albares
Maisha E Sergi
Clifford V Poquette
Johnson W Iturbide
Aika G Schemmer
Deepesh N Vocelka
Ivar P Gillian
Munro V Wieser
IdCountryDate
1000Germany2024-06-23
1001Australia2024-06-11
1002France2024-05-28
1003Australia2024-06-19
1004Australia2024-05-30
1005Brazil2024-06-17
1006France2024-06-09
1007Japan2024-06-23
1008India2024-06-17
1009Canada2024-05-28
1010Argentina2024-06-19
1011Spain2024-06-04
1012Italy2024-06-01
1013Spain2024-06-16
1014Italy2024-05-27
1015United Kingdom2024-06-10
1016Russia2024-06-11
1017Spain2024-06-12
1018Spain2024-06-11
1019Russia2024-06-24
1020Italy2024-05-31
1021Italy2024-06-08
1022United Kingdom2024-06-15
1023Spain2024-06-08
1024Canada2024-06-24
1025Italy2024-05-30
1026France2024-06-11
1027Russia2024-06-03
1028Italy2024-06-02
1029Brazil2024-06-14
1030Italy2024-06-17
1031Brazil2024-05-27
1032Australia2024-06-13
1033Germany2024-06-18
1034Spain2024-06-10
1035Canada2024-05-31
1036Japan2024-06-13
1037Canada2024-06-22
1038France2024-05-31
1039Australia2024-06-07
1040Spain2024-06-04
1041Russia2024-06-12
1042Italy2024-06-08
1043Italy2024-06-08
1044Brazil2024-06-04
1045Russia2024-06-01
1046Australia2024-06-23
1047Brazil2024-06-18
1048India2024-06-14
1049Brazil2024-06-22

On-Demand Data

NameIdCountryDate
Leja O Malet1000Russia2024-06-02
Maisha W Kolmetz1001France2024-05-27
Smith P Gaucho1002France2024-05-31
Morrow E Bowley1003France2024-05-27
Costa S Darakjy1004India2024-06-13
Darci L Paprocki1005Argentina2024-06-23
Juan Q Butt1006Canada2024-05-30
Nicolas H Tollner1007Germany2024-05-30
Chavez R Ruta1008Canada2024-06-17
Nicolas S Figeroa1009Canada2024-06-16
Mayumi I Whobrey1010Brazil2024-06-13
Kaitlin Z Ruta1011Italy2024-06-14
Rodrigues J Dilliard1012Spain2024-05-26
Costa S Poquette1013India2024-06-14
Greenwood U Sergi1014Russia2024-06-23
Alejandro M Rulapaugh1015Canada2024-06-07
Julie X Wieser1016Russia2024-05-28
Ashley I Schemmer1017Japan2024-06-05
Isabel R Sergi1018Argentina2024-06-12
Johnson V Vocelka1019India2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki S RimRussiaBernardo Dominic PROPOSAL
Maria O NestleCanadaAmy Elsner UNQUALIFIED
Aruna Y BriddickIndiaXuxue Feng QUALIFIED
Julie F FigeroaAustraliaAmy Elsner UNQUALIFIED
Julie U InouyeJapanOnyama Limba NEGOTIATION
James B RulapaughGermanyBernardo Dominic NEW
Claire B InouyeRussiaOnyama Limba NEGOTIATION
Johnson P CaldareraIndiaBernardo Dominic NEGOTIATION
Alejandro U FigeroaSpainIoni Bowcher NEW
Ashley N RulapaughIndiaAnna Fali QUALIFIED
Arvin F BowleyGermanyAnna Fali NEGOTIATION
Murillo D BologniaItalyAmy Elsner NEGOTIATION
Clifford X WaycottSpainOnyama Limba UNQUALIFIED
Rodrigues R ButtRussiaAnna Fali RENEWAL
Johnson L ButtJapanBernardo Dominic QUALIFIED
Leon H ChuiJapanIoni Bowcher PROPOSAL
Aditya D GauchoAustraliaIvan Magalhaes NEGOTIATION
Izzy V KuskoRussiaIoni Bowcher NEW
Jefferson N SaylorsSpainAmy Elsner RENEWAL
Greenwood F InouyeIndiaElwin Sharvill NEW
Mayumi Q CaudyUnited KingdomAsiya Javayant RENEWAL
Chavez U FlosiGermanyAnna Fali NEW
James Y AmigonCanadaAmy Elsner NEW
Ashley I PoquetteSpainAnna Fali UNQUALIFIED
Misaki H DoeSpainAnna Fali UNQUALIFIED
Costa E SlusarskiRussiaIoni Bowcher PROPOSAL
Silvio Z GauchoCanadaIvan Magalhaes PROPOSAL
Maisha C GlickRussiaAmy Elsner PROPOSAL
Leja P CaldareraRussiaIoni Bowcher RENEWAL
Stacey W VenereSpainAnna Fali QUALIFIED
Wickens R SchemmerAustraliaIvan Magalhaes PROPOSAL
Emily B DoeJapanIvan Magalhaes PROPOSAL
Ricardo T OldroydAustraliaIvan Magalhaes UNQUALIFIED
Aditya E BriddickIndiaIoni Bowcher RENEWAL
Aika E RutaItalyElwin Sharvill UNQUALIFIED
Greenwood G StockhamFranceAnna Fali PROPOSAL
Adams V PoquetteArgentinaBernardo Dominic UNQUALIFIED
Jennifer Q GillianCanadaXuxue Feng NEW
David Y StockhamCanadaAnna Fali NEGOTIATION
Jennifer N MaletItalyAnna Fali 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>