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
Octavia N KolmetzCanadaElwin Sharvill NEGOTIATION
Kadeem B MaletGermanyBernardo Dominic PROPOSAL
Arvin Y KuskoGermanyIvan Magalhaes RENEWAL
David R SaylorsCanadaBernardo Dominic NEW
Ashley N BowleyArgentinaStephen Shaw NEGOTIATION
Ricardo N GillianCanadaBernardo Dominic QUALIFIED
Johnson T MarrierFranceElwin Sharvill QUALIFIED
Octavia Y BowleyAustraliaAmy Elsner NEW
Leja I SlusarskiRussiaBernardo Dominic NEGOTIATION
Maria J RulapaughIndiaAmy Elsner PROPOSAL
Jones K CaudyAustraliaOnyama Limba UNQUALIFIED
Murillo M NestleJapanXuxue Feng RENEWAL
Jeanfrancois A MarrierFranceAnna Fali UNQUALIFIED
Misaki V PoquetteArgentinaStephen Shaw UNQUALIFIED
Sinclair O RoysterJapanXuxue Feng RENEWAL
Tony D SaylorsUnited KingdomBernardo Dominic RENEWAL
Misaki H AmigonUnited KingdomXuxue Feng PROPOSAL
Mujtaba W NestleArgentinaOnyama Limba NEGOTIATION
Deepesh R OstroskyAustraliaStephen Shaw PROPOSAL
Mayumi C FollerIndiaStephen Shaw QUALIFIED
Aruna N GarufiGermanyXuxue Feng QUALIFIED
David O InouyeSpainBernardo Dominic UNQUALIFIED
Kadeem F KolmetzRussiaOnyama Limba NEGOTIATION
Tony D NestleRussiaStephen Shaw QUALIFIED
Chavez A WhobreyJapanBernardo Dominic RENEWAL
Aika Q PaprockiAustraliaAmy Elsner NEW
Jeanfrancois Y SergiCanadaXuxue Feng UNQUALIFIED
Alejandro D ChuiJapanAsiya Javayant NEGOTIATION
Nicolas T MaletJapanAmy Elsner QUALIFIED
Ricardo M FollerJapanAnna Fali UNQUALIFIED
Cody U TollnerIndiaOnyama Limba PROPOSAL
David V SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Ivar J WhobreyCanadaElwin Sharvill QUALIFIED
Nicolas H DoeItalyXuxue Feng NEGOTIATION
Cody U DilliardBrazilIoni Bowcher NEGOTIATION
Jennifer Y RulapaughBrazilIoni Bowcher UNQUALIFIED
Deepesh B GarufiRussiaAnna Fali QUALIFIED
Kadeem H StensethUnited KingdomXuxue Feng UNQUALIFIED
Misaki J RimItalyXuxue Feng QUALIFIED
Maisha U WieserAustraliaBernardo Dominic QUALIFIED
Juan Q MorascaJapanOnyama Limba RENEWAL
Aditya V BriddickFranceElwin Sharvill QUALIFIED
Mayumi T GlickIndiaAnna Fali NEW
Morrow O MaletGermanyOnyama Limba UNQUALIFIED
Chavez Y StensethRussiaXuxue Feng QUALIFIED
Mayumi S AlbaresArgentinaBernardo Dominic NEGOTIATION
James V SaylorsSpainOnyama Limba NEW
Smith A ChuiGermanyStephen Shaw UNQUALIFIED
Salvatore Q FollerJapanAmy Elsner NEGOTIATION
Leon Z NickaCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer P FlosiArgentinaAsiya Javayant NEW
Salvatore V RutaBrazilAmy Elsner RENEWAL
Greenwood Z OldroydJapanBernardo Dominic NEGOTIATION
Ivar Y WieserRussiaBernardo Dominic UNQUALIFIED
Ashley H CaldareraRussiaStephen Shaw NEW
Chavez V KolmetzBrazilIvan Magalhaes PROPOSAL
Kaitlin L AlbaresAustraliaAmy Elsner PROPOSAL
Jefferson Z OstroskyItalyStephen Shaw RENEWAL
Greenwood X SchemmerSpainElwin Sharvill QUALIFIED
Jeanfrancois Q StensethArgentinaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan Q AlbaresArgentina2024-06-10Benton, John B Jr NEGOTIATION36Bernardo Dominic
1001Mujtaba W RulapaughFrance2024-05-21Dorl, James J Esq UNQUALIFIED21Ivan Magalhaes
1002Leon Q MarrierJapan2024-05-24Chemel, James L Cpa RENEWAL63Ioni Bowcher
1003Ashley N FerenczGermany2024-05-20Morlong Associates NEW40Ivan Magalhaes
1004Emily S PoquetteArgentina2024-05-27Rangoni Of Florence RENEWAL13Amy Elsner
1005Chavez S CaldareraRussia2024-06-08Morlong Associates QUALIFIED15Ivan Magalhaes
1006Jennifer U GauchoUnited Kingdom2024-05-27Feltz Printing Service NEW47Ioni Bowcher
1007Tony C WhobreyCanada2024-06-07Feltz Printing Service PROPOSAL34Anna Fali
1008Silvio R AlbaresUnited Kingdom2024-05-28Buckley Miller Wright NEGOTIATION86Bernardo Dominic
1009Julie S FigeroaFrance2024-06-02Commercial Press UNQUALIFIED10Xuxue Feng
1010Izzy H NickaCanada2024-06-07Feiner Bros UNQUALIFIED56Ioni Bowcher
1011Leja V MaletCanada2024-06-13Morlong Associates UNQUALIFIED60Ioni Bowcher
1012Juan U StockhamCanada2024-05-25Dorl, James J Esq UNQUALIFIED22Xuxue Feng
1013Costa G TollnerBrazil2024-05-24Buckley Miller Wright QUALIFIED12Ioni Bowcher
1014Ashley Z MacleadUnited Kingdom2024-05-27Rangoni Of Florence PROPOSAL24Asiya Javayant
1015Adams K DoeBrazil2024-05-18Chapman, Ross E Esq UNQUALIFIED81Elwin Sharvill
1016Leon X NestleItaly2024-05-23Commercial Press PROPOSAL31Onyama Limba
1017Johnson B GauchoFrance2024-05-22Dorl, James J Esq PROPOSAL83Ioni Bowcher
1018David Z SchemmerAustralia2024-06-11Chapman, Ross E Esq QUALIFIED35Anna Fali
1019Jeanfrancois D RulapaughGermany2024-05-25Commercial Press RENEWAL53Ioni Bowcher
1020Francesco V RulapaughBrazil2024-06-06Buckley Miller Wright PROPOSAL66Ioni Bowcher
1021Maisha W PerinGermany2024-05-24Benton, John B Jr NEW25Anna Fali
1022Silvio Q FlosiArgentina2024-05-19Buckley Miller Wright QUALIFIED54Xuxue Feng
1023Murillo O MacleadJapan2024-05-24King, Christopher A Esq UNQUALIFIED19Stephen Shaw
1024David J AlbaresUnited Kingdom2024-05-20Buckley Miller Wright QUALIFIED40Asiya Javayant
1025Adams E SergiAustralia2024-06-13Buckley Miller Wright UNQUALIFIED85Ioni Bowcher
1026Wickens A SchemmerJapan2024-05-16Chapman, Ross E Esq NEW85Amy Elsner
1027Tony Y RulapaughSpain2024-05-17Chemel, James L Cpa NEW43Bernardo Dominic
1028Rodrigues P SaylorsIndia2024-05-27King, Christopher A Esq QUALIFIED16Ioni Bowcher
1029Salvatore V BologniaArgentina2024-05-26Commercial Press UNQUALIFIED10Xuxue Feng
1030Cody Q KuskoFrance2024-06-08Buckley Miller Wright RENEWAL49Elwin Sharvill
1031Isabel L NickaSpain2024-06-02Feltz Printing Service QUALIFIED32Asiya Javayant
1032Silvio V MaletUnited Kingdom2024-05-16Buckley Miller Wright RENEWAL21Bernardo Dominic
1033Octavia J SergiBrazil2024-05-16Morlong Associates UNQUALIFIED70Ioni Bowcher
1034Aika C BowleyArgentina2024-06-13Feiner Bros RENEWAL40Xuxue Feng
1035Arvin C RulapaughRussia2024-05-16Feltz Printing Service RENEWAL68Ivan Magalhaes
1036Morrow N WaycottGermany2024-05-24Benton, John B Jr NEW89Bernardo Dominic
1037Tony T IturbideBrazil2024-06-10Benton, John B Jr UNQUALIFIED25Bernardo Dominic
1038Misaki L IturbideJapan2024-05-26Commercial Press RENEWAL22Onyama Limba
1039Izzy X ChuiAustralia2024-05-31Dorl, James J Esq QUALIFIED8Bernardo Dominic
1040Misaki Z PaprockiUnited Kingdom2024-05-23Printing Dimensions UNQUALIFIED30Ivan Magalhaes
1041Greenwood U SchemmerAustralia2024-06-05Morlong Associates RENEWAL46Elwin Sharvill
1042Clifford C RimJapan2024-05-19Morlong Associates PROPOSAL70Ivan Magalhaes
1043Ivar G DilliardAustralia2024-05-30Truhlar And Truhlar Attys RENEWAL51Ivan Magalhaes
1044Rodrigues U FerenczSpain2024-05-26Morlong Associates RENEWAL40Ivan Magalhaes
1045Misaki N BriddickJapan2024-06-05Printing Dimensions RENEWAL29Onyama Limba
1046Maria O GarufiBrazil2024-05-28King, Christopher A Esq NEW89Xuxue Feng
1047Rodrigues Q CaudyCanada2024-05-27Truhlar And Truhlar Attys NEGOTIATION34Anna Fali
1048Jennifer U FigeroaUnited Kingdom2024-05-23Feltz Printing Service NEW74Bernardo Dominic
1049Ashley A GauchoSpain2024-05-17Feltz Printing Service QUALIFIED86Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Emily K FigeroaGermanyIvan Magalhaes UNQUALIFIED
Ricardo O NestleBrazilIvan Magalhaes NEW
Chavez M SchemmerGermanyIvan Magalhaes PROPOSAL
Arvin Y WaycottBrazilXuxue Feng NEW
Maisha V RoysterUnited KingdomOnyama Limba UNQUALIFIED
Octavia C GlickFranceBernardo Dominic RENEWAL
Silvio Z NestleGermanyOnyama Limba NEGOTIATION
Jeanfrancois N KolmetzCanadaBernardo Dominic PROPOSAL
Silvio T VenereJapanAsiya Javayant NEW
Francesco K TollnerIndiaAnna Fali NEGOTIATION
Ashley R MorascaJapanAsiya Javayant PROPOSAL
Kaitlin E RimGermanyBernardo Dominic QUALIFIED
Salvatore E SergiIndiaStephen Shaw PROPOSAL
Alejandro Y ChuiSpainStephen Shaw UNQUALIFIED
Faith K ChuiCanadaElwin Sharvill QUALIFIED
Isabel I NickaAustraliaXuxue Feng NEW
Leja X SchemmerSpainOnyama Limba PROPOSAL
Aika R OldroydIndiaStephen Shaw NEW
Faith K PaprockiAustraliaAsiya Javayant RENEWAL
Francesco S AmigonBrazilAnna Fali NEW
Silvio N OldroydIndiaStephen Shaw RENEWAL
Munro L TollnerFranceStephen Shaw QUALIFIED
Kaitlin K RulapaughIndiaAsiya Javayant NEGOTIATION
Jeanfrancois W WaycottCanadaAsiya Javayant NEW
Salvatore I CaudyRussiaIoni Bowcher PROPOSAL
David R KolmetzIndiaIvan Magalhaes UNQUALIFIED
Mayumi U IturbideItalyElwin Sharvill RENEWAL
Nicolas K DilliardBrazilAsiya Javayant PROPOSAL
Kadeem W GlickBrazilOnyama Limba UNQUALIFIED
Aditya Y BowleyJapanBernardo Dominic NEW
Leon O SlusarskiRussiaAsiya Javayant RENEWAL
Emily K GarufiItalyStephen Shaw NEW
Arvin W GlickGermanyStephen Shaw NEW
Tony E OldroydItalyAsiya Javayant PROPOSAL
Ricardo L OldroydAustraliaOnyama Limba RENEWAL
Costa F MorascaFranceIoni Bowcher QUALIFIED
Ivar Y PoquetteSpainBernardo Dominic NEGOTIATION
Tony A DoeItalyAnna Fali NEGOTIATION
Emily W SlusarskiBrazilXuxue Feng NEGOTIATION
Ashley U MaletArgentinaOnyama Limba QUALIFIED
Rodrigues M DarakjyArgentinaXuxue Feng NEW
Deepesh Q FollerGermanyXuxue Feng PROPOSAL
Tony L CaudyCanadaAnna Fali UNQUALIFIED
James Q MorascaJapanIvan Magalhaes PROPOSAL
Tony X MorascaBrazilStephen Shaw UNQUALIFIED
Ashley S ButtGermanyIvan Magalhaes QUALIFIED
Jefferson U TollnerGermanyXuxue Feng NEW
Chavez Z CampainAustraliaIoni Bowcher PROPOSAL
Clifford M BriddickArgentinaAmy Elsner NEGOTIATION
Silvio O WhobreyCanadaStephen Shaw NEW
Frozen Columns
Name
Ricardo J Poquette
Arvin J Royster
Nicolas T Gaucho
Isabel X Caudy
Jennifer H Dilliard
Mayumi V Wieser
Maisha X Gaucho
Morrow A Nicka
Rodrigues N Briddick
Tony H Sergi
Jeanfrancois M Schemmer
Stacey L Saylors
Izzy D Flosi
Maisha Y Malet
Murillo S Gillian
Deepesh M Inouye
Stacey E Kolmetz
Maisha U Amigon
Mujtaba N Garufi
Faith N Shinko
Arvin Y Royster
Nicolas I Perin
Silvio S Foller
Kaitlin N Darakjy
Smith U Chui
Misaki F Caldarera
Aditya U Figeroa
Octavia Z Paprocki
Leja C Butt
Nicolas L Oldroyd
Claire L Caudy
Aruna O Shinko
Mujtaba Y Garufi
Darci G Waycott
Clifford K Wieser
Jennifer K Iturbide
Arvin C Nestle
Leon V Figeroa
Greenwood W Stockham
Alejandro C Briddick
Sinclair J Darakjy
Ivar T Figeroa
Kadeem O Figeroa
Munro O Malet
Emily R Oldroyd
James Y Tollner
Salvatore K Rim
Greenwood P Doe
Misaki S Briddick
James Q Figeroa
IdCountryDate
1000Australia2024-06-12
1001Germany2024-06-13
1002Canada2024-06-10
1003France2024-05-29
1004India2024-06-04
1005Germany2024-05-31
1006United Kingdom2024-06-05
1007Australia2024-05-21
1008Russia2024-05-28
1009Canada2024-05-31
1010India2024-06-11
1011India2024-06-01
1012Japan2024-05-18
1013Italy2024-05-31
1014Brazil2024-06-09
1015Spain2024-06-07
1016Brazil2024-05-27
1017Spain2024-06-06
1018Japan2024-05-18
1019Russia2024-06-08
1020Canada2024-05-25
1021Japan2024-05-22
1022Russia2024-06-03
1023France2024-05-31
1024Argentina2024-05-16
1025Japan2024-06-12
1026India2024-06-12
1027Germany2024-06-02
1028Italy2024-05-31
1029Spain2024-06-10
1030Japan2024-05-26
1031Spain2024-05-28
1032Russia2024-06-01
1033Russia2024-05-28
1034Japan2024-06-14
1035Canada2024-06-12
1036Russia2024-05-19
1037Russia2024-06-13
1038Brazil2024-05-27
1039Spain2024-06-01
1040Canada2024-05-26
1041Russia2024-06-12
1042Japan2024-05-21
1043India2024-06-14
1044Germany2024-05-29
1045Argentina2024-05-29
1046Germany2024-05-31
1047Japan2024-06-12
1048United Kingdom2024-05-21
1049Spain2024-05-17

