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
Chavez F CaldareraGermanyIvan Magalhaes RENEWAL
Jones E MorascaBrazilAsiya Javayant PROPOSAL
Faith G ChuiSpainIvan Magalhaes UNQUALIFIED
Darci N ShinkoRussiaAsiya Javayant NEW
Misaki J GauchoJapanOnyama Limba RENEWAL
Greenwood N BologniaSpainIoni Bowcher NEGOTIATION
Tony X FerenczSpainAmy Elsner UNQUALIFIED
Stacey A RutaArgentinaElwin Sharvill NEW
David E PerinArgentinaIoni Bowcher PROPOSAL
Antonio F FerenczSpainAsiya Javayant NEGOTIATION
Nicolas M DarakjyUnited KingdomAmy Elsner PROPOSAL
Faith X AmigonRussiaBernardo Dominic NEGOTIATION
Izzy B SlusarskiFranceXuxue Feng NEGOTIATION
David O SlusarskiIndiaBernardo Dominic NEGOTIATION
Claire E OstroskyAustraliaBernardo Dominic UNQUALIFIED
Costa W PoquetteFranceElwin Sharvill RENEWAL
Chavez D DarakjyFranceElwin Sharvill NEW
Leon B FlosiSpainElwin Sharvill RENEWAL
Leja E StockhamJapanBernardo Dominic NEGOTIATION
Leon Y InouyeCanadaOnyama Limba RENEWAL
David L FollerRussiaStephen Shaw QUALIFIED
Jones Q GauchoIndiaAmy Elsner NEGOTIATION
Isabel K RimIndiaIvan Magalhaes NEGOTIATION
Morrow I StensethSpainAsiya Javayant UNQUALIFIED
Greenwood S DilliardFranceIvan Magalhaes QUALIFIED
Silvio E GarufiArgentinaIoni Bowcher NEGOTIATION
Aruna J MorascaRussiaElwin Sharvill PROPOSAL
David D ShinkoJapanXuxue Feng QUALIFIED
Leja N BowleyUnited KingdomOnyama Limba NEGOTIATION
James E FlosiGermanyAmy Elsner PROPOSAL
Johnson U AlbaresGermanyAnna Fali QUALIFIED
Aditya P VocelkaAustraliaAmy Elsner NEW
Ashley S RimIndiaStephen Shaw NEW
Leja E SlusarskiJapanOnyama Limba RENEWAL
Ashley G MaletAustraliaAsiya Javayant QUALIFIED
Stacey B RutaRussiaIoni Bowcher UNQUALIFIED
Deepesh Y ShinkoCanadaElwin Sharvill RENEWAL
Emily V DarakjySpainStephen Shaw RENEWAL
Jones C TollnerCanadaStephen Shaw NEGOTIATION
Sinclair Y SergiSpainBernardo Dominic RENEWAL
Tony U PoquetteIndiaAnna Fali NEGOTIATION
Francesco X MarrierRussiaBernardo Dominic RENEWAL
Octavia M SchemmerBrazilBernardo Dominic NEGOTIATION
Alejandro J KuskoRussiaAmy Elsner PROPOSAL
Izzy O StockhamAustraliaStephen Shaw NEW
Faith L RutaIndiaXuxue Feng RENEWAL
Sinclair L DilliardRussiaOnyama Limba QUALIFIED
Morrow H WhobreySpainElwin Sharvill UNQUALIFIED
Aruna C StockhamRussiaXuxue Feng RENEWAL
Faith U DilliardIndiaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio R IturbideArgentinaStephen Shaw PROPOSAL
Johnson R GauchoCanadaAmy Elsner QUALIFIED
Arvin Q CaldareraIndiaAsiya Javayant PROPOSAL
Morrow O MorascaCanadaStephen Shaw RENEWAL
Rodrigues A FigeroaSpainIvan Magalhaes NEW
Ricardo C GillianJapanElwin Sharvill PROPOSAL
Sinclair M SaylorsCanadaAnna Fali UNQUALIFIED
Greenwood O ButtUnited KingdomStephen Shaw NEW
Aika X SlusarskiIndiaAmy Elsner RENEWAL
David Y ButtJapanOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo R OldroydItaly2025-05-20Rangoni Of Florence UNQUALIFIED84Amy Elsner
1001Julie G ChuiAustralia2025-06-14Chapman, Ross E Esq NEGOTIATION39Amy Elsner
1002Maria Z ShinkoArgentina2025-06-14Feiner Bros NEGOTIATION98Asiya Javayant
1003Kadeem G FlosiUnited Kingdom2025-05-25Chapman, Ross E Esq QUALIFIED48Anna Fali
1004Silvio J OstroskyRussia2025-06-02Rangoni Of Florence NEGOTIATION68Asiya Javayant
1005Aditya X BowleyBrazil2025-06-06King, Christopher A Esq NEGOTIATION64Amy Elsner
1006Izzy Q WhobreyFrance2025-06-15Chanay, Jeffrey A Esq NEW80Asiya Javayant
1007Cody H MacleadBrazil2025-06-02Chapman, Ross E Esq UNQUALIFIED54Elwin Sharvill
1008Jones J MaletGermany2025-06-12Rangoni Of Florence PROPOSAL77Onyama Limba
1009Deepesh T ButtItaly2025-06-15King, Christopher A Esq UNQUALIFIED97Onyama Limba
1010Maria Y ShinkoItaly2025-06-16King, Christopher A Esq NEW50Onyama Limba
1011Faith B FollerSpain2025-05-30Rangoni Of Florence UNQUALIFIED33Asiya Javayant
1012Francesco D OldroydSpain2025-06-15Chanay, Jeffrey A Esq QUALIFIED37Ioni Bowcher
1013Izzy A DarakjyFrance2025-05-27Chanay, Jeffrey A Esq RENEWAL35Xuxue Feng
1014Darci Y InouyeRussia2025-06-14Chanay, Jeffrey A Esq RENEWAL93Xuxue Feng
1015Misaki N WieserRussia2025-05-22Chapman, Ross E Esq PROPOSAL50Stephen Shaw
1016Faith P DilliardIndia2025-06-07Chapman, Ross E Esq UNQUALIFIED81Elwin Sharvill
1017Mujtaba I CaudyRussia2025-06-02King, Christopher A Esq RENEWAL68Elwin Sharvill
1018Aika K StockhamRussia2025-05-18Truhlar And Truhlar Attys NEW65Bernardo Dominic
1019Wickens B MaletFrance2025-06-14King, Christopher A Esq RENEWAL96Ioni Bowcher
1020Ashley A CaldareraItaly2025-06-15Morlong Associates NEW54Ivan Magalhaes
1021Jennifer B FlosiCanada2025-06-13Dorl, James J Esq UNQUALIFIED76Amy Elsner
1022Jones Z GillianRussia2025-05-26Dorl, James J Esq UNQUALIFIED10Xuxue Feng
1023Aruna Y MarrierRussia2025-05-28King, Christopher A Esq RENEWAL19Asiya Javayant
1024Kaitlin F RoysterIndia2025-06-06King, Christopher A Esq RENEWAL62Amy Elsner
1025Clifford P RimIndia2025-05-22Rousseaux, Michael Esq NEW0Anna Fali
1026Deepesh F DilliardAustralia2025-06-16Feltz Printing Service PROPOSAL68Xuxue Feng
1027Misaki T BowleyRussia2025-05-22Rangoni Of Florence QUALIFIED87Ioni Bowcher
1028Adams D BowleyBrazil2025-06-13Feltz Printing Service RENEWAL65Bernardo Dominic
1029Maisha W MacleadUnited Kingdom2025-06-01Buckley Miller Wright QUALIFIED57Onyama Limba
1030Julie Y NickaJapan2025-06-07Chapman, Ross E Esq RENEWAL36Xuxue Feng
1031Alejandro A FlosiRussia2025-06-05Commercial Press RENEWAL5Onyama Limba
1032James F KuskoCanada2025-05-25Chanay, Jeffrey A Esq QUALIFIED51Xuxue Feng
1033Mujtaba X SlusarskiSpain2025-05-31Feltz Printing Service NEW54Bernardo Dominic
1034Darci T VocelkaItaly2025-05-31Dorl, James J Esq RENEWAL1Onyama Limba
1035Smith I MacleadSpain2025-05-20Rangoni Of Florence RENEWAL48Stephen Shaw
1036Greenwood Q PaprockiItaly2025-06-01Feiner Bros QUALIFIED15Ioni Bowcher
1037Kadeem D VenereItaly2025-05-25Rangoni Of Florence NEGOTIATION4Ivan Magalhaes
1038Morrow J GlickCanada2025-05-25Chapman, Ross E Esq RENEWAL36Bernardo Dominic
1039Mayumi R KuskoIndia2025-06-10Commercial Press NEW36Anna Fali
1040Cody Z IturbideArgentina2025-05-30Rousseaux, Michael Esq NEGOTIATION16Xuxue Feng
1041Sinclair B FlosiSpain2025-05-22Truhlar And Truhlar Attys NEW89Xuxue Feng
1042Wickens H IturbideRussia2025-05-20Dorl, James J Esq NEGOTIATION90Onyama Limba
1043Nicolas H GarufiFrance2025-06-15Rangoni Of Florence NEW80Bernardo Dominic
1044Julie Z CampainUnited Kingdom2025-05-31King, Christopher A Esq NEW49Onyama Limba
1045Adams L VenereCanada2025-06-07Commercial Press QUALIFIED60Ivan Magalhaes
1046Rodrigues F DilliardItaly2025-05-29Commercial Press RENEWAL67Xuxue Feng
1047Jones R BologniaUnited Kingdom2025-06-06Rousseaux, Michael Esq NEW3Ioni Bowcher
1048Costa W FlosiCanada2025-06-07Printing Dimensions NEGOTIATION31Stephen Shaw
1049Claire V RoysterIndia2025-05-27Feiner Bros UNQUALIFIED20Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Nicolas N PerinItalyXuxue Feng RENEWAL
Ricardo W SlusarskiRussiaAmy Elsner PROPOSAL
James N OldroydIndiaElwin Sharvill UNQUALIFIED
Faith V PaprockiSpainAnna Fali QUALIFIED
Wickens M RoysterArgentinaAmy Elsner UNQUALIFIED
Juan N CampainUnited KingdomElwin Sharvill RENEWAL
Francesco D PaprockiArgentinaXuxue Feng PROPOSAL
Antonio Z GauchoFranceOnyama Limba NEGOTIATION
Mayumi W SaylorsArgentinaAsiya Javayant RENEWAL
David N GillianItalyStephen Shaw PROPOSAL
Francesco N MacleadBrazilIoni Bowcher NEW
Salvatore S MacleadIndiaIoni Bowcher PROPOSAL
Arvin E RimArgentinaStephen Shaw RENEWAL
Claire Z IturbideUnited KingdomAsiya Javayant QUALIFIED
Maria L OldroydBrazilXuxue Feng QUALIFIED
Kadeem E MorascaAustraliaIvan Magalhaes QUALIFIED
David B MarrierCanadaAsiya Javayant QUALIFIED
Aruna P SlusarskiAustraliaAnna Fali NEGOTIATION
Alejandro Z RimItalyStephen Shaw NEGOTIATION
Faith S FollerArgentinaBernardo Dominic PROPOSAL
Stacey V AmigonAustraliaIvan Magalhaes RENEWAL
Sinclair Z OldroydIndiaXuxue Feng NEGOTIATION
Jefferson B WieserIndiaIvan Magalhaes PROPOSAL
Stacey C KuskoIndiaAnna Fali UNQUALIFIED
Kaitlin R BologniaAustraliaIoni Bowcher PROPOSAL
Francesco P RimJapanElwin Sharvill UNQUALIFIED
Mayumi I SergiFranceIoni Bowcher NEW
Jeanfrancois M OldroydArgentinaAnna Fali QUALIFIED
Ivar P CaudyGermanyXuxue Feng PROPOSAL
Jones W InouyeAustraliaIoni Bowcher NEW
Munro A FollerItalyElwin Sharvill NEW
Deepesh K WhobreyFranceIvan Magalhaes QUALIFIED
Faith V AmigonCanadaAnna Fali RENEWAL
Jeanfrancois K SergiArgentinaStephen Shaw NEGOTIATION
Misaki X WieserFranceOnyama Limba NEW
James E FollerJapanAnna Fali QUALIFIED
Maria O StockhamRussiaStephen Shaw NEW
Mujtaba B FlosiItalyIvan Magalhaes RENEWAL
Ricardo A OstroskyAustraliaAsiya Javayant RENEWAL
Greenwood C DoeCanadaElwin Sharvill RENEWAL
Munro I NestleGermanyAmy Elsner RENEWAL
Jennifer U BriddickFranceAmy Elsner QUALIFIED
Tony T MaletGermanyBernardo Dominic QUALIFIED
Mujtaba G AmigonGermanyXuxue Feng NEW
Alejandro V ButtCanadaStephen Shaw UNQUALIFIED
Kadeem C WhobreyArgentinaBernardo Dominic QUALIFIED
Aika I CampainIndiaStephen Shaw QUALIFIED
Sinclair L GarufiIndiaIvan Magalhaes QUALIFIED
Johnson R RoysterBrazilXuxue Feng QUALIFIED
Aruna N BriddickItalyAnna Fali QUALIFIED
Frozen Columns
Name
Costa R Kolmetz
Francesco E Ferencz
Misaki A Nicka
Aika D Ferencz
Ashley R Ruta
Clifford Y Figeroa
Jeanfrancois M Chui
Jeanfrancois S Briddick
Ricardo Q Ruta
Adams S Ruta
Claire J Bolognia
David Z Oldroyd
Ivar J Ferencz
Isabel C Marrier
Adams S Schemmer
Johnson O Rulapaugh
Faith M Butt
Mayumi C Caudy
Smith H Stenseth
Arvin G Morasca
Misaki L Tollner
Smith R Inouye
Johnson Y Gaucho
Maria J Kolmetz
Darci D Amigon
Jeanfrancois V Sergi
Aruna I Amigon
Mayumi L Figeroa
Juan V Iturbide
Emily I Darakjy
Johnson V Briddick
Costa B Royster
Murillo P Royster
Morrow K Bolognia
David Y Paprocki
Julie L Waycott
Ashley D Stockham
Kaitlin G Bowley
Mayumi B Perin
Aika A Iturbide
Greenwood C Doe
Aika U Flosi
Stacey K Whobrey
Isabel F Butt
Darci G Doe
Leon F Morasca
Izzy G Iturbide
Maisha Q Campain
Antonio O Garufi
Juan X Maclead
IdCountryDate
1000Canada2025-06-15
1001Brazil2025-06-15
1002Germany2025-05-22
1003Spain2025-06-14
1004Spain2025-05-29
1005India2025-05-19
1006United Kingdom2025-06-14
1007France2025-05-29
1008Russia2025-06-02
1009France2025-06-15
1010Russia2025-06-06
1011Russia2025-05-23
1012Germany2025-06-09
1013Australia2025-05-20
1014Russia2025-05-18
1015Italy2025-05-31
1016Canada2025-05-26
1017Brazil2025-05-28
1018France2025-06-02
1019United Kingdom2025-05-28
1020Italy2025-06-07
1021Australia2025-05-20
1022Italy2025-06-13
1023Australia2025-06-09
1024Australia2025-05-24
1025India2025-05-28
1026Italy2025-05-22
1027Japan2025-06-15
1028Italy2025-05-24
1029Brazil2025-06-16
1030India2025-06-06
1031Argentina2025-05-22
1032India2025-05-22
1033Canada2025-06-08
1034India2025-06-14
1035Japan2025-06-13
1036Brazil2025-05-19
1037France2025-06-03
1038Spain2025-06-11
1039France2025-06-10
1040Brazil2025-05-18
1041Russia2025-06-04
1042United Kingdom2025-05-24
1043United Kingdom2025-05-28
1044Australia2025-05-29
1045Australia2025-06-09
1046Italy2025-06-14
1047Japan2025-05-31
1048Russia2025-06-08
1049Canada2025-05-28

