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
Maria V InouyeJapanAnna Fali UNQUALIFIED
Munro A FlosiAustraliaStephen Shaw NEGOTIATION
Greenwood D VocelkaCanadaOnyama Limba QUALIFIED
Mayumi V WhobreyJapanIvan Magalhaes NEW
Antonio C AlbaresBrazilAmy Elsner UNQUALIFIED
Sinclair O MorascaAustraliaAsiya Javayant UNQUALIFIED
Claire Y KuskoSpainAmy Elsner QUALIFIED
Clifford W BriddickUnited KingdomBernardo Dominic PROPOSAL
Murillo U GarufiCanadaAnna Fali NEGOTIATION
Ivar M MaletRussiaIoni Bowcher PROPOSAL
Jefferson I MorascaIndiaStephen Shaw RENEWAL
Ricardo H MacleadGermanyIoni Bowcher RENEWAL
Kaitlin G GillianJapanStephen Shaw RENEWAL
Antonio T GarufiFranceStephen Shaw PROPOSAL
Misaki G BriddickIndiaElwin Sharvill UNQUALIFIED
Ricardo U WhobreyJapanXuxue Feng QUALIFIED
Claire E RoysterJapanAnna Fali PROPOSAL
Murillo I SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Izzy W CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues L SaylorsIndiaIoni Bowcher NEGOTIATION
Ashley H RutaItalyIoni Bowcher PROPOSAL
David E VenereGermanyXuxue Feng RENEWAL
David R FerenczRussiaElwin Sharvill RENEWAL
Jefferson X SaylorsBrazilIoni Bowcher NEW
Aruna J GarufiIndiaIvan Magalhaes PROPOSAL
Tony W PerinItalyAnna Fali NEGOTIATION
Emily W MorascaSpainIvan Magalhaes NEGOTIATION
Leja K SchemmerFranceElwin Sharvill PROPOSAL
Jefferson H FollerAustraliaIvan Magalhaes NEW
Maria O GlickBrazilXuxue Feng NEGOTIATION
Octavia O SlusarskiItalyAsiya Javayant QUALIFIED
Julie C SergiGermanyIoni Bowcher NEGOTIATION
Alejandro U InouyeItalyBernardo Dominic NEW
Silvio R FerenczGermanyElwin Sharvill UNQUALIFIED
Rodrigues E GarufiFranceXuxue Feng NEW
Leon Q KuskoJapanIvan Magalhaes UNQUALIFIED
Murillo Q StockhamFranceOnyama Limba UNQUALIFIED
Jeanfrancois Q MaletSpainOnyama Limba UNQUALIFIED
Wickens Y RimFranceAnna Fali QUALIFIED
Aika K IturbideArgentinaIoni Bowcher PROPOSAL
Mujtaba Z ShinkoItalyAmy Elsner PROPOSAL
Jennifer E GarufiBrazilIoni Bowcher NEW
Ivar U KuskoCanadaOnyama Limba RENEWAL
Johnson L RutaItalyIoni Bowcher QUALIFIED
Nicolas J InouyeBrazilXuxue Feng NEGOTIATION
Aika H FigeroaBrazilAnna Fali UNQUALIFIED
Emily D SchemmerGermanyAmy Elsner RENEWAL
Chavez G FlosiSpainElwin Sharvill NEGOTIATION
Aika A OldroydUnited KingdomOnyama Limba QUALIFIED
Arvin F AlbaresIndiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones A ButtSpainBernardo Dominic QUALIFIED
Murillo T PaprockiBrazilAsiya Javayant PROPOSAL
Octavia D TollnerBrazilStephen Shaw NEGOTIATION
Aditya F GillianSpainOnyama Limba UNQUALIFIED
Clifford T InouyeIndiaAmy Elsner NEGOTIATION
Adams M MacleadAustraliaAnna Fali QUALIFIED
Salvatore N CaudyRussiaElwin Sharvill PROPOSAL
Julie Y BologniaAustraliaElwin Sharvill RENEWAL
Nicolas N GillianItalyXuxue Feng PROPOSAL
Greenwood A GlickUnited KingdomIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey E StensethItaly2024-06-23Morlong Associates QUALIFIED65Ioni Bowcher
1001Greenwood V RutaRussia2024-06-12Chapman, Ross E Esq PROPOSAL58Ivan Magalhaes
1002David W GlickBrazil2024-05-27Printing Dimensions UNQUALIFIED46Stephen Shaw
1003Stacey X ChuiFrance2024-05-26Rangoni Of Florence NEW97Bernardo Dominic
1004Darci S RulapaughItaly2024-06-20Benton, John B Jr QUALIFIED7Anna Fali
1005Darci F PaprockiBrazil2024-06-05Morlong Associates QUALIFIED39Xuxue Feng
1006Ricardo G FollerArgentina2024-06-07Feiner Bros PROPOSAL90Onyama Limba
1007Darci L MaletSpain2024-06-20Feltz Printing Service PROPOSAL16Elwin Sharvill
1008David B AlbaresIndia2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED58Xuxue Feng
1009Smith N DarakjyFrance2024-06-07Rousseaux, Michael Esq NEW6Bernardo Dominic
1010Smith P VocelkaRussia2024-06-14Chemel, James L Cpa RENEWAL52Elwin Sharvill
1011Morrow H BriddickAustralia2024-05-30Rangoni Of Florence NEGOTIATION87Onyama Limba
1012Aika I BowleyRussia2024-06-11Truhlar And Truhlar Attys QUALIFIED79Stephen Shaw
1013Smith F BologniaFrance2024-05-27Chanay, Jeffrey A Esq NEW79Ivan Magalhaes
1014Octavia V GarufiItaly2024-06-17Feiner Bros QUALIFIED43Amy Elsner
1015Nicolas I NestleSpain2024-06-03Dorl, James J Esq NEGOTIATION5Amy Elsner
1016Ricardo Z OldroydCanada2024-06-02Printing Dimensions QUALIFIED86Stephen Shaw
1017Kadeem A DilliardSpain2024-05-27Chemel, James L Cpa RENEWAL44Onyama Limba
1018Darci V RimItaly2024-05-31Truhlar And Truhlar Attys NEW63Onyama Limba
1019Jones D MaletRussia2024-05-31King, Christopher A Esq NEW24Stephen Shaw
1020Maria T VocelkaAustralia2024-05-28Feiner Bros QUALIFIED38Asiya Javayant
1021Clifford I IturbideSpain2024-06-08Rousseaux, Michael Esq PROPOSAL86Ivan Magalhaes
1022Arvin M RimCanada2024-05-29Commercial Press NEGOTIATION84Ioni Bowcher
1023Ivar Q NestleJapan2024-06-02Feiner Bros PROPOSAL0Ivan Magalhaes
1024Ricardo W FerenczFrance2024-06-10Rousseaux, Michael Esq RENEWAL7Anna Fali
1025Emily P IturbideGermany2024-06-11Feltz Printing Service PROPOSAL53Onyama Limba
1026Sinclair I MacleadFrance2024-06-08Feiner Bros NEW5Onyama Limba
1027David G PaprockiSpain2024-06-12Feltz Printing Service UNQUALIFIED20Stephen Shaw
1028Leja Q SergiBrazil2024-05-26Benton, John B Jr PROPOSAL62Amy Elsner
1029Deepesh V WhobreyGermany2024-06-12Chanay, Jeffrey A Esq NEGOTIATION21Asiya Javayant
1030Ricardo X InouyeFrance2024-06-19King, Christopher A Esq PROPOSAL46Ivan Magalhaes
1031Sinclair I MacleadAustralia2024-06-03Printing Dimensions NEW2Amy Elsner
1032Maisha O WieserGermany2024-05-30Chemel, James L Cpa QUALIFIED33Asiya Javayant
1033Juan Q WieserUnited Kingdom2024-06-12Truhlar And Truhlar Attys NEW77Anna Fali
1034Johnson F KuskoBrazil2024-06-22Rangoni Of Florence NEW91Bernardo Dominic
1035Johnson X BowleyIndia2024-06-17Rangoni Of Florence QUALIFIED29Xuxue Feng
1036Mujtaba G KuskoGermany2024-06-05Buckley Miller Wright NEGOTIATION92Onyama Limba
1037Tony P VenereArgentina2024-06-04King, Christopher A Esq NEW29Asiya Javayant
1038Maisha K CampainArgentina2024-05-26Dorl, James J Esq NEGOTIATION93Onyama Limba
1039Jennifer O MacleadIndia2024-06-01Dorl, James J Esq NEW24Anna Fali
1040Cody I PoquetteAustralia2024-06-09Buckley Miller Wright NEW67Ivan Magalhaes
1041Costa N FerenczArgentina2024-06-03Rousseaux, Michael Esq PROPOSAL32Ioni Bowcher
1042Nicolas Q SergiJapan2024-05-31Rangoni Of Florence NEGOTIATION97Ivan Magalhaes
1043Morrow T PaprockiAustralia2024-05-29Rangoni Of Florence QUALIFIED46Elwin Sharvill
1044Antonio T MaletIndia2024-06-04Feiner Bros QUALIFIED86Onyama Limba
1045Alejandro N NestleJapan2024-05-29Printing Dimensions QUALIFIED63Anna Fali
1046Jeanfrancois W DarakjyItaly2024-05-26Truhlar And Truhlar Attys NEGOTIATION32Asiya Javayant
1047Munro C FlosiUnited Kingdom2024-05-25King, Christopher A Esq QUALIFIED43Bernardo Dominic
1048Kadeem H ShinkoSpain2024-06-22Rangoni Of Florence PROPOSAL47Xuxue Feng
1049Rodrigues O GillianRussia2024-06-10Rousseaux, Michael Esq RENEWAL59Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Faith N DilliardFranceOnyama Limba UNQUALIFIED
Aika O KuskoArgentinaIoni Bowcher NEGOTIATION
Maria Z MaletUnited KingdomStephen Shaw UNQUALIFIED
Maria B ButtJapanAmy Elsner RENEWAL
Johnson V WaycottIndiaIoni Bowcher NEGOTIATION
Aruna E BologniaSpainOnyama Limba NEW
Tony D OldroydFranceIoni Bowcher PROPOSAL
Murillo G PerinSpainIvan Magalhaes UNQUALIFIED
Greenwood M DoeItalyIvan Magalhaes NEGOTIATION
Antonio P WieserItalyAmy Elsner NEW
Darci O ButtCanadaIvan Magalhaes NEW
Claire G TollnerAustraliaStephen Shaw NEGOTIATION
Jeanfrancois S AmigonRussiaAnna Fali UNQUALIFIED
Deepesh Y SchemmerGermanyAmy Elsner UNQUALIFIED
Darci Q MaletIndiaXuxue Feng RENEWAL
Morrow D StensethArgentinaElwin Sharvill QUALIFIED
Ricardo W FollerGermanyAmy Elsner NEW
Rodrigues L NestleJapanXuxue Feng NEGOTIATION
Adams E RoysterUnited KingdomAsiya Javayant PROPOSAL
Cody R OstroskyArgentinaIoni Bowcher UNQUALIFIED
Clifford Q StensethArgentinaElwin Sharvill RENEWAL
Clifford A GauchoJapanElwin Sharvill RENEWAL
Jennifer Y BriddickFranceIvan Magalhaes PROPOSAL
Silvio A SaylorsGermanyStephen Shaw QUALIFIED
David V IturbideArgentinaBernardo Dominic QUALIFIED
Johnson J GauchoFranceAmy Elsner UNQUALIFIED
Arvin C BriddickBrazilStephen Shaw UNQUALIFIED
Chavez Z InouyeRussiaAmy Elsner RENEWAL
Mayumi P OldroydCanadaOnyama Limba UNQUALIFIED
Arvin U NickaBrazilAsiya Javayant NEW
Cody N TollnerUnited KingdomBernardo Dominic NEW
Aruna P MacleadJapanBernardo Dominic QUALIFIED
Sinclair H WhobreySpainOnyama Limba NEW
Silvio A ChuiGermanyStephen Shaw UNQUALIFIED
Jennifer Z OstroskyBrazilBernardo Dominic UNQUALIFIED
Jones M ShinkoRussiaOnyama Limba UNQUALIFIED
Jennifer M MacleadRussiaAnna Fali PROPOSAL
Antonio A GillianItalyIvan Magalhaes NEGOTIATION
Emily K VenereArgentinaIvan Magalhaes RENEWAL
Alejandro X RulapaughCanadaBernardo Dominic PROPOSAL
Faith N PaprockiItalyAmy Elsner PROPOSAL
Morrow P KolmetzUnited KingdomBernardo Dominic RENEWAL
Chavez A CaudyArgentinaAmy Elsner UNQUALIFIED
Alejandro G MorascaUnited KingdomAsiya Javayant QUALIFIED
Jennifer C GlickAustraliaAsiya Javayant UNQUALIFIED
Izzy I FollerUnited KingdomAsiya Javayant UNQUALIFIED
Johnson M MorascaIndiaStephen Shaw UNQUALIFIED
Ricardo N OldroydGermanyAmy Elsner RENEWAL
Jones K MacleadIndiaAnna Fali NEGOTIATION
Kadeem I MacleadIndiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Misaki L Marrier
Tony Q Flosi
Greenwood S Bowley
Arvin H Slusarski
Murillo K Kusko
Johnson L Slusarski
Smith P Chui
Julie S Wieser
Johnson I Chui
Aika N Campain
Ivar F Nicka
Kaitlin O Waycott
Morrow E Foller
Isabel N Poquette
Mujtaba B Paprocki
Maria E Rim
Cody P Sergi
Darci O Ostrosky
Morrow L Ferencz
Ivar T Nicka
Jeanfrancois K Nicka
Mujtaba O Stenseth
Juan M Whobrey
Antonio B Venere
Maisha W Wieser
Tony K Tollner
Aika R Paprocki
Maisha O Bolognia
Murillo Q Chui
Kadeem L Kolmetz
Clifford H Perin
Francesco D Iturbide
Costa T Garufi
Antonio L Dilliard
Tony S Gillian
James Y Bowley
David T Ruta
Izzy S Paprocki
Greenwood J Gaucho
Rodrigues W Wieser
Wickens M Figeroa
Emily O Slusarski
Rodrigues J Morasca
Tony C Kusko
Deepesh G Rulapaugh
Arvin Z Rulapaugh
Alejandro M Vocelka
Chavez E Malet
Adams E Vocelka
Rodrigues O Caldarera
IdCountryDate
1000Spain2024-06-19
1001Canada2024-06-10
1002Brazil2024-06-17
1003Germany2024-06-12
1004India2024-06-06
1005Japan2024-06-22
1006France2024-06-17
1007Canada2024-06-23
1008Canada2024-06-13
1009Australia2024-06-14
1010Canada2024-06-21
1011United Kingdom2024-05-25
1012France2024-06-13
1013Spain2024-06-08
1014Germany2024-05-30
1015Argentina2024-05-27
1016France2024-06-03
1017Canada2024-06-04
1018India2024-06-12
1019Brazil2024-05-26
1020Argentina2024-06-06
1021Argentina2024-06-14
1022Germany2024-06-12
1023Australia2024-05-29
1024Italy2024-06-12
1025United Kingdom2024-06-19
1026Japan2024-06-22
1027France2024-05-28
1028Russia2024-06-11
1029Germany2024-06-13
1030United Kingdom2024-06-22
1031Germany2024-06-10
1032India2024-06-02
1033Germany2024-06-09
1034Brazil2024-06-14
1035Russia2024-06-21
1036Brazil2024-05-25
1037Spain2024-06-21
1038Russia2024-06-05
1039Australia2024-06-07
1040Canada2024-06-20
1041Australia2024-06-18
1042Argentina2024-06-13
1043Germany2024-06-11
1044Argentina2024-05-30
1045Italy2024-06-11
1046Argentina2024-05-29
1047Germany2024-05-31
1048United Kingdom2024-06-21
1049Germany2024-06-15

