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
Morrow Y RimFranceAmy Elsner NEGOTIATION
Francesco Z OldroydAustraliaAmy Elsner QUALIFIED
Ivar I BologniaBrazilIoni Bowcher UNQUALIFIED
Salvatore A GarufiItalyAnna Fali UNQUALIFIED
Wickens V DarakjyRussiaAsiya Javayant UNQUALIFIED
Antonio T DarakjyJapanIvan Magalhaes PROPOSAL
Morrow X GlickRussiaIoni Bowcher UNQUALIFIED
David E GlickBrazilAsiya Javayant QUALIFIED
Aruna B DoeJapanStephen Shaw NEGOTIATION
Aika Z DilliardArgentinaAmy Elsner RENEWAL
Jennifer Q FerenczUnited KingdomAsiya Javayant NEGOTIATION
Greenwood G DarakjyJapanAsiya Javayant NEGOTIATION
Smith D MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Sinclair M AmigonArgentinaAmy Elsner QUALIFIED
Clifford B AmigonItalyStephen Shaw NEW
Stacey S GarufiAustraliaAnna Fali NEGOTIATION
David V BriddickCanadaAmy Elsner NEGOTIATION
Izzy H IturbideCanadaXuxue Feng RENEWAL
Tony G PaprockiBrazilAmy Elsner QUALIFIED
Antonio U GlickFranceIvan Magalhaes RENEWAL
Izzy V RutaItalyOnyama Limba UNQUALIFIED
Aika W IturbideBrazilAmy Elsner NEW
Leon F FollerItalyXuxue Feng NEGOTIATION
Darci B CaudyFranceStephen Shaw PROPOSAL
Jefferson W IturbideItalyIoni Bowcher UNQUALIFIED
Mujtaba R AmigonIndiaStephen Shaw NEGOTIATION
Sinclair E FigeroaItalyAnna Fali NEGOTIATION
Nicolas S MarrierRussiaIoni Bowcher RENEWAL
Tony W RoysterRussiaOnyama Limba NEW
Julie I KolmetzItalyStephen Shaw UNQUALIFIED
David U NickaCanadaAsiya Javayant PROPOSAL
Johnson N StensethItalyStephen Shaw RENEWAL
Ivar W GlickCanadaAmy Elsner QUALIFIED
James E InouyeUnited KingdomAnna Fali NEGOTIATION
Alejandro J OldroydUnited KingdomAnna Fali PROPOSAL
Wickens F ChuiRussiaAsiya Javayant PROPOSAL
Jefferson V NickaFranceOnyama Limba NEW
Kadeem Y GlickSpainOnyama Limba QUALIFIED
Ricardo X StensethSpainIvan Magalhaes QUALIFIED
Izzy L CaudyAustraliaIvan Magalhaes RENEWAL
Greenwood H OldroydJapanAsiya Javayant QUALIFIED
Aika X OstroskyFranceIvan Magalhaes PROPOSAL
James F SlusarskiUnited KingdomStephen Shaw QUALIFIED
Mujtaba A AlbaresAustraliaElwin Sharvill RENEWAL
Ricardo S MorascaCanadaIoni Bowcher NEGOTIATION
Maisha L PerinRussiaXuxue Feng NEW
Izzy D InouyeCanadaXuxue Feng UNQUALIFIED
Claire K CampainRussiaIvan Magalhaes NEGOTIATION
Murillo V MacleadFranceAnna Fali UNQUALIFIED
Emily J AmigonAustraliaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith V VenereIndiaStephen Shaw NEGOTIATION
Stacey D NestleUnited KingdomAsiya Javayant QUALIFIED
Francesco Y PaprockiCanadaAnna Fali PROPOSAL
Ivar B SergiRussiaAsiya Javayant NEW
Smith T GillianBrazilOnyama Limba PROPOSAL
Aruna T NickaCanadaElwin Sharvill RENEWAL
Octavia F WhobreyIndiaOnyama Limba UNQUALIFIED
Mujtaba N NickaIndiaIoni Bowcher NEGOTIATION
Kaitlin K DilliardRussiaBernardo Dominic UNQUALIFIED
Maisha H PoquetteArgentinaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio Z NickaGermany2025-04-02Rousseaux, Michael Esq PROPOSAL6Onyama Limba
1001Ivar S OldroydJapan2025-04-11Rousseaux, Michael Esq UNQUALIFIED29Stephen Shaw
1002Chavez D ChuiGermany2025-04-14Dorl, James J Esq RENEWAL31Bernardo Dominic
1003Mayumi D WaycottBrazil2025-04-10Chanay, Jeffrey A Esq UNQUALIFIED57Bernardo Dominic
1004Leja D SchemmerBrazil2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED24Onyama Limba
1005Ashley V GarufiJapan2025-04-28Commercial Press QUALIFIED7Amy Elsner
1006Deepesh H FlosiSpain2025-04-22Printing Dimensions UNQUALIFIED92Ioni Bowcher
1007Morrow T RoysterAustralia2025-04-21Truhlar And Truhlar Attys QUALIFIED76Ioni Bowcher
1008Jennifer W CaldareraJapan2025-04-21Dorl, James J Esq PROPOSAL21Xuxue Feng
1009Leon C IturbideGermany2025-04-20Printing Dimensions NEGOTIATION34Ivan Magalhaes
1010Wickens F FerenczCanada2025-04-01Chemel, James L Cpa NEGOTIATION94Bernardo Dominic
1011Wickens C CampainRussia2025-04-23Rangoni Of Florence QUALIFIED45Anna Fali
1012Juan W IturbideJapan2025-04-20King, Christopher A Esq QUALIFIED77Onyama Limba
1013Jeanfrancois I IturbideSpain2025-04-08Feltz Printing Service PROPOSAL2Elwin Sharvill
1014Aditya E PaprockiCanada2025-04-25Benton, John B Jr NEGOTIATION45Stephen Shaw
1015Jones J StensethArgentina2025-04-28Commercial Press NEW16Asiya Javayant
1016Misaki M MacleadArgentina2025-04-26Chanay, Jeffrey A Esq UNQUALIFIED56Ioni Bowcher
1017Costa N ButtIndia2025-04-03Truhlar And Truhlar Attys PROPOSAL10Onyama Limba
1018David F PoquetteJapan2025-04-29Feiner Bros RENEWAL11Amy Elsner
1019James H RulapaughBrazil2025-04-10Buckley Miller Wright RENEWAL48Xuxue Feng
1020Aika F KolmetzGermany2025-04-17Chapman, Ross E Esq PROPOSAL83Amy Elsner
1021Chavez Z GlickItaly2025-04-15Printing Dimensions NEW41Bernardo Dominic
1022Mayumi W VocelkaSpain2025-04-12Feiner Bros RENEWAL92Bernardo Dominic
1023Mujtaba R SlusarskiFrance2025-04-27Morlong Associates NEW75Ioni Bowcher
1024Izzy M SergiIndia2025-04-17Commercial Press NEGOTIATION47Ioni Bowcher
1025Nicolas B RoysterGermany2025-04-08Benton, John B Jr NEW5Elwin Sharvill
1026Antonio X BriddickIndia2025-04-30Morlong Associates NEW93Xuxue Feng
1027Jones V GauchoGermany2025-04-19Buckley Miller Wright QUALIFIED21Onyama Limba
1028Wickens H FerenczSpain2025-04-06Feiner Bros PROPOSAL88Asiya Javayant
1029Ricardo U SchemmerJapan2025-04-29Buckley Miller Wright NEW22Stephen Shaw
1030Francesco B MarrierUnited Kingdom2025-04-16Rangoni Of Florence PROPOSAL51Ioni Bowcher
1031Stacey L PaprockiIndia2025-04-18Buckley Miller Wright UNQUALIFIED79Amy Elsner
1032Claire H CampainCanada2025-04-26Chapman, Ross E Esq NEGOTIATION86Amy Elsner
1033Alejandro V GarufiJapan2025-04-16Morlong Associates NEW97Xuxue Feng
1034Clifford T WhobreyCanada2025-04-24Printing Dimensions PROPOSAL39Asiya Javayant
1035Aika G RulapaughAustralia2025-04-18Rousseaux, Michael Esq QUALIFIED92Elwin Sharvill
1036Isabel R WaycottItaly2025-04-10Rangoni Of Florence QUALIFIED3Onyama Limba
1037Maisha A SergiArgentina2025-04-12King, Christopher A Esq QUALIFIED73Ioni Bowcher
1038Claire D WhobreyItaly2025-04-12Benton, John B Jr UNQUALIFIED53Stephen Shaw
1039Rodrigues H StockhamIndia2025-04-28Feiner Bros NEW2Amy Elsner
1040Aditya D BriddickCanada2025-04-07Rousseaux, Michael Esq NEW34Stephen Shaw
1041Ricardo O VenereGermany2025-04-05Printing Dimensions NEW84Ioni Bowcher
1042Silvio S RoysterJapan2025-04-23Rangoni Of Florence QUALIFIED19Amy Elsner
1043Faith G OldroydUnited Kingdom2025-04-10Benton, John B Jr QUALIFIED66Onyama Limba
1044Jefferson U BologniaBrazil2025-04-05Buckley Miller Wright UNQUALIFIED11Ioni Bowcher
1045Kaitlin E GauchoGermany2025-04-26Rangoni Of Florence NEGOTIATION8Bernardo Dominic
1046Wickens X FlosiBrazil2025-04-22Rangoni Of Florence QUALIFIED73Bernardo Dominic
1047Sinclair C DarakjyBrazil2025-04-11Morlong Associates NEGOTIATION35Asiya Javayant
1048Isabel N SaylorsJapan2025-04-09King, Christopher A Esq RENEWAL10Amy Elsner
1049Nicolas G MaletSpain2025-04-24King, Christopher A Esq RENEWAL92Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maria Z CaudyItalyIvan Magalhaes NEGOTIATION
Greenwood C RutaIndiaXuxue Feng RENEWAL
Morrow S FigeroaItalyXuxue Feng PROPOSAL
Emily D RutaJapanBernardo Dominic NEGOTIATION
Morrow S GillianJapanXuxue Feng NEGOTIATION
Leon A DoeSpainXuxue Feng RENEWAL
David P ShinkoArgentinaAnna Fali PROPOSAL
Claire U GlickRussiaXuxue Feng QUALIFIED
Rodrigues V GarufiAustraliaIvan Magalhaes RENEWAL
Maisha T ButtCanadaIoni Bowcher PROPOSAL
Aditya D WieserArgentinaIvan Magalhaes PROPOSAL
Alejandro R GarufiRussiaBernardo Dominic PROPOSAL
Maisha R FigeroaItalyIoni Bowcher PROPOSAL
Arvin B OstroskyArgentinaXuxue Feng NEW
Ivar M MaletCanadaBernardo Dominic UNQUALIFIED
Murillo X RimAustraliaIvan Magalhaes UNQUALIFIED
Leja P WieserBrazilElwin Sharvill QUALIFIED
Jones B DoeBrazilAsiya Javayant PROPOSAL
Aditya O MarrierRussiaAmy Elsner PROPOSAL
Julie I MarrierBrazilOnyama Limba QUALIFIED
Izzy V BologniaCanadaXuxue Feng NEGOTIATION
Antonio V MaletCanadaBernardo Dominic QUALIFIED
Munro Z ChuiItalyAnna Fali UNQUALIFIED
Stacey Y SlusarskiGermanyXuxue Feng QUALIFIED
Jennifer A FlosiRussiaAsiya Javayant PROPOSAL
Nicolas X PerinIndiaAmy Elsner PROPOSAL
Julie R GauchoCanadaStephen Shaw NEGOTIATION
Johnson H GauchoBrazilOnyama Limba UNQUALIFIED
Misaki Y CaudyGermanyXuxue Feng PROPOSAL
Kadeem V ShinkoCanadaBernardo Dominic NEW
Munro D ChuiGermanyOnyama Limba UNQUALIFIED
Deepesh F FollerSpainIvan Magalhaes NEGOTIATION
Greenwood J InouyeIndiaAnna Fali UNQUALIFIED
Salvatore W RimBrazilXuxue Feng RENEWAL
Wickens K NickaJapanAmy Elsner QUALIFIED
Kaitlin I NestleUnited KingdomIoni Bowcher UNQUALIFIED
Faith O MaletJapanBernardo Dominic NEGOTIATION
Alejandro N ChuiBrazilStephen Shaw UNQUALIFIED
Munro H WhobreyAustraliaAmy Elsner PROPOSAL
Mujtaba F FlosiBrazilOnyama Limba PROPOSAL
Isabel C AmigonIndiaIoni Bowcher NEGOTIATION
Mayumi H ButtSpainAnna Fali NEW
Emily W SaylorsGermanyElwin Sharvill NEW
Silvio U FlosiCanadaBernardo Dominic NEGOTIATION
Jefferson I NestleRussiaBernardo Dominic UNQUALIFIED
Deepesh A GauchoBrazilIvan Magalhaes UNQUALIFIED
Faith M VenereUnited KingdomStephen Shaw RENEWAL
Leon G RulapaughItalyOnyama Limba QUALIFIED
Claire I DarakjyBrazilBernardo Dominic PROPOSAL
Silvio M CaldareraFranceOnyama Limba UNQUALIFIED
Frozen Columns
Name
Octavia B Glick
Kaitlin Y Rulapaugh
Alejandro A Campain
Jennifer E Nestle
Francesco T Gaucho
Jefferson R Amigon
Jeanfrancois P Schemmer
Tony I Stockham
Francesco P Figeroa
Maria V Maclead
Aruna W Royster
Arvin R Kolmetz
Misaki W Slusarski
Leja J Briddick
Francesco C Royster
Chavez D Venere
Faith T Poquette
Munro H Perin
Maria Z Albares
Darci N Chui
Maisha H Nicka
Isabel S Butt
Maisha L Saylors
Adams T Ostrosky
Julie Y Royster
Claire I Gillian
Kaitlin X Caudy
Stacey K Darakjy
Johnson H Morasca
James N Perin
Izzy U Butt
Cody Y Ostrosky
Kadeem T Schemmer
Juan F Venere
Octavia B Flosi
Munro L Whobrey
Maria C Iturbide
Maria U Malet
Johnson R Whobrey
Rodrigues L Rulapaugh
Johnson D Venere
Rodrigues W Maclead
Sinclair X Iturbide
Clifford E Figeroa
Murillo G Figeroa
Jennifer R Inouye
Octavia S Kusko
Juan P Amigon
Francesco U Figeroa
Sinclair U Malet
IdCountryDate
1000Canada2025-04-25
1001Italy2025-04-18
1002Canada2025-04-30
1003Russia2025-04-26
1004Italy2025-04-05
1005Canada2025-04-13
1006Argentina2025-04-20
1007France2025-04-05
1008Italy2025-04-26
1009Germany2025-04-01
1010Japan2025-04-14
1011France2025-04-20
1012Russia2025-04-05
1013Australia2025-04-10
1014Canada2025-04-29
1015Canada2025-04-06
1016Russia2025-04-15
1017Germany2025-04-22
1018Japan2025-04-25
1019France2025-04-21
1020Japan2025-04-08
1021United Kingdom2025-04-03
1022Canada2025-04-25
1023Spain2025-04-15
1024United Kingdom2025-04-21
1025Australia2025-04-07
1026United Kingdom2025-04-21
1027Japan2025-04-13
1028Brazil2025-04-08
1029India2025-04-29
1030France2025-04-03
1031Spain2025-04-12
1032India2025-04-10
1033Argentina2025-04-19
1034Australia2025-04-11
1035France2025-04-12
1036Australia2025-04-17
1037Australia2025-04-15
1038Russia2025-04-03
1039Italy2025-04-19
1040Russia2025-04-02
1041Spain2025-04-21
1042Canada2025-04-27
1043France2025-04-26
1044Russia2025-04-09
1045Germany2025-04-17
1046Canada2025-04-03
1047India2025-04-28
1048Germany2025-04-08
1049India2025-04-05

