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
Arvin J GlickArgentinaAnna Fali QUALIFIED
Jefferson K RoysterCanadaAmy Elsner QUALIFIED
Aruna V RimJapanOnyama Limba QUALIFIED
Greenwood V PoquetteAustraliaAsiya Javayant UNQUALIFIED
Izzy Z DoeGermanyOnyama Limba NEW
Mayumi X WieserGermanyAmy Elsner NEW
Greenwood B WaycottRussiaBernardo Dominic RENEWAL
Deepesh F AmigonGermanyXuxue Feng UNQUALIFIED
Aruna Y InouyeRussiaElwin Sharvill RENEWAL
Francesco S VocelkaGermanyAnna Fali NEGOTIATION
Darci C NestleCanadaAnna Fali QUALIFIED
Stacey J DarakjyJapanAnna Fali RENEWAL
Arvin C DarakjyArgentinaIoni Bowcher NEGOTIATION
Sinclair J ChuiRussiaElwin Sharvill RENEWAL
Salvatore S GauchoCanadaAsiya Javayant NEW
Aditya G StockhamSpainAnna Fali QUALIFIED
Johnson B RoysterBrazilAmy Elsner QUALIFIED
Alejandro Q NestleBrazilXuxue Feng UNQUALIFIED
Wickens W GlickBrazilXuxue Feng NEW
Maria G DoeIndiaOnyama Limba NEW
James F SaylorsGermanyAmy Elsner PROPOSAL
Kadeem S MaletGermanyAmy Elsner PROPOSAL
Julie L AmigonArgentinaBernardo Dominic NEW
Maisha D MaletRussiaElwin Sharvill RENEWAL
Cody D StensethSpainOnyama Limba NEGOTIATION
Clifford R FigeroaItalyAnna Fali NEW
Kadeem X PoquetteBrazilAsiya Javayant PROPOSAL
Jeanfrancois B FlosiGermanyStephen Shaw QUALIFIED
Silvio U AlbaresJapanAnna Fali NEGOTIATION
Tony G TollnerFranceAsiya Javayant QUALIFIED
Cody W InouyeJapanXuxue Feng UNQUALIFIED
Aditya T PerinAustraliaStephen Shaw PROPOSAL
Wickens F PoquetteRussiaIvan Magalhaes NEGOTIATION
Johnson M DarakjyAustraliaElwin Sharvill PROPOSAL
Maria G MaletCanadaIoni Bowcher QUALIFIED
Murillo A SaylorsItalyBernardo Dominic PROPOSAL
Izzy W WieserGermanyAnna Fali RENEWAL
Clifford F BologniaSpainIoni Bowcher UNQUALIFIED
Rodrigues V BowleyCanadaIvan Magalhaes PROPOSAL
Murillo Z GauchoArgentinaXuxue Feng UNQUALIFIED
James W SergiArgentinaIvan Magalhaes QUALIFIED
Aditya L CaudyGermanyIoni Bowcher NEGOTIATION
Claire C KuskoBrazilXuxue Feng UNQUALIFIED
Antonio G GlickFranceOnyama Limba NEGOTIATION
Rodrigues T RulapaughGermanyStephen Shaw QUALIFIED
Mujtaba S SlusarskiCanadaXuxue Feng RENEWAL
Izzy Z PerinBrazilXuxue Feng UNQUALIFIED
Ivar J InouyeJapanOnyama Limba NEGOTIATION
Stacey Q SchemmerItalyElwin Sharvill NEGOTIATION
Alejandro E MaletUnited KingdomAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo V FlosiIndiaIvan Magalhaes RENEWAL
Morrow J WhobreyCanadaOnyama Limba QUALIFIED
Nicolas E RutaGermanyOnyama Limba PROPOSAL
Nicolas Z StockhamBrazilXuxue Feng PROPOSAL
Isabel J CaudyCanadaIvan Magalhaes NEW
Deepesh B RimBrazilBernardo Dominic QUALIFIED
Maria U InouyeSpainStephen Shaw RENEWAL
Greenwood N ChuiAustraliaAsiya Javayant UNQUALIFIED
Kadeem C ChuiGermanyBernardo Dominic UNQUALIFIED
Leja P RutaUnited KingdomElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson Z DoeSpain2026-08-05Printing Dimensions NEW98Onyama Limba
1001Deepesh H CaldareraSpain2026-08-08Commercial Press NEW9Bernardo Dominic
1002Jennifer Q RoysterBrazil2026-08-19Morlong Associates NEW24Asiya Javayant
1003Johnson G IturbideFrance2026-08-18Buckley Miller Wright NEGOTIATION84Asiya Javayant
1004Morrow H WieserAustralia2026-08-15Morlong Associates QUALIFIED36Ivan Magalhaes
1005Darci S DarakjyFrance2026-08-19Benton, John B Jr PROPOSAL13Stephen Shaw
1006Munro H FigeroaUnited Kingdom2026-08-07Chapman, Ross E Esq QUALIFIED87Xuxue Feng
1007Smith E MaletIndia2026-08-09Chanay, Jeffrey A Esq NEGOTIATION34Anna Fali
1008Morrow O SaylorsFrance2026-08-22Printing Dimensions PROPOSAL76Bernardo Dominic
1009Salvatore Z WieserBrazil2026-07-28Feiner Bros NEW63Asiya Javayant
1010Julie P MacleadRussia2026-08-08Printing Dimensions QUALIFIED98Xuxue Feng
1011Arvin O StockhamCanada2026-08-23Chemel, James L Cpa PROPOSAL41Bernardo Dominic
1012Adams F DilliardUnited Kingdom2026-07-28Feltz Printing Service QUALIFIED8Onyama Limba
1013Maisha G StensethAustralia2026-08-17Rousseaux, Michael Esq PROPOSAL76Asiya Javayant
1014Munro W OstroskyBrazil2026-08-10Rangoni Of Florence NEGOTIATION5Stephen Shaw
1015Octavia K MorascaCanada2026-08-08Dorl, James J Esq NEW57Asiya Javayant
1016Claire D BowleyAustralia2026-08-21Morlong Associates NEW38Anna Fali
1017Izzy G BologniaRussia2026-08-05Chanay, Jeffrey A Esq QUALIFIED40Amy Elsner
1018Mujtaba Z SlusarskiFrance2026-08-23Printing Dimensions NEW52Ivan Magalhaes
1019Maria I AmigonIndia2026-08-04Rangoni Of Florence NEGOTIATION40Anna Fali
1020Tony U GlickCanada2026-08-07King, Christopher A Esq UNQUALIFIED74Ivan Magalhaes
1021Leon K MarrierRussia2026-08-07Rangoni Of Florence RENEWAL21Asiya Javayant
1022Mujtaba Q MacleadFrance2026-07-25Rousseaux, Michael Esq PROPOSAL44Stephen Shaw
1023Chavez S AlbaresBrazil2026-07-30Morlong Associates NEW33Elwin Sharvill
1024Leja I PoquetteItaly2026-07-27Chanay, Jeffrey A Esq RENEWAL57Elwin Sharvill
1025Morrow I MaletJapan2026-08-16Chemel, James L Cpa NEW22Elwin Sharvill
1026Izzy W MaletCanada2026-07-28Rangoni Of Florence QUALIFIED0Ioni Bowcher
1027Ricardo X DoeJapan2026-08-10Buckley Miller Wright NEGOTIATION67Asiya Javayant
1028Izzy Z FigeroaCanada2026-08-08Truhlar And Truhlar Attys UNQUALIFIED7Xuxue Feng
1029Murillo X RulapaughArgentina2026-07-31Dorl, James J Esq NEW25Amy Elsner
1030Darci R RutaArgentina2026-07-31Chemel, James L Cpa NEGOTIATION95Ivan Magalhaes
1031Misaki P AlbaresItaly2026-08-01Rousseaux, Michael Esq PROPOSAL55Stephen Shaw
1032Ivar D RutaIndia2026-08-13Dorl, James J Esq NEW26Amy Elsner
1033Munro U DilliardGermany2026-08-02Printing Dimensions NEGOTIATION38Ivan Magalhaes
1034Ivar S WieserAustralia2026-08-02Dorl, James J Esq QUALIFIED65Amy Elsner
1035Silvio O FlosiFrance2026-08-04Dorl, James J Esq RENEWAL22Ioni Bowcher
1036Adams E StensethBrazil2026-08-03Chemel, James L Cpa NEGOTIATION3Bernardo Dominic
1037Izzy L KuskoGermany2026-08-10Buckley Miller Wright PROPOSAL37Ioni Bowcher
1038Emily L DoeItaly2026-08-11Morlong Associates NEGOTIATION58Ivan Magalhaes
1039Kadeem B MarrierItaly2026-08-09Buckley Miller Wright NEGOTIATION55Bernardo Dominic
1040Nicolas T WieserIndia2026-08-01Chapman, Ross E Esq QUALIFIED16Ivan Magalhaes
1041Misaki N CampainArgentina2026-08-23King, Christopher A Esq QUALIFIED3Stephen Shaw
1042Cody E NestleRussia2026-08-09Feiner Bros PROPOSAL19Elwin Sharvill
1043Rodrigues B IturbideIndia2026-08-20Rousseaux, Michael Esq PROPOSAL29Xuxue Feng
1044Misaki G RimItaly2026-08-13Printing Dimensions NEW12Ioni Bowcher
1045David M RoysterIndia2026-08-18Dorl, James J Esq PROPOSAL51Onyama Limba
1046David D GauchoArgentina2026-07-27Chapman, Ross E Esq UNQUALIFIED77Ioni Bowcher
1047Wickens H PerinBrazil2026-08-16Feltz Printing Service PROPOSAL13Stephen Shaw
1048Aditya V MaletBrazil2026-07-28Dorl, James J Esq NEW35Ivan Magalhaes
1049Sinclair P BriddickGermany2026-08-02Morlong Associates RENEWAL97Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois T MaletJapanAmy Elsner NEGOTIATION
Aruna X FigeroaBrazilOnyama Limba UNQUALIFIED
Greenwood W WieserUnited KingdomOnyama Limba UNQUALIFIED
Costa V ChuiUnited KingdomStephen Shaw NEGOTIATION
Clifford P MaletFranceStephen Shaw UNQUALIFIED
Sinclair H CaldareraGermanyOnyama Limba QUALIFIED
Julie Y VenereAustraliaOnyama Limba RENEWAL
Emily L PoquetteUnited KingdomOnyama Limba NEW
Emily B MaletBrazilElwin Sharvill PROPOSAL
Ashley T NestleAustraliaAmy Elsner RENEWAL
Smith E StockhamJapanStephen Shaw RENEWAL
Ashley F MacleadFranceIvan Magalhaes PROPOSAL
Francesco Z CaudyItalyIoni Bowcher UNQUALIFIED
Leja X PerinIndiaStephen Shaw UNQUALIFIED
Jefferson N WieserUnited KingdomAsiya Javayant PROPOSAL
Maria G BriddickSpainAnna Fali NEW
Darci O RutaCanadaBernardo Dominic PROPOSAL
Ashley A SaylorsRussiaStephen Shaw PROPOSAL
Mujtaba O FigeroaGermanyAnna Fali UNQUALIFIED
Francesco F NestleRussiaBernardo Dominic RENEWAL
Alejandro B GarufiUnited KingdomXuxue Feng RENEWAL
Kaitlin O RimSpainAnna Fali NEGOTIATION
Cody L FlosiFranceAnna Fali NEGOTIATION
Darci Q GarufiRussiaAnna Fali PROPOSAL
Clifford E PaprockiRussiaStephen Shaw RENEWAL
Costa X SaylorsCanadaXuxue Feng QUALIFIED
Tony W VenereJapanAsiya Javayant RENEWAL
Rodrigues I MorascaIndiaAmy Elsner UNQUALIFIED
Adams B StensethRussiaElwin Sharvill UNQUALIFIED
Jeanfrancois B IturbideItalyIoni Bowcher NEGOTIATION
Julie H VocelkaUnited KingdomAmy Elsner QUALIFIED
Tony T PerinRussiaAsiya Javayant NEW
Jeanfrancois E FollerJapanAmy Elsner RENEWAL
Darci C InouyeGermanyOnyama Limba NEW
Morrow M VenereFranceAmy Elsner UNQUALIFIED
Leon L GlickBrazilAnna Fali RENEWAL
Maisha Y RulapaughGermanyIoni Bowcher PROPOSAL
Julie I MacleadJapanElwin Sharvill NEW
Clifford D MaletGermanyBernardo Dominic UNQUALIFIED
Tony S GarufiAustraliaStephen Shaw NEW
Tony D PaprockiBrazilElwin Sharvill NEW
Murillo X WaycottSpainBernardo Dominic QUALIFIED
Costa X SergiCanadaXuxue Feng RENEWAL
Munro Z VocelkaFranceXuxue Feng NEW
Greenwood F PerinArgentinaAsiya Javayant PROPOSAL
Francesco H RimRussiaOnyama Limba QUALIFIED
Kaitlin U NestleArgentinaAsiya Javayant UNQUALIFIED
Claire D KuskoBrazilXuxue Feng NEGOTIATION
Izzy N FerenczCanadaAsiya Javayant PROPOSAL
Greenwood X FollerSpainOnyama Limba UNQUALIFIED
Frozen Columns
Name
Leja B Figeroa
Sinclair A Nicka
Isabel E Doe
Misaki O Butt
David H Bolognia
Jones F Inouye
Aika J Figeroa
Aruna Q Vocelka
Ricardo K Campain
Wickens D Amigon
Mayumi N Vocelka
Antonio K Poquette
Claire Q Malet
Deepesh P Royster
Clifford U Oldroyd
Alejandro C Wieser
Nicolas I Figeroa
Adams N Bolognia
Kaitlin S Gaucho
Arvin X Slusarski
Misaki V Dilliard
Ivar J Rim
Misaki D Shinko
Aruna Y Flosi
Antonio R Royster
Aditya L Doe
Aruna H Ruta
Jennifer H Rulapaugh
Juan B Ostrosky
Jeanfrancois Q Nestle
Chavez T Inouye
Francesco I Flosi
Kadeem K Tollner
Misaki G Paprocki
Clifford N Vocelka
Stacey J Whobrey
Aruna U Campain
Leja A Poquette
Julie K Dilliard
Alejandro Z Wieser
Munro Q Marrier
Misaki S Amigon
Sinclair B Butt
Tony P Bowley
Darci H Ruta
Wickens W Tollner
Morrow Q Paprocki
Sinclair D Dilliard
Jeanfrancois Y Schemmer
Johnson E Nestle
IdCountryDate
1000Argentina2026-08-08
1001Italy2026-08-19
1002Argentina2026-08-10
1003Canada2026-08-07
1004Japan2026-08-21
1005United Kingdom2026-08-13
1006Argentina2026-08-08
1007India2026-08-02
1008Argentina2026-07-28
1009Japan2026-08-19
1010Canada2026-07-31
1011Spain2026-08-07
1012Italy2026-08-04
1013Germany2026-08-15
1014Japan2026-08-04
1015France2026-08-05
1016India2026-08-05
1017Germany2026-07-29
1018India2026-08-18
1019Russia2026-07-30
1020Italy2026-08-23
1021France2026-08-11
1022Brazil2026-08-14
1023Italy2026-08-04
1024Argentina2026-08-18
1025Argentina2026-08-10
1026Japan2026-08-15
1027Brazil2026-07-27
1028India2026-07-30
1029Brazil2026-08-15
1030United Kingdom2026-08-11
1031Argentina2026-08-02
1032France2026-08-18
1033India2026-08-21
1034India2026-08-18
1035Spain2026-08-17
1036Russia2026-08-14
1037Argentina2026-08-23
1038Canada2026-08-18
1039United Kingdom2026-08-09
1040Canada2026-08-04
1041Brazil2026-08-19
1042Australia2026-07-30
1043Australia2026-08-03
1044Russia2026-08-23
1045Australia2026-08-10
1046Japan2026-07-25
1047Australia2026-08-02
1048Australia2026-08-23
1049Italy2026-08-14

