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
Greenwood Q IturbideItalyAsiya Javayant UNQUALIFIED
Juan S SaylorsIndiaElwin Sharvill QUALIFIED
Stacey P NickaItalyXuxue Feng NEGOTIATION
Smith U WhobreySpainXuxue Feng NEW
Johnson T NestleIndiaOnyama Limba UNQUALIFIED
Aditya X DarakjyItalyXuxue Feng NEW
Antonio P NestleRussiaXuxue Feng RENEWAL
Aditya P RulapaughRussiaOnyama Limba NEGOTIATION
Wickens G BologniaSpainElwin Sharvill NEW
Jefferson L BriddickGermanyXuxue Feng PROPOSAL
Jones S BologniaGermanyBernardo Dominic NEGOTIATION
Ricardo I TollnerCanadaIoni Bowcher RENEWAL
Jennifer Y MaletSpainIvan Magalhaes NEGOTIATION
Francesco V PerinCanadaXuxue Feng RENEWAL
Francesco L FollerCanadaAsiya Javayant RENEWAL
Ashley D WieserArgentinaAnna Fali QUALIFIED
Emily W PerinItalyIoni Bowcher NEGOTIATION
Salvatore J SchemmerCanadaIoni Bowcher NEW
Greenwood M NestleGermanyIoni Bowcher NEW
Misaki H RutaAustraliaAsiya Javayant PROPOSAL
Jones X MaletFranceBernardo Dominic UNQUALIFIED
Ashley X WhobreyItalyStephen Shaw NEW
Silvio S IturbideSpainIoni Bowcher PROPOSAL
Francesco B BriddickAustraliaAsiya Javayant UNQUALIFIED
Deepesh W TollnerArgentinaAnna Fali PROPOSAL
Mujtaba U CaudyArgentinaIvan Magalhaes PROPOSAL
Tony C KolmetzItalyXuxue Feng QUALIFIED
Nicolas X WieserIndiaIoni Bowcher NEGOTIATION
Ashley Q CampainRussiaAmy Elsner UNQUALIFIED
Francesco V VocelkaItalyStephen Shaw NEW
Aika X RimFranceIvan Magalhaes QUALIFIED
Octavia X SaylorsArgentinaAsiya Javayant RENEWAL
Ivar Q RimAustraliaIvan Magalhaes NEGOTIATION
Murillo K VenereArgentinaAmy Elsner NEW
Aika M ChuiJapanAsiya Javayant QUALIFIED
Sinclair Y TollnerAustraliaIvan Magalhaes NEW
Salvatore Y RulapaughGermanyAsiya Javayant NEW
Kadeem V FerenczItalyAmy Elsner RENEWAL
Julie C ShinkoUnited KingdomBernardo Dominic NEGOTIATION
Deepesh D RimIndiaXuxue Feng RENEWAL
Antonio R GarufiUnited KingdomStephen Shaw RENEWAL
Jennifer N RimAustraliaAnna Fali RENEWAL
Wickens D PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
Adams Z PoquetteJapanAnna Fali RENEWAL
Cody I SergiIndiaIvan Magalhaes NEGOTIATION
Sinclair V NestleUnited KingdomAnna Fali NEGOTIATION
Costa S ShinkoIndiaAsiya Javayant QUALIFIED
Chavez S PerinCanadaBernardo Dominic NEGOTIATION
Johnson B RutaRussiaIvan Magalhaes PROPOSAL
Francesco D SlusarskiGermanyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya M SlusarskiFranceXuxue Feng UNQUALIFIED
Rodrigues U MaletJapanAsiya Javayant UNQUALIFIED
Kadeem F KolmetzGermanyAmy Elsner QUALIFIED
Jeanfrancois Q RutaIndiaIvan Magalhaes PROPOSAL
Deepesh D OldroydItalyIvan Magalhaes NEGOTIATION
Silvio Y MaletItalyAmy Elsner PROPOSAL
Adams W PoquetteSpainAnna Fali NEW
Munro A GlickSpainBernardo Dominic PROPOSAL
Julie D WaycottUnited KingdomAnna Fali RENEWAL
Smith A NestleUnited KingdomStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody U MaletAustralia2024-05-15Chanay, Jeffrey A Esq UNQUALIFIED73Ivan Magalhaes
1001Aruna F IturbideIndia2024-05-06Printing Dimensions PROPOSAL44Ivan Magalhaes
1002Emily G KuskoCanada2024-05-31Rousseaux, Michael Esq RENEWAL44Elwin Sharvill
1003Salvatore I SchemmerFrance2024-05-13Benton, John B Jr QUALIFIED6Bernardo Dominic
1004Aruna O MarrierCanada2024-05-15Rangoni Of Florence QUALIFIED99Elwin Sharvill
1005Aika A MacleadCanada2024-05-29King, Christopher A Esq NEW89Amy Elsner
1006Leja H TollnerJapan2024-05-09Morlong Associates NEGOTIATION84Amy Elsner
1007Aika P BowleySpain2024-05-21Benton, John B Jr NEGOTIATION17Amy Elsner
1008Maria K KolmetzIndia2024-05-06Printing Dimensions NEGOTIATION80Ivan Magalhaes
1009Julie R RutaGermany2024-05-14Chapman, Ross E Esq UNQUALIFIED1Bernardo Dominic
1010Munro V SlusarskiGermany2024-06-02Chanay, Jeffrey A Esq RENEWAL54Ivan Magalhaes
1011Silvio H FlosiBrazil2024-05-16Morlong Associates NEW99Onyama Limba
1012Cody B MarrierRussia2024-05-11Morlong Associates UNQUALIFIED57Ivan Magalhaes
1013Octavia I StockhamGermany2024-05-24Truhlar And Truhlar Attys QUALIFIED96Ioni Bowcher
1014Munro P AlbaresCanada2024-05-15Chapman, Ross E Esq PROPOSAL25Asiya Javayant
1015Nicolas P PoquetteUnited Kingdom2024-06-02Feiner Bros QUALIFIED90Ioni Bowcher
1016Aika X RoysterUnited Kingdom2024-05-19Truhlar And Truhlar Attys NEW51Stephen Shaw
1017Stacey D MorascaRussia2024-05-29Feiner Bros UNQUALIFIED52Elwin Sharvill
1018Jefferson D KolmetzFrance2024-05-07Benton, John B Jr QUALIFIED26Anna Fali
1019Tony U FerenczArgentina2024-05-21Morlong Associates NEGOTIATION79Stephen Shaw
1020Julie U RoysterArgentina2024-05-17Dorl, James J Esq NEGOTIATION98Stephen Shaw
1021Mujtaba K ButtItaly2024-05-10Dorl, James J Esq RENEWAL74Ivan Magalhaes
1022Darci I StockhamItaly2024-06-03Rousseaux, Michael Esq UNQUALIFIED66Elwin Sharvill
1023Alejandro B NestleIndia2024-05-06Feltz Printing Service PROPOSAL55Stephen Shaw
1024Faith U RulapaughCanada2024-05-17Feltz Printing Service NEGOTIATION15Stephen Shaw
1025Aditya M RimCanada2024-05-27Morlong Associates PROPOSAL23Stephen Shaw
1026Ricardo K NickaSpain2024-05-19Feiner Bros RENEWAL48Anna Fali
1027Antonio T MorascaBrazil2024-05-13Feiner Bros NEW69Stephen Shaw
1028Smith I FigeroaFrance2024-05-21Chapman, Ross E Esq PROPOSAL16Bernardo Dominic
1029Silvio U NestleAustralia2024-05-16Printing Dimensions UNQUALIFIED76Elwin Sharvill
1030Mujtaba S AlbaresCanada2024-05-24Dorl, James J Esq QUALIFIED91Stephen Shaw
1031Tony W IturbideSpain2024-05-11Commercial Press NEGOTIATION51Anna Fali
1032Leja W GauchoBrazil2024-05-17Feiner Bros NEGOTIATION83Ioni Bowcher
1033Murillo Z FigeroaCanada2024-05-31Morlong Associates UNQUALIFIED50Asiya Javayant
1034Clifford I ShinkoGermany2024-05-22Feiner Bros QUALIFIED5Amy Elsner
1035Ricardo T OldroydGermany2024-05-14Dorl, James J Esq NEW39Ivan Magalhaes
1036Julie E ChuiRussia2024-05-06Chapman, Ross E Esq PROPOSAL60Ioni Bowcher
1037Jefferson N MaletFrance2024-05-27Commercial Press QUALIFIED25Elwin Sharvill
1038Julie Q AlbaresSpain2024-05-26Feiner Bros RENEWAL43Bernardo Dominic
1039Izzy B InouyeRussia2024-05-22Morlong Associates NEGOTIATION82Onyama Limba
1040Octavia K GlickJapan2024-06-02Dorl, James J Esq UNQUALIFIED81Amy Elsner
1041Sinclair P MaletAustralia2024-05-24Commercial Press NEW83Elwin Sharvill
1042Tony F BowleyFrance2024-05-29Feiner Bros NEGOTIATION93Elwin Sharvill
1043Leon K DarakjyCanada2024-05-23Dorl, James J Esq PROPOSAL92Anna Fali
1044Jefferson W NickaArgentina2024-06-02Dorl, James J Esq NEGOTIATION79Asiya Javayant
1045Morrow C VocelkaItaly2024-05-30Benton, John B Jr RENEWAL33Amy Elsner
1046Emily O AlbaresUnited Kingdom2024-05-25King, Christopher A Esq RENEWAL97Amy Elsner
1047Jeanfrancois Q GarufiItaly2024-05-11Chapman, Ross E Esq NEGOTIATION48Amy Elsner
1048Murillo P StockhamJapan2024-05-09Printing Dimensions RENEWAL0Stephen Shaw
1049Wickens G ShinkoSpain2024-05-07Rangoni Of Florence NEGOTIATION17Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin C IturbideAustraliaIvan Magalhaes UNQUALIFIED
Costa L IturbideItalyIoni Bowcher RENEWAL
Maisha O ShinkoIndiaBernardo Dominic NEGOTIATION
Chavez J PoquetteFranceXuxue Feng UNQUALIFIED
Aditya K ShinkoBrazilIvan Magalhaes NEGOTIATION
Leja S RutaBrazilIvan Magalhaes UNQUALIFIED
Aditya D MorascaRussiaXuxue Feng NEW
Murillo M DarakjyFranceAnna Fali UNQUALIFIED
Juan K SergiItalyAmy Elsner PROPOSAL
Darci S GauchoCanadaOnyama Limba QUALIFIED
Mujtaba U ButtArgentinaAnna Fali NEGOTIATION
Maisha M AlbaresCanadaElwin Sharvill NEW
Isabel G WaycottFranceOnyama Limba NEGOTIATION
Antonio K NestleArgentinaAsiya Javayant PROPOSAL
Faith O WieserCanadaBernardo Dominic UNQUALIFIED
Maria E MacleadUnited KingdomAmy Elsner RENEWAL
Mayumi W CaudyIndiaOnyama Limba NEGOTIATION
Adams N BowleySpainXuxue Feng NEW
Deepesh Y GillianAustraliaXuxue Feng QUALIFIED
Ashley M PerinAustraliaIvan Magalhaes RENEWAL
Mayumi X WhobreyIndiaElwin Sharvill RENEWAL
Darci J WieserItalyIvan Magalhaes RENEWAL
Kaitlin E ShinkoAustraliaOnyama Limba NEW
Rodrigues X AlbaresJapanXuxue Feng NEGOTIATION
Faith F NestleItalyXuxue Feng PROPOSAL
Jeanfrancois I RulapaughFranceIvan Magalhaes UNQUALIFIED
Julie R GlickJapanAnna Fali NEGOTIATION
Cody E RulapaughGermanyOnyama Limba PROPOSAL
Johnson G WaycottArgentinaOnyama Limba PROPOSAL
Mujtaba J SlusarskiCanadaIoni Bowcher NEW
Ricardo D KuskoSpainOnyama Limba NEW
Maisha M FlosiUnited KingdomBernardo Dominic NEW
Wickens R TollnerFranceIvan Magalhaes UNQUALIFIED
Ivar K WhobreyBrazilIvan Magalhaes PROPOSAL
Smith J BriddickUnited KingdomAsiya Javayant NEW
Adams O NestleCanadaBernardo Dominic UNQUALIFIED
Jefferson V MacleadJapanBernardo Dominic NEW
Ivar S GarufiBrazilElwin Sharvill RENEWAL
Aika B PoquetteRussiaAnna Fali PROPOSAL
Stacey I GlickCanadaIvan Magalhaes NEW
Leon N RutaUnited KingdomElwin Sharvill QUALIFIED
Jones F WaycottFranceBernardo Dominic NEW
Costa U WhobreyAustraliaIvan Magalhaes PROPOSAL
Greenwood Q ButtFranceStephen Shaw NEW
Alejandro X CampainRussiaIvan Magalhaes RENEWAL
Greenwood N ButtUnited KingdomStephen Shaw RENEWAL
Salvatore V VocelkaJapanXuxue Feng RENEWAL
Adams X FlosiSpainAsiya Javayant QUALIFIED
Jones V OldroydJapanStephen Shaw RENEWAL
Antonio M SlusarskiBrazilXuxue Feng RENEWAL
Frozen Columns
Name
Silvio N Darakjy
Maisha M Inouye
Ashley G Garufi
Leon N Foller
Adams G Iturbide
Murillo R Ferencz
Leon C Doe
Kadeem F Bolognia
Jeanfrancois M Bolognia
Octavia X Morasca
James B Rulapaugh
Adams O Campain
Deepesh C Ferencz
Francesco F Malet
James L Figeroa
Izzy P Marrier
Francesco M Kusko
Wickens O Sergi
Wickens X Whobrey
Rodrigues R Stockham
Aruna Y Ostrosky
Greenwood B Oldroyd
Faith J Waycott
Izzy S Doe
Jones M Flosi
Antonio O Paprocki
Jennifer Z Caldarera
Sinclair A Bowley
Misaki A Perin
Kaitlin O Morasca
Chavez L Malet
Cody V Gaucho
Mayumi E Vocelka
Maisha N Albares
Maria J Stenseth
Izzy O Bowley
Emily U Slusarski
Faith A Poquette
Jeanfrancois I Rim
Cody W Schemmer
Stacey W Nicka
Aditya K Wieser
Chavez A Marrier
Salvatore Q Iturbide
Izzy S Whobrey
Isabel Z Kusko
Salvatore K Kusko
Maisha V Doe
Arvin S Kusko
Deepesh N Garufi
IdCountryDate
1000Japan2024-05-27
1001Spain2024-05-25
1002India2024-05-28
1003Canada2024-05-07
1004Russia2024-05-17
1005Spain2024-05-05
1006Russia2024-05-21
1007India2024-05-27
1008India2024-05-08
1009Argentina2024-05-17
1010Australia2024-05-20
1011United Kingdom2024-05-06
1012Japan2024-05-14
1013United Kingdom2024-05-21
1014United Kingdom2024-05-31
1015Germany2024-05-06
1016Germany2024-05-19
1017Germany2024-05-17
1018United Kingdom2024-05-20
1019Australia2024-05-16
1020Italy2024-05-05
1021Australia2024-05-20
1022Spain2024-05-16
1023Italy2024-05-29
1024Spain2024-05-27
1025Canada2024-05-15
1026Australia2024-05-08
1027Germany2024-05-24
1028Italy2024-05-15
1029Argentina2024-05-19
1030Japan2024-05-18
1031Argentina2024-05-08
1032Germany2024-05-30
1033India2024-05-19
1034Germany2024-05-05
1035Brazil2024-05-06
1036Russia2024-05-23
1037Argentina2024-05-26
1038Argentina2024-05-12
1039India2024-05-26
1040Germany2024-05-20
1041Australia2024-05-17
1042Russia2024-05-23
1043France2024-05-13
1044France2024-05-25
1045France2024-05-17
1046Argentina2024-05-23
1047Germany2024-05-06
1048Brazil2024-06-02
1049Spain2024-05-11

