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 X StensethJapanXuxue Feng NEGOTIATION
Ricardo S BologniaItalyAnna Fali NEW
David Z KolmetzBrazilAnna Fali NEW
Maria G TollnerRussiaOnyama Limba RENEWAL
Juan Z NestleRussiaBernardo Dominic PROPOSAL
James P CampainCanadaBernardo Dominic PROPOSAL
Arvin H MaletFranceIvan Magalhaes NEGOTIATION
Misaki Z BriddickIndiaAnna Fali RENEWAL
Tony L PerinItalyStephen Shaw NEGOTIATION
Emily X RutaCanadaElwin Sharvill NEGOTIATION
Ricardo J MarrierGermanyElwin Sharvill UNQUALIFIED
Aditya R MaletGermanyStephen Shaw NEGOTIATION
Ashley I KuskoArgentinaStephen Shaw RENEWAL
Deepesh P MarrierFranceBernardo Dominic UNQUALIFIED
Johnson X GauchoUnited KingdomBernardo Dominic PROPOSAL
Leon K PerinBrazilElwin Sharvill NEW
Mayumi G WieserGermanyStephen Shaw PROPOSAL
Murillo M BriddickArgentinaXuxue Feng NEW
Jones A RimBrazilStephen Shaw UNQUALIFIED
Aditya E WaycottGermanyOnyama Limba RENEWAL
Jeanfrancois L BriddickUnited KingdomOnyama Limba PROPOSAL
Emily H DarakjyItalyAsiya Javayant NEGOTIATION
Jennifer C OldroydIndiaAsiya Javayant NEGOTIATION
Jennifer L FigeroaSpainElwin Sharvill PROPOSAL
Greenwood Y SchemmerSpainIoni Bowcher RENEWAL
Isabel E VenereItalyStephen Shaw RENEWAL
Salvatore X MarrierIndiaElwin Sharvill QUALIFIED
Silvio O ChuiCanadaAsiya Javayant UNQUALIFIED
Johnson V BowleyItalyBernardo Dominic NEGOTIATION
Kaitlin Z CaudyRussiaIvan Magalhaes UNQUALIFIED
Clifford N StockhamRussiaAmy Elsner RENEWAL
Costa F NestleIndiaIoni Bowcher RENEWAL
Francesco T RulapaughFranceAsiya Javayant PROPOSAL
Munro I MaletGermanyIvan Magalhaes PROPOSAL
Munro F PerinItalyAmy Elsner PROPOSAL
Rodrigues Z StockhamBrazilAnna Fali NEW
Ashley V KuskoFranceXuxue Feng RENEWAL
Isabel T MaletRussiaIoni Bowcher UNQUALIFIED
Darci V BowleyCanadaStephen Shaw NEW
Darci C CampainJapanXuxue Feng PROPOSAL
Stacey R BriddickCanadaXuxue Feng NEW
Munro L WaycottBrazilStephen Shaw NEGOTIATION
Rodrigues U MacleadAustraliaXuxue Feng UNQUALIFIED
Wickens Q RimArgentinaAmy Elsner RENEWAL
Faith J OstroskyUnited KingdomOnyama Limba RENEWAL
Johnson J VenereRussiaAnna Fali RENEWAL
Claire G StensethAustraliaXuxue Feng RENEWAL
Kaitlin D ButtRussiaAmy Elsner PROPOSAL
Aditya E DoeArgentinaAsiya Javayant PROPOSAL
Arvin U SlusarskiCanadaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Cody N FerenczSpainBernardo Dominic UNQUALIFIED
Juan S SchemmerUnited KingdomAmy Elsner QUALIFIED
Leja I MaletBrazilAmy Elsner UNQUALIFIED
David B MarrierUnited KingdomStephen Shaw QUALIFIED
Tony S GarufiArgentinaIvan Magalhaes UNQUALIFIED
Costa L StockhamArgentinaElwin Sharvill NEGOTIATION
Kadeem K SergiRussiaAnna Fali NEGOTIATION
Jeanfrancois Q InouyeRussiaElwin Sharvill NEW
Aika C BowleySpainAmy Elsner NEW
Aditya Y PerinIndiaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford M IturbideCanada2024-06-08Feltz Printing Service QUALIFIED98Bernardo Dominic
1001Aika L FollerItaly2024-06-11Feltz Printing Service QUALIFIED82Anna Fali
1002Deepesh G DarakjyAustralia2024-06-22Feiner Bros RENEWAL69Onyama Limba
1003Silvio H SergiItaly2024-06-13Chapman, Ross E Esq QUALIFIED58Ivan Magalhaes
1004Aditya O AmigonCanada2024-06-24Morlong Associates PROPOSAL43Xuxue Feng
1005Juan T SchemmerRussia2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED14Ivan Magalhaes
1006Antonio P CaudyGermany2024-06-15Benton, John B Jr QUALIFIED8Elwin Sharvill
1007Isabel V AlbaresCanada2024-06-20King, Christopher A Esq UNQUALIFIED7Onyama Limba
1008Chavez M PoquetteCanada2024-06-23Rousseaux, Michael Esq RENEWAL68Stephen Shaw
1009Aika W ChuiJapan2024-06-11Feiner Bros PROPOSAL29Ioni Bowcher
1010Faith S FigeroaUnited Kingdom2024-06-20Truhlar And Truhlar Attys PROPOSAL47Stephen Shaw
1011Julie N CaudyUnited Kingdom2024-06-21Benton, John B Jr UNQUALIFIED54Bernardo Dominic
1012Sinclair M BriddickSpain2024-05-31Truhlar And Truhlar Attys PROPOSAL19Elwin Sharvill
1013Maisha E OstroskyRussia2024-06-15Chapman, Ross E Esq QUALIFIED77Onyama Limba
1014Salvatore J SchemmerGermany2024-06-10Printing Dimensions PROPOSAL21Ioni Bowcher
1015Faith L StockhamIndia2024-06-11Feltz Printing Service PROPOSAL81Stephen Shaw
1016Tony N GillianAustralia2024-06-06Truhlar And Truhlar Attys RENEWAL83Ivan Magalhaes
1017Rodrigues Q SaylorsCanada2024-06-18Chemel, James L Cpa QUALIFIED51Ioni Bowcher
1018Morrow D AlbaresAustralia2024-06-08Dorl, James J Esq QUALIFIED7Ivan Magalhaes
1019Cody T WaycottGermany2024-06-12Feltz Printing Service NEGOTIATION24Asiya Javayant
1020Aika S DarakjyGermany2024-06-01Printing Dimensions NEGOTIATION13Asiya Javayant
1021Kaitlin G GlickJapan2024-05-26King, Christopher A Esq UNQUALIFIED46Asiya Javayant
1022Clifford B GillianSpain2024-06-18Commercial Press PROPOSAL76Bernardo Dominic
1023Smith O DoeItaly2024-06-23Feiner Bros NEGOTIATION81Xuxue Feng
1024Jefferson H MaletAustralia2024-06-18Morlong Associates PROPOSAL27Xuxue Feng
1025Claire H VenereItaly2024-06-23Benton, John B Jr PROPOSAL72Onyama Limba
1026Jeanfrancois T StensethRussia2024-06-13King, Christopher A Esq QUALIFIED82Elwin Sharvill
1027Tony M CaldareraAustralia2024-06-02Chemel, James L Cpa UNQUALIFIED98Amy Elsner
1028Clifford X WieserCanada2024-06-12Feiner Bros PROPOSAL39Amy Elsner
1029Nicolas A OldroydSpain2024-06-13King, Christopher A Esq UNQUALIFIED83Bernardo Dominic
1030Tony X RulapaughRussia2024-06-19Buckley Miller Wright QUALIFIED81Asiya Javayant
1031Aruna R SaylorsArgentina2024-06-05Commercial Press NEGOTIATION39Anna Fali
1032Mujtaba T IturbideItaly2024-06-22Rousseaux, Michael Esq RENEWAL45Elwin Sharvill
1033Ivar R WieserGermany2024-06-07Rangoni Of Florence NEW13Amy Elsner
1034James H VenereBrazil2024-05-26Benton, John B Jr NEGOTIATION62Ivan Magalhaes
1035Mayumi A DoeIndia2024-06-23Benton, John B Jr NEGOTIATION56Ivan Magalhaes
1036Julie U KolmetzJapan2024-06-17Rousseaux, Michael Esq NEW83Stephen Shaw
1037Costa D WhobreyUnited Kingdom2024-06-10Dorl, James J Esq QUALIFIED69Elwin Sharvill
1038Kadeem U MarrierCanada2024-06-09Printing Dimensions NEW80Asiya Javayant
1039Ricardo K ChuiItaly2024-06-16Dorl, James J Esq NEGOTIATION41Ioni Bowcher
1040Johnson Q CampainBrazil2024-06-13Dorl, James J Esq PROPOSAL77Onyama Limba
1041Jennifer M InouyeItaly2024-06-01Benton, John B Jr PROPOSAL95Stephen Shaw
1042Aika D WaycottGermany2024-06-19Chemel, James L Cpa QUALIFIED17Ivan Magalhaes
1043Emily I ButtCanada2024-05-30Truhlar And Truhlar Attys RENEWAL22Xuxue Feng
1044Francesco S VenereFrance2024-06-24Commercial Press NEGOTIATION98Ivan Magalhaes
1045Tony A KolmetzJapan2024-05-26Morlong Associates NEW7Elwin Sharvill
1046Octavia X NickaCanada2024-06-10Chemel, James L Cpa PROPOSAL64Xuxue Feng
1047Kadeem N MaletGermany2024-06-21Morlong Associates PROPOSAL71Asiya Javayant
1048Arvin D StockhamJapan2024-06-04Rousseaux, Michael Esq RENEWAL42Asiya Javayant
1049Aruna R MaletAustralia2024-06-20Buckley Miller Wright PROPOSAL32Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Chavez O CaldareraGermanyIoni Bowcher QUALIFIED
Smith Q InouyeGermanyAmy Elsner NEGOTIATION
Juan O VocelkaBrazilIoni Bowcher RENEWAL
Munro D PoquetteIndiaStephen Shaw NEW
Aditya S ButtIndiaBernardo Dominic NEW
Jefferson J BowleyArgentinaIoni Bowcher NEW
Francesco F DarakjyUnited KingdomOnyama Limba UNQUALIFIED
Ricardo O ButtArgentinaIoni Bowcher PROPOSAL
Mayumi H OldroydBrazilAnna Fali NEW
Claire B BriddickSpainAmy Elsner RENEWAL
Silvio N TollnerSpainOnyama Limba QUALIFIED
Claire T RoysterFranceAmy Elsner UNQUALIFIED
Greenwood Z GarufiBrazilStephen Shaw UNQUALIFIED
Darci Y PoquetteArgentinaIvan Magalhaes NEGOTIATION
Mujtaba G FlosiIndiaStephen Shaw UNQUALIFIED
David B AmigonAustraliaStephen Shaw QUALIFIED
Ricardo S InouyeCanadaIoni Bowcher PROPOSAL
Francesco U FlosiIndiaIoni Bowcher UNQUALIFIED
Izzy L StensethAustraliaXuxue Feng PROPOSAL
Isabel F OstroskyGermanyAsiya Javayant NEW
James O SaylorsBrazilIvan Magalhaes NEGOTIATION
Ashley Z ShinkoUnited KingdomIoni Bowcher NEW
Mujtaba F BowleyRussiaAmy Elsner UNQUALIFIED
Adams H RimCanadaIoni Bowcher NEGOTIATION
James Q IturbideUnited KingdomAsiya Javayant PROPOSAL
Morrow T KolmetzIndiaIoni Bowcher QUALIFIED
Darci K BologniaCanadaBernardo Dominic RENEWAL
Aika M MaletRussiaIoni Bowcher QUALIFIED
Alejandro Z InouyeItalyAnna Fali PROPOSAL
Adams F AmigonSpainIoni Bowcher RENEWAL
Leja U GauchoJapanAsiya Javayant RENEWAL
Antonio P KolmetzGermanyOnyama Limba QUALIFIED
Murillo R MaletJapanElwin Sharvill PROPOSAL
Sinclair X AlbaresIndiaOnyama Limba PROPOSAL
Tony R VocelkaUnited KingdomAmy Elsner NEW
Deepesh L StockhamCanadaStephen Shaw PROPOSAL
Izzy Q FigeroaJapanXuxue Feng NEGOTIATION
Greenwood H WieserRussiaElwin Sharvill RENEWAL
Adams Y GlickAustraliaIoni Bowcher NEGOTIATION
Ivar U SlusarskiItalyIvan Magalhaes QUALIFIED
Silvio G SergiAustraliaAsiya Javayant NEW
Juan L MarrierIndiaIvan Magalhaes RENEWAL
Kadeem R IturbideIndiaAsiya Javayant UNQUALIFIED
Ashley Z WaycottAustraliaStephen Shaw QUALIFIED
David M VenereFranceAsiya Javayant QUALIFIED
Jennifer U CaudyBrazilXuxue Feng RENEWAL
Johnson S InouyeGermanyOnyama Limba UNQUALIFIED
Leja A PerinJapanXuxue Feng QUALIFIED
Greenwood I CaldareraArgentinaBernardo Dominic NEW
Juan C RoysterCanadaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Emily B Wieser
Francesco S Whobrey
Munro N Darakjy
Adams P Perin
Costa K Maclead
Tony S Stenseth
Greenwood P Saylors
Juan B Tollner
Ricardo Z Caldarera
Isabel S Butt
Munro B Butt
Jefferson V Amigon
Munro A Stockham
Francesco T Caudy
Claire S Doe
Francesco O Slusarski
Greenwood K Briddick
Silvio P Briddick
Deepesh U Oldroyd
Clifford Q Ostrosky
Kaitlin F Wieser
Isabel W Gaucho
Maisha Q Gaucho
Chavez F Slusarski
Jennifer S Marrier
Izzy G Venere
Jennifer Q Malet
Greenwood Q Kusko
Kadeem O Poquette
Wickens S Ostrosky
Clifford Y Rim
Arvin P Gaucho
Stacey C Bowley
Maria X Campain
Cody R Amigon
Stacey R Dilliard
Maria M Vocelka
Emily S Whobrey
Darci N Nestle
Francesco Z Bolognia
Cody W Wieser
Isabel N Glick
Maisha N Sergi
Smith A Oldroyd
Jefferson M Butt
Sinclair O Waycott
Leja W Saylors
Leja B Venere
Aditya N Caudy
Munro R Marrier
IdCountryDate
1000Italy2024-06-05
1001Russia2024-06-12
1002India2024-06-03
1003Argentina2024-06-19
1004Japan2024-06-15
1005France2024-06-09
1006Australia2024-06-16
1007Spain2024-05-31
1008United Kingdom2024-06-20
1009Argentina2024-05-31
1010Australia2024-05-31
1011Italy2024-05-28
1012India2024-06-15
1013Australia2024-06-17
1014Argentina2024-06-06
1015United Kingdom2024-06-04
1016Brazil2024-05-27
1017Argentina2024-06-23
1018Canada2024-06-09
1019Argentina2024-06-15
1020Germany2024-06-09
1021Brazil2024-06-03
1022Japan2024-06-10
1023France2024-06-11
1024France2024-06-18
1025Canada2024-06-08
1026Brazil2024-06-13
1027France2024-06-04
1028United Kingdom2024-05-31
1029France2024-06-24
1030United Kingdom2024-06-04
1031Australia2024-06-04
1032Canada2024-06-10
1033Germany2024-06-15
1034India2024-05-28
1035Brazil2024-06-10
1036India2024-05-28
1037United Kingdom2024-05-29
1038India2024-05-27
1039India2024-05-27
1040Germany2024-05-26
1041Japan2024-05-27
1042India2024-06-23
1043Argentina2024-06-23
1044Italy2024-06-20
1045Australia2024-06-07
1046Australia2024-06-10
1047Canada2024-06-12
1048Brazil2024-06-17
1049Spain2024-05-29