On-Demand Data

NameIdCountryDate
Jennifer P Schemmer1000Brazil2026-08-02
Stacey Z Wieser1001Argentina2026-07-31
Alejandro W Shinko1002United Kingdom2026-08-17
Maria U Nicka1003Russia2026-08-23
Smith H Venere1004Brazil2026-07-28
Stacey I Ruta1005France2026-08-16
Greenwood T Darakjy1006France2026-08-14
Aditya O Stenseth1007India2026-08-15
Rodrigues A Nicka1008Germany2026-08-12
Isabel D Flosi1009Australia2026-08-06
Murillo O Ferencz1010France2026-08-21
Murillo Y Ferencz1011India2026-08-11
Adams W Ruta1012Germany2026-08-23
Antonio O Venere1013Italy2026-08-16
Cody N Bowley1014India2026-07-28
Faith K Albares1015Italy2026-08-14
Munro R Garufi1016United Kingdom2026-08-09
Claire I Venere1017India2026-07-27
Ricardo D Gillian1018Italy2026-08-06
Izzy E Saylors1019Argentina2026-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith R IturbideUnited KingdomXuxue Feng NEGOTIATION
Maria K WaycottItalyIvan Magalhaes PROPOSAL
Juan I GarufiGermanyAnna Fali NEGOTIATION
Greenwood J GarufiGermanyAmy Elsner PROPOSAL
Mujtaba D PerinItalyOnyama Limba NEGOTIATION
Chavez U RulapaughCanadaAnna Fali RENEWAL
Jefferson G ShinkoFranceAsiya Javayant UNQUALIFIED
Claire L CaudyJapanAsiya Javayant QUALIFIED
Darci V ButtSpainBernardo Dominic UNQUALIFIED
Rodrigues A StensethCanadaAsiya Javayant NEW
Kadeem G WhobreyItalyElwin Sharvill RENEWAL
Chavez X SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Arvin N StensethJapanAsiya Javayant PROPOSAL
Sinclair T StensethJapanIvan Magalhaes NEW
Octavia Y SchemmerGermanyIoni Bowcher NEGOTIATION
Clifford N ButtArgentinaXuxue Feng QUALIFIED
Silvio G FerenczIndiaBernardo Dominic PROPOSAL
Adams I FlosiUnited KingdomOnyama Limba NEW
Salvatore X ChuiRussiaOnyama Limba RENEWAL
Juan I GauchoFranceStephen Shaw NEW
Ricardo B RutaItalyAnna Fali NEW
Ricardo Y SaylorsRussiaElwin Sharvill NEGOTIATION
Tony N SergiSpainAnna Fali NEGOTIATION
Rodrigues H StockhamRussiaXuxue Feng PROPOSAL
Jefferson S FerenczItalyElwin Sharvill UNQUALIFIED
Misaki C VenereIndiaIoni Bowcher NEGOTIATION
Claire M DoeJapanBernardo Dominic PROPOSAL
Mayumi C DilliardAustraliaXuxue Feng PROPOSAL
Johnson H BologniaItalyStephen Shaw RENEWAL
Munro I BowleyBrazilXuxue Feng QUALIFIED
Juan I KolmetzGermanyAmy Elsner RENEWAL
Claire N AmigonRussiaIvan Magalhaes UNQUALIFIED
Ricardo L VocelkaJapanIvan Magalhaes NEW
Octavia U WieserAustraliaStephen Shaw PROPOSAL
Aika T FerenczRussiaAmy Elsner UNQUALIFIED
Jones Y GauchoRussiaIoni Bowcher NEGOTIATION
Ivar N GillianSpainStephen Shaw PROPOSAL
Kadeem T BriddickAustraliaBernardo Dominic NEGOTIATION
Ricardo Q RulapaughGermanyOnyama Limba PROPOSAL
Chavez W MarrierAustraliaStephen Shaw 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>