On-Demand Data

NameIdCountryDate
Kaitlin T Glick1000Italy2024-05-20
Wickens C Malet1001Italy2024-05-21
Ashley V Glick1002France2024-05-07
David E Garufi1003Brazil2024-05-18
Ivar L Dilliard1004India2024-05-12
Kadeem B Figeroa1005Australia2024-05-23
Jefferson W Albares1006Japan2024-05-07
Deepesh Z Bolognia1007United Kingdom2024-05-19
Wickens B Schemmer1008Spain2024-05-22
Claire X Rim1009Argentina2024-05-05
Rodrigues P Flosi1010Japan2024-05-26
Leja Q Oldroyd1011Japan2024-05-22
Chavez X Perin1012Canada2024-05-28
Johnson V Whobrey1013Canada2024-05-24
Antonio G Figeroa1014Argentina2024-05-13
James S Garufi1015India2024-05-11
Maria N Ferencz1016Russia2024-06-02
Morrow M Schemmer1017Australia2024-05-31
Deepesh W Glick1018Canada2024-06-03
Salvatore G Stockham1019United Kingdom2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey R WieserAustraliaElwin Sharvill PROPOSAL
Rodrigues Z SergiItalyOnyama Limba NEGOTIATION
Arvin U DarakjyAustraliaIoni Bowcher NEGOTIATION
Munro J KolmetzRussiaAnna Fali RENEWAL
Munro I VenereFranceAnna Fali QUALIFIED
Antonio R IturbideGermanyIoni Bowcher RENEWAL
Clifford M OstroskyCanadaXuxue Feng RENEWAL
Antonio Y FerenczUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin O NestleJapanIoni Bowcher RENEWAL
Darci Y DoeRussiaElwin Sharvill PROPOSAL
Greenwood U WaycottIndiaXuxue Feng PROPOSAL
Clifford V MaletItalyAmy Elsner UNQUALIFIED
Stacey A VocelkaGermanyBernardo Dominic UNQUALIFIED
Darci L TollnerItalyOnyama Limba UNQUALIFIED
Aditya C BriddickJapanBernardo Dominic NEW
Clifford I PerinRussiaIoni Bowcher NEW
Maria X FerenczAustraliaXuxue Feng PROPOSAL
Darci S PoquetteItalyIoni Bowcher RENEWAL
Mujtaba P GlickFranceIoni Bowcher UNQUALIFIED
Arvin W StockhamGermanyBernardo Dominic QUALIFIED
Isabel P NestleRussiaIoni Bowcher NEGOTIATION
Arvin G NestleUnited KingdomStephen Shaw UNQUALIFIED
Jefferson B NickaRussiaElwin Sharvill NEGOTIATION
Maisha N DoeJapanIvan Magalhaes UNQUALIFIED
Faith Y VenereIndiaXuxue Feng PROPOSAL
Cody L CaudySpainOnyama Limba NEGOTIATION
Maisha O RoysterItalyElwin Sharvill RENEWAL
Leon U MorascaGermanyBernardo Dominic RENEWAL
Alejandro C TollnerIndiaAmy Elsner NEW
Murillo K DarakjyGermanyAnna Fali PROPOSAL
Kadeem R RimIndiaIvan Magalhaes PROPOSAL
Juan V IturbideFranceIoni Bowcher PROPOSAL
Jennifer I FigeroaRussiaXuxue Feng UNQUALIFIED
Greenwood J SchemmerSpainXuxue Feng NEGOTIATION
Ashley L BriddickBrazilXuxue Feng NEGOTIATION
Clifford C BriddickItalyXuxue Feng RENEWAL
Adams Q AmigonJapanElwin Sharvill NEGOTIATION
Antonio C SergiJapanOnyama Limba NEGOTIATION
Ashley N NestleCanadaIoni Bowcher NEGOTIATION
Tony X CaudyArgentinaOnyama Limba QUALIFIED

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