On-Demand Data

NameIdCountryDate
Rodrigues X Malet1000Russia2025-06-08
Greenwood W Oldroyd1001France2025-06-14
Maria U Figeroa1002Japan2025-06-10
Clifford Z Nestle1003Australia2025-06-10
Wickens U Waycott1004Japan2025-06-03
Chavez M Maclead1005Canada2025-06-15
Ivar O Maclead1006Spain2025-05-31
Alejandro Z Garufi1007Russia2025-06-03
Jones L Figeroa1008Russia2025-06-11
Stacey F Wieser1009India2025-05-18
Nicolas B Ferencz1010Italy2025-05-30
Arvin E Darakjy1011France2025-05-19
Rodrigues S Kolmetz1012Russia2025-06-07
Faith Y Malet1013Argentina2025-06-15
Claire H Oldroyd1014France2025-06-06
Tony L Ostrosky1015United Kingdom2025-06-13
Smith K Schemmer1016India2025-05-26
Juan K Paprocki1017Brazil2025-06-08
Smith Y Whobrey1018Argentina2025-05-21
Sinclair R Foller1019India2025-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci E GlickRussiaIvan Magalhaes RENEWAL
Kaitlin Z StockhamGermanyAmy Elsner QUALIFIED
Mujtaba O DilliardBrazilBernardo Dominic RENEWAL
Deepesh Z WieserArgentinaElwin Sharvill QUALIFIED
Juan X RutaArgentinaAsiya Javayant QUALIFIED
Antonio Q SchemmerUnited KingdomOnyama Limba QUALIFIED
Maisha B RoysterFranceOnyama Limba UNQUALIFIED
Leja M GlickFranceXuxue Feng NEGOTIATION
Francesco X PerinBrazilAsiya Javayant RENEWAL
Sinclair X StensethJapanAmy Elsner NEW
David G GillianArgentinaElwin Sharvill NEGOTIATION
Deepesh K GlickIndiaIoni Bowcher UNQUALIFIED
Rodrigues T RutaJapanElwin Sharvill QUALIFIED
Sinclair K ButtAustraliaAsiya Javayant NEW
Leja M MorascaGermanyBernardo Dominic PROPOSAL
Emily J TollnerItalyBernardo Dominic PROPOSAL
Costa N OldroydUnited KingdomAmy Elsner NEW
Ricardo M SergiBrazilIvan Magalhaes UNQUALIFIED
Smith A SchemmerSpainXuxue Feng RENEWAL
Silvio K FlosiBrazilAmy Elsner PROPOSAL
Johnson W GlickBrazilIvan Magalhaes QUALIFIED
Wickens J RoysterGermanyOnyama Limba NEW
Smith Y ChuiFranceIoni Bowcher NEW
Murillo L VenereItalyStephen Shaw UNQUALIFIED
Aruna I VocelkaIndiaElwin Sharvill PROPOSAL
Salvatore D GillianJapanXuxue Feng UNQUALIFIED
Maisha L AmigonBrazilStephen Shaw QUALIFIED
Aditya C GauchoCanadaAsiya Javayant NEW
James J DarakjyRussiaElwin Sharvill QUALIFIED
Ricardo W WhobreyArgentinaXuxue Feng NEGOTIATION
Octavia T WaycottCanadaAmy Elsner NEGOTIATION
Rodrigues P KuskoCanadaAmy Elsner NEGOTIATION
Kaitlin T BriddickItalyStephen Shaw NEGOTIATION
Alejandro C WieserItalyAmy Elsner NEW
Jennifer K OstroskySpainOnyama Limba PROPOSAL
Chavez L IturbideJapanXuxue Feng QUALIFIED
Kaitlin G MacleadUnited KingdomAmy Elsner UNQUALIFIED
Aditya K VocelkaAustraliaBernardo Dominic UNQUALIFIED
Darci L NestleRussiaOnyama Limba PROPOSAL
Deepesh M BologniaRussiaStephen Shaw UNQUALIFIED

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