On-Demand Data

NameIdCountryDate
Adams I Venere1000Canada2024-05-29
Izzy Y Amigon1001Spain2024-06-12
Stacey R Saylors1002France2024-05-31
Octavia L Ostrosky1003Italy2024-06-14
Francesco O Whobrey1004France2024-06-20
Jefferson N Doe1005Russia2024-06-15
Emily K Saylors1006United Kingdom2024-06-13
Maisha W Slusarski1007United Kingdom2024-06-09
Julie B Doe1008Brazil2024-06-10
Juan I Darakjy1009Japan2024-06-06
Wickens G Shinko1010Germany2024-06-22
Claire Q Morasca1011Germany2024-05-30
Chavez J Malet1012United Kingdom2024-05-27
Rodrigues H Schemmer1013India2024-05-27
Jennifer D Rim1014Canada2024-06-19
Juan F Doe1015Australia2024-06-15
Leja D Ruta1016Spain2024-05-27
Jeanfrancois X Bolognia1017Italy2024-05-27
Octavia A Briddick1018Italy2024-06-05
Sinclair O Saylors1019United Kingdom2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair P GarufiSpainIoni Bowcher QUALIFIED
Alejandro U SergiItalyIoni Bowcher NEGOTIATION
Darci O DilliardAustraliaOnyama Limba PROPOSAL
Julie U GauchoIndiaElwin Sharvill PROPOSAL
Misaki P MarrierBrazilStephen Shaw RENEWAL
Francesco Y FigeroaSpainIoni Bowcher PROPOSAL
Francesco J IturbideArgentinaXuxue Feng UNQUALIFIED
Ivar L BologniaCanadaAsiya Javayant RENEWAL
Juan S IturbideIndiaXuxue Feng PROPOSAL
Octavia B GillianJapanXuxue Feng RENEWAL
Sinclair O NickaJapanAmy Elsner UNQUALIFIED
Aika P RulapaughCanadaElwin Sharvill UNQUALIFIED
Francesco B DilliardItalyBernardo Dominic RENEWAL
Mayumi D KuskoJapanStephen Shaw QUALIFIED
Cody K MorascaRussiaIoni Bowcher NEGOTIATION
Johnson E WieserFranceOnyama Limba RENEWAL
Ivar G SergiRussiaBernardo Dominic PROPOSAL
Ivar C StockhamCanadaIvan Magalhaes PROPOSAL
Stacey E GauchoBrazilAsiya Javayant RENEWAL
Ivar G NickaRussiaIvan Magalhaes PROPOSAL
Jeanfrancois X GarufiUnited KingdomIoni Bowcher RENEWAL
Mujtaba V CaudyFranceIoni Bowcher UNQUALIFIED
Murillo F ButtIndiaStephen Shaw UNQUALIFIED
Johnson B KuskoAustraliaIvan Magalhaes NEW
David U ButtCanadaBernardo Dominic NEW
Jeanfrancois X WhobreyItalyAnna Fali NEW
James W StockhamCanadaStephen Shaw PROPOSAL
Arvin R VocelkaAustraliaIoni Bowcher PROPOSAL
Arvin S MacleadIndiaIoni Bowcher NEGOTIATION
Johnson D SergiBrazilAmy Elsner UNQUALIFIED
Julie Y BologniaAustraliaAsiya Javayant UNQUALIFIED
Cody I CampainFranceElwin Sharvill NEGOTIATION
Rodrigues B ShinkoJapanAnna Fali QUALIFIED
Antonio T FerenczIndiaOnyama Limba UNQUALIFIED
Chavez S WhobreyItalyAmy Elsner NEGOTIATION
Tony F ShinkoIndiaOnyama Limba NEGOTIATION
Greenwood E NestleIndiaAmy Elsner PROPOSAL
Ivar H FlosiCanadaIvan Magalhaes PROPOSAL
Wickens M ShinkoSpainBernardo Dominic RENEWAL
Jones A VocelkaArgentinaXuxue Feng 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>