On-Demand Data

NameIdCountryDate
Sinclair B Garufi1000Russia2024-06-05
Munro I Chui1001Canada2024-05-18
Aika W Gaucho1002Spain2024-06-13
Jefferson D Oldroyd1003Spain2024-05-19
Antonio T Figeroa1004Italy2024-05-20
Leja D Chui1005Canada2024-05-18
Greenwood C Tollner1006Italy2024-05-29
Aika H Darakjy1007France2024-05-17
Clifford X Iturbide1008Japan2024-06-10
Murillo H Glick1009Spain2024-06-04
Kaitlin F Venere1010United Kingdom2024-06-01
Jeanfrancois Z Shinko1011United Kingdom2024-06-12
Deepesh P Ferencz1012Argentina2024-05-31
Maria N Rim1013Spain2024-05-20
Francesco F Stenseth1014Australia2024-05-27
Stacey Y Poquette1015Brazil2024-05-19
Clifford D Figeroa1016Argentina2024-05-22
Ivar X Gillian1017India2024-05-23
Chavez F Bowley1018Canada2024-06-07
Kadeem T Amigon1019Spain2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David Z DoeCanadaAsiya Javayant PROPOSAL
Aditya G IturbideFranceOnyama Limba PROPOSAL
Jefferson C AlbaresItalyAsiya Javayant QUALIFIED
Arvin H RulapaughAustraliaAmy Elsner PROPOSAL
Darci B PoquetteCanadaStephen Shaw RENEWAL
Aruna E RimUnited KingdomStephen Shaw NEGOTIATION
Leja G GarufiSpainAnna Fali NEGOTIATION
Juan D FigeroaBrazilIvan Magalhaes NEW
Maisha L PaprockiCanadaOnyama Limba PROPOSAL
Kadeem J PoquetteCanadaStephen Shaw UNQUALIFIED
Johnson V VenereSpainXuxue Feng NEW
Emily D GauchoCanadaAnna Fali NEW
Tony Z MarrierItalyBernardo Dominic PROPOSAL
Nicolas G MaletItalyXuxue Feng RENEWAL
Jones V GarufiArgentinaBernardo Dominic PROPOSAL
Adams J VocelkaIndiaElwin Sharvill NEGOTIATION
Mayumi V InouyeJapanIvan Magalhaes NEW
Faith Q DarakjyCanadaAnna Fali RENEWAL
Kaitlin W AmigonFranceAnna Fali NEGOTIATION
Mujtaba O InouyeIndiaAnna Fali NEW
Jones Z PaprockiBrazilElwin Sharvill RENEWAL
Kadeem B SergiIndiaAmy Elsner NEGOTIATION
Mayumi H MorascaItalyOnyama Limba NEW
Ashley R WieserArgentinaOnyama Limba NEW
Stacey U FlosiIndiaElwin Sharvill NEGOTIATION
Stacey O FollerRussiaAsiya Javayant QUALIFIED
Faith Y RimRussiaElwin Sharvill NEW
Ivar R MacleadCanadaOnyama Limba RENEWAL
Wickens G GauchoCanadaAsiya Javayant QUALIFIED
Aruna L CaldareraAustraliaOnyama Limba QUALIFIED
Aditya R FlosiFranceOnyama Limba RENEWAL
Rodrigues Y NickaFranceIvan Magalhaes NEGOTIATION
Aika Q InouyeIndiaIoni Bowcher UNQUALIFIED
Cody V SchemmerItalyBernardo Dominic NEGOTIATION
Emily C MacleadBrazilIoni Bowcher UNQUALIFIED
Adams T SchemmerAustraliaAnna Fali QUALIFIED
Leon M MorascaFranceAsiya Javayant RENEWAL
Leja J OstroskySpainAsiya Javayant QUALIFIED
Johnson V RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro G FerenczRussiaAmy Elsner 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>