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
Juan S FlosiBrazilIoni Bowcher NEW
Aruna K FollerAustraliaElwin Sharvill NEW
Ashley J GlickCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois E PaprockiSpainAnna Fali NEGOTIATION
Johnson U BowleyIndiaBernardo Dominic RENEWAL
Isabel G DilliardFranceIvan Magalhaes PROPOSAL
Deepesh C WhobreyItalyIoni Bowcher RENEWAL
Alejandro Y MaletItalyIvan Magalhaes PROPOSAL
Nicolas I CaldareraItalyElwin Sharvill QUALIFIED
Cody X RoysterFranceXuxue Feng QUALIFIED
Murillo C BowleyGermanyXuxue Feng NEGOTIATION
Octavia M RulapaughItalyIvan Magalhaes RENEWAL
Aruna N MaletFranceBernardo Dominic RENEWAL
Adams R MorascaSpainAmy Elsner PROPOSAL
Rodrigues Q GarufiSpainBernardo Dominic RENEWAL
Alejandro M KolmetzItalyBernardo Dominic RENEWAL
Adams U NestleRussiaOnyama Limba QUALIFIED
Mujtaba R ChuiItalyBernardo Dominic PROPOSAL
Stacey P NickaIndiaIvan Magalhaes RENEWAL
Leon K MacleadIndiaXuxue Feng RENEWAL
Cody O GlickArgentinaAsiya Javayant UNQUALIFIED
James U OstroskyAustraliaAnna Fali NEGOTIATION
Aditya X ChuiRussiaOnyama Limba RENEWAL
Stacey R SlusarskiAustraliaStephen Shaw PROPOSAL
Munro R KuskoSpainXuxue Feng QUALIFIED
Antonio D MacleadFranceAnna Fali NEGOTIATION
Isabel I FlosiGermanyIoni Bowcher RENEWAL
Adams J SlusarskiUnited KingdomAmy Elsner QUALIFIED
Antonio S NestleRussiaIvan Magalhaes RENEWAL
Munro O KolmetzFranceOnyama Limba NEGOTIATION
Emily J CaldareraItalyAsiya Javayant PROPOSAL
Ashley C DilliardSpainAsiya Javayant UNQUALIFIED
Francesco E GauchoFranceAnna Fali NEGOTIATION
Stacey W SchemmerUnited KingdomXuxue Feng RENEWAL
David B GlickAustraliaBernardo Dominic NEGOTIATION
Nicolas F StensethRussiaElwin Sharvill NEW
Stacey I BowleyIndiaBernardo Dominic QUALIFIED
Mujtaba F MacleadIndiaAmy Elsner NEW
Mujtaba X WaycottRussiaAnna Fali NEGOTIATION
Juan S MorascaGermanyXuxue Feng RENEWAL
Ricardo O FlosiFranceBernardo Dominic UNQUALIFIED
Maria V WhobreyArgentinaXuxue Feng QUALIFIED
Alejandro L MacleadRussiaAsiya Javayant QUALIFIED
Maisha L BriddickGermanyXuxue Feng PROPOSAL
Rodrigues W FollerBrazilOnyama Limba NEGOTIATION
Cody M SlusarskiBrazilXuxue Feng PROPOSAL
Murillo A ButtGermanyIoni Bowcher RENEWAL
Alejandro K CaudyGermanyIvan Magalhaes NEGOTIATION
Deepesh K StensethRussiaAnna Fali PROPOSAL
Ashley Z MacleadSpainIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Morrow A NickaAustraliaIoni Bowcher RENEWAL
James C AlbaresJapanXuxue Feng QUALIFIED
James L WieserItalyIvan Magalhaes RENEWAL
Misaki Y FollerGermanyBernardo Dominic PROPOSAL
Adams F MorascaArgentinaIoni Bowcher PROPOSAL
Juan H MaletItalyStephen Shaw PROPOSAL
Claire N NickaUnited KingdomElwin Sharvill NEGOTIATION
Stacey V ButtJapanAsiya Javayant RENEWAL
Ivar R PoquetteGermanyAmy Elsner NEGOTIATION
Morrow U GarufiFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens N OstroskyIndia2024-05-25Rangoni Of Florence PROPOSAL63Asiya Javayant
1001Ivar O RulapaughJapan2024-05-21Chapman, Ross E Esq UNQUALIFIED54Anna Fali
1002Jeanfrancois S DarakjyItaly2024-06-09Printing Dimensions PROPOSAL54Bernardo Dominic
1003Chavez D GlickRussia2024-05-23Chapman, Ross E Esq NEGOTIATION64Amy Elsner
1004Silvio E CaldareraArgentina2024-06-03Dorl, James J Esq NEGOTIATION41Bernardo Dominic
1005Kadeem B VocelkaRussia2024-06-11King, Christopher A Esq QUALIFIED18Stephen Shaw
1006Jennifer W CampainFrance2024-05-26Truhlar And Truhlar Attys NEW70Bernardo Dominic
1007Jeanfrancois W CaldareraBrazil2024-05-28Rangoni Of Florence RENEWAL99Asiya Javayant
1008Faith G MorascaAustralia2024-06-13Chanay, Jeffrey A Esq NEW88Xuxue Feng
1009Octavia O SergiJapan2024-05-30Rangoni Of Florence NEGOTIATION2Elwin Sharvill
1010Mujtaba D ButtSpain2024-05-24Commercial Press UNQUALIFIED12Onyama Limba
1011Kadeem V OstroskyBrazil2024-05-21Feiner Bros QUALIFIED95Bernardo Dominic
1012Adams P SlusarskiUnited Kingdom2024-05-20Benton, John B Jr NEW66Amy Elsner
1013Leja H InouyeSpain2024-06-17Printing Dimensions UNQUALIFIED35Amy Elsner
1014Tony H RutaFrance2024-05-30Benton, John B Jr RENEWAL88Amy Elsner
1015Rodrigues Y StockhamItaly2024-06-05Chapman, Ross E Esq PROPOSAL39Onyama Limba
1016Aika X KuskoJapan2024-05-28Truhlar And Truhlar Attys PROPOSAL3Amy Elsner
1017Mayumi B PaprockiSpain2024-05-30Benton, John B Jr NEW21Bernardo Dominic
1018Murillo E GauchoGermany2024-06-17Rangoni Of Florence NEW74Ivan Magalhaes
1019Emily Z BologniaFrance2024-05-31Rousseaux, Michael Esq UNQUALIFIED73Bernardo Dominic
1020Morrow R GillianArgentina2024-06-04Commercial Press NEW8Ivan Magalhaes
1021Maisha J OldroydSpain2024-06-11Feltz Printing Service PROPOSAL18Xuxue Feng
1022Costa H OstroskyRussia2024-05-22Commercial Press NEW85Elwin Sharvill
1023Silvio W ButtBrazil2024-05-22Feltz Printing Service NEGOTIATION2Stephen Shaw
1024Claire V SlusarskiGermany2024-06-09Chemel, James L Cpa NEW29Elwin Sharvill
1025Arvin U PaprockiUnited Kingdom2024-06-09Chanay, Jeffrey A Esq RENEWAL80Stephen Shaw
1026Emily E PerinCanada2024-05-21Chemel, James L Cpa PROPOSAL52Asiya Javayant
1027Tony K StensethRussia2024-06-17Dorl, James J Esq PROPOSAL71Asiya Javayant
1028Alejandro L RutaItaly2024-05-25Feiner Bros RENEWAL98Anna Fali
1029Munro F GarufiBrazil2024-06-07Printing Dimensions RENEWAL58Xuxue Feng
1030Leja H KuskoFrance2024-06-03Dorl, James J Esq NEW99Ivan Magalhaes
1031Darci K AlbaresSpain2024-05-28Buckley Miller Wright QUALIFIED22Ioni Bowcher
1032Francesco L ButtCanada2024-06-13Feiner Bros UNQUALIFIED13Ivan Magalhaes
1033Isabel X StockhamRussia2024-06-05Feltz Printing Service RENEWAL49Xuxue Feng
1034Leon Z CaudyFrance2024-06-13Printing Dimensions NEGOTIATION70Onyama Limba
1035Silvio L SlusarskiBrazil2024-06-06Morlong Associates NEGOTIATION13Bernardo Dominic
1036Clifford L DoeGermany2024-06-14King, Christopher A Esq NEGOTIATION68Amy Elsner
1037Jeanfrancois P FigeroaAustralia2024-06-01King, Christopher A Esq PROPOSAL84Anna Fali
1038Maria J SaylorsBrazil2024-05-29Commercial Press NEW63Onyama Limba
1039Munro V BriddickArgentina2024-05-22Commercial Press NEGOTIATION84Anna Fali
1040Aditya F PaprockiSpain2024-05-22Buckley Miller Wright UNQUALIFIED82Onyama Limba
1041Leon J CaldareraAustralia2024-06-08Dorl, James J Esq NEGOTIATION47Onyama Limba
1042Nicolas Q DoeArgentina2024-05-28Feltz Printing Service NEW48Amy Elsner
1043Johnson Q RutaJapan2024-05-27Printing Dimensions RENEWAL91Bernardo Dominic
1044Julie Z WieserArgentina2024-06-04Printing Dimensions NEW98Amy Elsner
1045Emily A MacleadRussia2024-06-08Dorl, James J Esq PROPOSAL90Amy Elsner
1046Johnson Q FollerCanada2024-06-11Chapman, Ross E Esq UNQUALIFIED42Elwin Sharvill
1047Leja U MaletGermany2024-06-15Printing Dimensions PROPOSAL81Ivan Magalhaes
1048Johnson J DarakjyAustralia2024-06-13Feltz Printing Service UNQUALIFIED1Xuxue Feng
1049Mayumi U CaudyGermany2024-06-06King, Christopher A Esq NEGOTIATION56Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony B RutaRussiaBernardo Dominic NEGOTIATION
Juan Y DarakjyRussiaStephen Shaw UNQUALIFIED
Ivar P WaycottIndiaAnna Fali NEW
Octavia N StensethCanadaAsiya Javayant UNQUALIFIED
Faith B MacleadAustraliaIvan Magalhaes QUALIFIED
Darci P ButtGermanyIvan Magalhaes NEGOTIATION
Julie P FigeroaArgentinaIvan Magalhaes RENEWAL
Aruna T ButtBrazilBernardo Dominic UNQUALIFIED
Smith S CampainIndiaBernardo Dominic UNQUALIFIED
Murillo D VenereRussiaAmy Elsner NEW
Costa E SaylorsIndiaIvan Magalhaes NEW
Francesco D NickaFranceIoni Bowcher RENEWAL
Ricardo L WieserIndiaAsiya Javayant UNQUALIFIED
Silvio U GlickItalyBernardo Dominic RENEWAL
Jennifer G MaletAustraliaAnna Fali RENEWAL
Misaki B VocelkaArgentinaElwin Sharvill NEGOTIATION
Kaitlin C FigeroaCanadaXuxue Feng NEGOTIATION
Tony C InouyeFranceOnyama Limba UNQUALIFIED
Morrow E RoysterFranceIoni Bowcher RENEWAL
Maria S GauchoFranceBernardo Dominic PROPOSAL
Mayumi E BologniaIndiaAsiya Javayant PROPOSAL
Jones Y RutaIndiaElwin Sharvill NEGOTIATION
Mayumi J PoquetteRussiaIvan Magalhaes QUALIFIED
Cody H RoysterIndiaIvan Magalhaes NEGOTIATION
Claire Z WieserGermanyStephen Shaw RENEWAL
Ivar E StockhamJapanAmy Elsner NEW
Kadeem P PoquetteSpainStephen Shaw NEW
Wickens R PaprockiJapanAnna Fali UNQUALIFIED
Morrow J VenereAustraliaXuxue Feng UNQUALIFIED
Ivar J RoysterBrazilBernardo Dominic RENEWAL
Kaitlin T AlbaresCanadaIoni Bowcher RENEWAL
Arvin C ShinkoUnited KingdomIvan Magalhaes NEW
Wickens D CampainGermanyXuxue Feng UNQUALIFIED
Leja F SaylorsBrazilElwin Sharvill UNQUALIFIED
Cody L TollnerBrazilBernardo Dominic UNQUALIFIED
Faith R WieserCanadaOnyama Limba NEW
Jeanfrancois B BologniaSpainAnna Fali QUALIFIED
Smith S GarufiArgentinaAsiya Javayant NEGOTIATION
Darci X RimIndiaIoni Bowcher UNQUALIFIED
Juan V SlusarskiItalyAmy Elsner NEW
Jeanfrancois R ChuiFranceOnyama Limba NEGOTIATION
Jefferson M ShinkoAustraliaAnna Fali PROPOSAL
Ivar X MaletArgentinaStephen Shaw PROPOSAL
Chavez I FlosiFranceOnyama Limba UNQUALIFIED
Maria J ButtSpainIvan Magalhaes NEGOTIATION
Misaki V KolmetzSpainIoni Bowcher NEW
Claire G FigeroaRussiaElwin Sharvill PROPOSAL
Jennifer R CampainGermanyElwin Sharvill NEW
Jennifer R StockhamRussiaIvan Magalhaes UNQUALIFIED
Johnson O StockhamFranceAsiya Javayant PROPOSAL
Frozen Columns
Name
Morrow O Whobrey
Smith S Bolognia
Maria J Briddick
Darci V Figeroa
Clifford G Morasca
Silvio F Schemmer
Octavia J Amigon
Johnson P Marrier
Mayumi A Figeroa
Clifford X Kusko
Izzy X Kolmetz
Jones X Oldroyd
Tony B Gillian
Darci A Maclead
Greenwood E Dilliard
Murillo B Gillian
Aruna P Briddick
Leja Z Kolmetz
Aika Q Malet
Kaitlin D Amigon
Claire E Malet
Faith N Dilliard
Greenwood E Waycott
Sinclair K Flosi
Ivar I Waycott
Ricardo O Nicka
Murillo A Oldroyd
Francesco K Chui
Jefferson X Poquette
Sinclair I Garufi
Claire G Glick
Morrow X Campain
Clifford A Bolognia
Mayumi D Stenseth
Maria R Stenseth
Munro S Stockham
Adams V Perin
Salvatore T Glick
Emily U Wieser
Aruna Z Iturbide
Faith H Foller
Faith E Schemmer
Munro B Stenseth
Emily K Maclead
Leja X Flosi
Jeanfrancois G Slusarski
Izzy C Stockham
Claire Z Royster
Misaki K Caudy
Adams S Gaucho
IdCountryDate
1000Russia2024-06-04
1001Japan2024-06-15
1002Russia2024-06-17
1003Brazil2024-05-29
1004France2024-06-17
1005India2024-06-18
1006Brazil2024-06-15
1007Italy2024-06-07
1008Russia2024-05-25
1009Australia2024-05-28
1010Brazil2024-06-03
1011United Kingdom2024-05-25
1012United Kingdom2024-06-06
1013Japan2024-06-06
1014Australia2024-05-26
1015Japan2024-05-24
1016Russia2024-06-16
1017Italy2024-06-14
1018Australia2024-05-22
1019Germany2024-06-01
1020Germany2024-05-21
1021France2024-06-02
1022Australia2024-06-04
1023Russia2024-06-07
1024Russia2024-05-22
1025France2024-06-09
1026France2024-06-18
1027Italy2024-06-03
1028Canada2024-06-02
1029United Kingdom2024-06-17
1030Italy2024-05-21
1031France2024-06-06
1032Argentina2024-06-03
1033Australia2024-05-23
1034India2024-06-04
1035Germany2024-05-22
1036India2024-05-28
1037Germany2024-05-25
1038Italy2024-05-30
1039Canada2024-05-28
1040India2024-06-15
1041Germany2024-05-24
1042Japan2024-05-30
1043Germany2024-06-09
1044Argentina2024-05-22
1045Australia2024-06-17
1046France2024-06-07
1047India2024-06-06
1048Japan2024-06-12
1049Italy2024-06-08