On-Demand Data

NameIdCountryDate
Munro D Marrier1000Australia2024-05-26
Deepesh U Whobrey1001Canada2024-06-23
Aruna J Poquette1002Argentina2024-06-02
Francesco N Amigon1003Canada2024-06-06
Claire F Dilliard1004Argentina2024-05-30
Nicolas B Dilliard1005France2024-05-30
James F Ruta1006Japan2024-06-03
Isabel J Foller1007Brazil2024-06-05
Johnson G Ferencz1008Brazil2024-06-18
Cody R Nicka1009Italy2024-05-30
Silvio S Caudy1010Japan2024-06-06
David Q Ferencz1011Germany2024-06-06
Wickens D Schemmer1012Australia2024-06-09
Aika P Caldarera1013Russia2024-06-18
Kadeem F Doe1014Germany2024-06-15
Aika O Iturbide1015Spain2024-06-17
Misaki Z Ferencz1016Japan2024-05-29
Wickens V Schemmer1017United Kingdom2024-06-02
Aditya M Dilliard1018Russia2024-06-22
Julie Q Tollner1019France2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody J RutaBrazilXuxue Feng UNQUALIFIED
Antonio M FollerAustraliaIoni Bowcher QUALIFIED
Misaki B WieserItalyAmy Elsner NEGOTIATION
Munro O IturbideGermanyStephen Shaw PROPOSAL
Claire B MaletSpainOnyama Limba UNQUALIFIED
Johnson N ButtCanadaOnyama Limba UNQUALIFIED
Misaki N CampainArgentinaAsiya Javayant NEW
Costa S BologniaBrazilAsiya Javayant QUALIFIED
Murillo U ShinkoAustraliaAmy Elsner NEGOTIATION
Aruna C DarakjySpainElwin Sharvill RENEWAL
Antonio O PaprockiFranceElwin Sharvill NEW
David C MaletSpainElwin Sharvill NEGOTIATION
Jennifer Y MacleadArgentinaXuxue Feng RENEWAL
Adams U BowleyCanadaOnyama Limba UNQUALIFIED
Clifford J StensethFranceXuxue Feng NEGOTIATION
Arvin A NestleCanadaAnna Fali QUALIFIED
Morrow Z DilliardFranceStephen Shaw NEW
Emily Z CampainIndiaIoni Bowcher NEGOTIATION
Deepesh B GlickRussiaIvan Magalhaes PROPOSAL
Wickens X CaudyItalyAmy Elsner RENEWAL
Rodrigues N WhobreyCanadaOnyama Limba UNQUALIFIED
Octavia Z MorascaIndiaXuxue Feng QUALIFIED
David W GarufiArgentinaAsiya Javayant QUALIFIED
Silvio S PoquetteRussiaAsiya Javayant NEW
Arvin Y GarufiArgentinaStephen Shaw UNQUALIFIED
Arvin G BologniaItalyAmy Elsner NEGOTIATION
Mujtaba Y KuskoJapanStephen Shaw RENEWAL
Ashley O GillianJapanIvan Magalhaes QUALIFIED
Izzy I CaldareraRussiaAmy Elsner RENEWAL
Alejandro M ButtFranceAnna Fali QUALIFIED
Faith G SlusarskiFranceAmy Elsner UNQUALIFIED
Kaitlin Z MorascaRussiaBernardo Dominic PROPOSAL
Rodrigues I CampainBrazilAsiya Javayant RENEWAL
Tony D CampainItalyStephen Shaw NEGOTIATION
Aditya G DarakjySpainXuxue Feng RENEWAL
Costa K GillianGermanyXuxue Feng UNQUALIFIED
Maria U RulapaughUnited KingdomOnyama Limba PROPOSAL
Jennifer Y FigeroaItalyIvan Magalhaes UNQUALIFIED
Misaki L DilliardUnited KingdomStephen Shaw RENEWAL
Stacey E BologniaSpainOnyama Limba NEGOTIATION

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