On-Demand Data

NameIdCountryDate
Sinclair P Morasca1000France2025-04-27
Julie L Kusko1001India2025-04-17
Darci N Ferencz1002Brazil2025-04-01
Jefferson H Bolognia1003Russia2025-04-08
Clifford T Albares1004Germany2025-04-03
Faith V Stenseth1005United Kingdom2025-04-07
Silvio T Morasca1006India2025-04-25
Alejandro B Venere1007Spain2025-04-01
Maria D Flosi1008Argentina2025-04-24
Julie G Royster1009India2025-04-26
James N Paprocki1010Italy2025-04-28
Maisha Y Iturbide1011Spain2025-04-19
Clifford F Caudy1012United Kingdom2025-04-09
Munro Q Bolognia1013United Kingdom2025-04-01
Julie R Royster1014India2025-04-18
Jefferson X Sergi1015Canada2025-04-01
Aika Y Ferencz1016France2025-04-30
Sinclair B Malet1017Japan2025-04-03
Adams O Campain1018Argentina2025-04-08
Cody C Waycott1019Germany2025-04-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo O FigeroaCanadaAnna Fali RENEWAL
Greenwood M StensethItalyElwin Sharvill QUALIFIED
Darci X BriddickSpainAnna Fali UNQUALIFIED
Aruna P KolmetzFranceElwin Sharvill NEGOTIATION
Juan J SlusarskiJapanAsiya Javayant PROPOSAL
Claire L NestleAustraliaIoni Bowcher NEW
Antonio W RulapaughGermanyAsiya Javayant PROPOSAL
Jennifer G RutaArgentinaAmy Elsner QUALIFIED
Leon D OstroskySpainIoni Bowcher UNQUALIFIED
Leja R MacleadRussiaElwin Sharvill NEGOTIATION
Chavez P CaudyArgentinaIoni Bowcher NEW
Ivar W SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Juan D RulapaughCanadaOnyama Limba NEGOTIATION
Kaitlin W BologniaGermanyAmy Elsner NEGOTIATION
Ricardo I WhobreyIndiaIvan Magalhaes RENEWAL
Juan J MaletIndiaAmy Elsner NEW
Silvio X AlbaresItalyStephen Shaw UNQUALIFIED
Leja Z MorascaCanadaOnyama Limba NEW
Smith N FollerRussiaBernardo Dominic NEW
Alejandro V SchemmerItalyBernardo Dominic QUALIFIED
Mayumi L VocelkaGermanyElwin Sharvill NEGOTIATION
Arvin D MarrierArgentinaIoni Bowcher RENEWAL
Izzy Q GarufiAustraliaAmy Elsner QUALIFIED
Johnson H OstroskyJapanBernardo Dominic UNQUALIFIED
Juan W GillianBrazilIvan Magalhaes UNQUALIFIED
Aruna N TollnerFranceIvan Magalhaes NEW
Wickens D RimUnited KingdomXuxue Feng NEW
Clifford U FigeroaGermanyXuxue Feng NEW
Nicolas Y ShinkoJapanBernardo Dominic QUALIFIED
Smith Z TollnerFranceXuxue Feng UNQUALIFIED
Leon V FigeroaBrazilIoni Bowcher QUALIFIED
Maisha W WaycottJapanXuxue Feng NEGOTIATION
Sinclair M MaletSpainOnyama Limba RENEWAL
Clifford A WhobreyBrazilAmy Elsner RENEWAL
Kaitlin J ButtAustraliaStephen Shaw RENEWAL
Francesco K FollerItalyIoni Bowcher QUALIFIED
Emily D IturbideIndiaBernardo Dominic PROPOSAL
Tony L FigeroaJapanAsiya Javayant PROPOSAL
Kadeem U InouyeItalyXuxue Feng QUALIFIED
Nicolas Q InouyeArgentinaOnyama Limba 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>