On-Demand Data

NameIdCountryDate
Izzy S Bolognia1000India2024-06-05
Ricardo E Bowley1001Brazil2024-06-04
David Q Gaucho1002Argentina2024-05-29
Wickens V Stockham1003Canada2024-05-27
Kadeem E Stockham1004France2024-06-18
Kadeem J Darakjy1005Spain2024-06-11
Silvio V Bolognia1006Brazil2024-06-03
Leja C Waycott1007Italy2024-05-21
Cody E Stenseth1008Japan2024-06-02
Salvatore N Amigon1009France2024-05-28
Arvin C Butt1010Brazil2024-06-17
Tony H Albares1011Italy2024-06-08
Francesco K Foller1012United Kingdom2024-06-02
Jennifer P Bolognia1013Argentina2024-05-29
Clifford H Garufi1014Argentina2024-06-03
Maisha X Ostrosky1015Spain2024-06-01
Darci Q Campain1016Germany2024-05-26
Jones N Stenseth1017Germany2024-05-25
Leja C Nestle1018United Kingdom2024-05-31
Aruna O Waycott1019Spain2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo T KolmetzCanadaIoni Bowcher NEW
Mayumi A OstroskyArgentinaElwin Sharvill PROPOSAL
Leon U CampainGermanyElwin Sharvill NEGOTIATION
Johnson A MaletFranceBernardo Dominic NEW
Ashley U AlbaresRussiaOnyama Limba QUALIFIED
Aruna Z FigeroaUnited KingdomBernardo Dominic PROPOSAL
Aika R BowleyBrazilElwin Sharvill RENEWAL
Jones C ShinkoIndiaElwin Sharvill QUALIFIED
Nicolas H MacleadBrazilAsiya Javayant NEGOTIATION
Wickens O SergiCanadaAmy Elsner UNQUALIFIED
Sinclair C RulapaughJapanAmy Elsner PROPOSAL
Misaki X StockhamCanadaOnyama Limba UNQUALIFIED
Greenwood G RimJapanXuxue Feng NEW
Cody J AmigonCanadaAmy Elsner PROPOSAL
Aika V KuskoJapanAsiya Javayant NEW
Ivar S RutaCanadaAnna Fali UNQUALIFIED
Silvio H GillianFranceXuxue Feng PROPOSAL
Kaitlin B StensethItalyAnna Fali RENEWAL
Rodrigues C GlickArgentinaXuxue Feng NEW
Aditya K WhobreyItalyAmy Elsner UNQUALIFIED
Mujtaba V PoquetteRussiaAmy Elsner NEW
Smith W OstroskyBrazilAsiya Javayant UNQUALIFIED
Misaki B MarrierAustraliaStephen Shaw UNQUALIFIED
Adams Y WaycottCanadaBernardo Dominic UNQUALIFIED
Stacey C GlickSpainIoni Bowcher NEGOTIATION
Faith R AmigonArgentinaOnyama Limba PROPOSAL
James M VenereFranceIoni Bowcher PROPOSAL
Isabel A MaletCanadaBernardo Dominic NEGOTIATION
Deepesh R GlickUnited KingdomAnna Fali UNQUALIFIED
Octavia Z AmigonGermanyBernardo Dominic QUALIFIED
Francesco B DarakjyGermanyStephen Shaw UNQUALIFIED
Morrow X RulapaughJapanOnyama Limba NEW
Nicolas D OldroydItalyXuxue Feng UNQUALIFIED
Adams B GillianArgentinaAsiya Javayant PROPOSAL
Aika M OldroydAustraliaOnyama Limba PROPOSAL
Izzy C BologniaFranceIvan Magalhaes UNQUALIFIED
Ivar C MacleadUnited KingdomBernardo Dominic PROPOSAL
Jefferson F StensethBrazilIoni Bowcher QUALIFIED
Jennifer O PaprockiSpainAsiya Javayant QUALIFIED
Julie N WhobreyCanadaIoni Bowcher RENEWAL

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