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
Izzy G FigeroaSpainAsiya Javayant RENEWAL
Costa J MaletArgentinaOnyama Limba PROPOSAL
Salvatore M BologniaBrazilAnna Fali RENEWAL
Cody P ShinkoArgentinaBernardo Dominic UNQUALIFIED
Darci L DilliardAustraliaAmy Elsner NEGOTIATION
Greenwood D SlusarskiItalyOnyama Limba PROPOSAL
Silvio L MarrierSpainIvan Magalhaes QUALIFIED
Johnson Z GarufiGermanyOnyama Limba QUALIFIED
Kadeem A RoysterJapanElwin Sharvill UNQUALIFIED
James D BriddickGermanyBernardo Dominic NEW
Antonio D MorascaFranceAsiya Javayant RENEWAL
Mujtaba Q BriddickFranceBernardo Dominic PROPOSAL
Smith H VenereJapanXuxue Feng NEW
Costa W WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Aika Y DoeJapanAsiya Javayant RENEWAL
Julie N VocelkaSpainOnyama Limba RENEWAL
Kaitlin T DoeIndiaIoni Bowcher NEW
Morrow Y VocelkaArgentinaXuxue Feng RENEWAL
Johnson Y ButtJapanBernardo Dominic PROPOSAL
Mayumi T VenereGermanyXuxue Feng PROPOSAL
Rodrigues D ShinkoItalyIoni Bowcher NEW
Kaitlin L MorascaCanadaBernardo Dominic QUALIFIED
Munro U DoeRussiaAnna Fali RENEWAL
Maria J FigeroaBrazilAsiya Javayant NEW
Jones D GauchoFranceAnna Fali PROPOSAL
Octavia D GlickBrazilAnna Fali NEGOTIATION
Johnson Y WaycottJapanElwin Sharvill NEGOTIATION
Claire A GillianUnited KingdomAmy Elsner PROPOSAL
Faith Y FigeroaSpainElwin Sharvill NEW
Silvio G SlusarskiItalyIvan Magalhaes PROPOSAL
Alejandro U BowleySpainAmy Elsner NEGOTIATION
Mayumi D FerenczSpainXuxue Feng RENEWAL
Silvio R CampainAustraliaOnyama Limba QUALIFIED
Ashley O RoysterJapanBernardo Dominic NEGOTIATION
Kaitlin O RoysterCanadaXuxue Feng UNQUALIFIED
Antonio S BriddickUnited KingdomBernardo Dominic UNQUALIFIED
Ivar T SchemmerCanadaAsiya Javayant PROPOSAL
Smith T StockhamRussiaIoni Bowcher RENEWAL
Mayumi D WieserFranceStephen Shaw NEW
Chavez W FerenczCanadaElwin Sharvill NEW
Chavez A SergiJapanXuxue Feng NEGOTIATION
Aika M GillianBrazilIvan Magalhaes NEW
Emily L MaletRussiaXuxue Feng RENEWAL
David Q MarrierRussiaStephen Shaw RENEWAL
Cody M NickaUnited KingdomStephen Shaw RENEWAL
Aditya D RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem K NickaCanadaIoni Bowcher RENEWAL
Arvin T CaudyRussiaAnna Fali PROPOSAL
Arvin D OldroydIndiaAmy Elsner NEGOTIATION
Rodrigues L ButtBrazilIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo I StockhamRussiaXuxue Feng PROPOSAL
Morrow R RutaIndiaOnyama Limba NEGOTIATION
Aruna W WaycottSpainIvan Magalhaes PROPOSAL
Ricardo J MorascaIndiaElwin Sharvill RENEWAL
Greenwood E NickaCanadaAsiya Javayant QUALIFIED
Jones R PaprockiIndiaIoni Bowcher QUALIFIED
Faith U FigeroaArgentinaXuxue Feng NEGOTIATION
Silvio G NestleUnited KingdomBernardo Dominic QUALIFIED
Clifford P MarrierUnited KingdomStephen Shaw UNQUALIFIED
Julie R TollnerItalyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez F StensethBrazil2024-06-10Chemel, James L Cpa PROPOSAL12Amy Elsner
1001Mayumi U SchemmerArgentina2024-06-13Feltz Printing Service PROPOSAL73Onyama Limba
1002Deepesh K WieserBrazil2024-06-10Commercial Press PROPOSAL56Anna Fali
1003Leja Y FlosiRussia2024-06-16Commercial Press RENEWAL64Onyama Limba
1004Silvio K GillianGermany2024-06-18Dorl, James J Esq NEGOTIATION19Bernardo Dominic
1005Ivar T WieserUnited Kingdom2024-05-29Truhlar And Truhlar Attys UNQUALIFIED28Amy Elsner
1006Jeanfrancois L StensethRussia2024-06-03Dorl, James J Esq NEGOTIATION2Stephen Shaw
1007Claire N BowleyBrazil2024-06-04Rangoni Of Florence QUALIFIED99Onyama Limba
1008Ivar T GillianCanada2024-06-10Rousseaux, Michael Esq NEW83Ioni Bowcher
1009Munro K FollerArgentina2024-06-09Chemel, James L Cpa PROPOSAL56Ioni Bowcher
1010Silvio W FlosiGermany2024-06-02Feiner Bros NEW53Elwin Sharvill
1011Kadeem J StensethGermany2024-06-09Buckley Miller Wright UNQUALIFIED3Xuxue Feng
1012Arvin Y OldroydAustralia2024-05-26Dorl, James J Esq NEW56Onyama Limba
1013Mujtaba U GillianAustralia2024-06-09Feltz Printing Service UNQUALIFIED15Ioni Bowcher
1014Wickens V BowleyItaly2024-06-18Truhlar And Truhlar Attys NEGOTIATION33Elwin Sharvill
1015Kaitlin H IturbideCanada2024-06-02Truhlar And Truhlar Attys PROPOSAL75Ivan Magalhaes
1016Francesco F OstroskyCanada2024-06-16Chapman, Ross E Esq QUALIFIED9Anna Fali
1017Claire U WaycottGermany2024-06-19Chapman, Ross E Esq NEW10Asiya Javayant
1018Jefferson M BriddickAustralia2024-06-06Feltz Printing Service NEW88Bernardo Dominic
1019Mayumi N VenereArgentina2024-06-20King, Christopher A Esq PROPOSAL55Bernardo Dominic
1020Rodrigues N PaprockiBrazil2024-06-13Benton, John B Jr NEGOTIATION16Ivan Magalhaes
1021Leja A PaprockiJapan2024-06-15Chanay, Jeffrey A Esq QUALIFIED28Amy Elsner
1022Izzy E GauchoUnited Kingdom2024-06-01Printing Dimensions NEGOTIATION39Onyama Limba
1023Aika W TollnerJapan2024-06-18Morlong Associates NEW95Elwin Sharvill
1024Jeanfrancois O SlusarskiSpain2024-06-16Chapman, Ross E Esq PROPOSAL77Bernardo Dominic
1025Munro P SergiBrazil2024-05-29Feltz Printing Service UNQUALIFIED46Amy Elsner
1026Francesco U KuskoBrazil2024-06-04Feiner Bros RENEWAL54Ivan Magalhaes
1027Wickens T BriddickAustralia2024-06-06King, Christopher A Esq QUALIFIED35Onyama Limba
1028Jennifer N TollnerIndia2024-06-22Dorl, James J Esq NEGOTIATION98Amy Elsner
1029Faith M MaletAustralia2024-06-08King, Christopher A Esq NEW71Onyama Limba
1030Costa M KuskoFrance2024-05-30Buckley Miller Wright PROPOSAL81Asiya Javayant
1031Greenwood R RoysterGermany2024-05-31Chapman, Ross E Esq QUALIFIED81Bernardo Dominic
1032Greenwood B FlosiBrazil2024-05-27Feiner Bros RENEWAL87Anna Fali
1033Maisha H OldroydCanada2024-06-04Rangoni Of Florence QUALIFIED76Bernardo Dominic
1034Darci O FollerRussia2024-06-12Rangoni Of Florence NEGOTIATION13Ioni Bowcher
1035Kadeem H KuskoBrazil2024-06-08Benton, John B Jr NEGOTIATION50Stephen Shaw
1036Faith R FigeroaRussia2024-06-18Chemel, James L Cpa PROPOSAL99Bernardo Dominic
1037Isabel V WhobreyBrazil2024-06-12Printing Dimensions QUALIFIED1Stephen Shaw
1038Wickens L StensethRussia2024-06-14Commercial Press NEW13Bernardo Dominic
1039Ricardo G PoquetteCanada2024-06-06Rousseaux, Michael Esq RENEWAL94Bernardo Dominic
1040Smith H RimGermany2024-06-10Chapman, Ross E Esq NEGOTIATION69Onyama Limba
1041Ricardo U MaletJapan2024-05-27King, Christopher A Esq PROPOSAL29Anna Fali
1042Costa R KuskoBrazil2024-06-02Rangoni Of Florence PROPOSAL83Amy Elsner
1043Johnson B CaudyCanada2024-05-26Printing Dimensions PROPOSAL77Xuxue Feng
1044Leja N BologniaRussia2024-06-05Feltz Printing Service QUALIFIED48Ioni Bowcher
1045Stacey K RoysterAustralia2024-06-04Feltz Printing Service RENEWAL8Asiya Javayant
1046Smith J PaprockiUnited Kingdom2024-05-26Chapman, Ross E Esq UNQUALIFIED25Asiya Javayant
1047Jefferson E VocelkaItaly2024-05-31Chanay, Jeffrey A Esq RENEWAL79Asiya Javayant
1048Nicolas G VocelkaJapan2024-06-18Truhlar And Truhlar Attys NEGOTIATION10Xuxue Feng
1049Sinclair N DoeSpain2024-05-29Feltz Printing Service UNQUALIFIED47Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Stacey J MaletUnited KingdomIvan Magalhaes RENEWAL
Francesco G CaudyBrazilAmy Elsner NEGOTIATION
Maisha U InouyeAustraliaAmy Elsner UNQUALIFIED
Johnson Z ShinkoArgentinaBernardo Dominic UNQUALIFIED
Munro C BowleyCanadaOnyama Limba QUALIFIED
Murillo J CaldareraAustraliaBernardo Dominic UNQUALIFIED
Silvio W MorascaSpainIoni Bowcher PROPOSAL
Silvio B FlosiCanadaStephen Shaw NEW
Izzy O MarrierJapanStephen Shaw QUALIFIED
Arvin U StockhamUnited KingdomIoni Bowcher QUALIFIED
Mujtaba Q WhobreyAustraliaBernardo Dominic UNQUALIFIED
Deepesh O ShinkoItalyOnyama Limba NEGOTIATION
Aditya I VocelkaItalyAnna Fali NEGOTIATION
Izzy Y VenereIndiaIvan Magalhaes UNQUALIFIED
Julie A SlusarskiGermanyAnna Fali QUALIFIED
Ashley V ShinkoRussiaAsiya Javayant PROPOSAL
Johnson F AlbaresIndiaAnna Fali QUALIFIED
Jennifer C IturbideCanadaStephen Shaw QUALIFIED
Julie E GillianUnited KingdomIoni Bowcher PROPOSAL
Alejandro Q SchemmerRussiaIoni Bowcher UNQUALIFIED
David I WhobreyCanadaAsiya Javayant UNQUALIFIED
Juan U RimItalyXuxue Feng PROPOSAL
Smith Z SaylorsFranceBernardo Dominic UNQUALIFIED
Aika I AmigonUnited KingdomAmy Elsner PROPOSAL
Mayumi O RoysterGermanyAnna Fali QUALIFIED
Salvatore J GillianAustraliaIoni Bowcher RENEWAL
Sinclair T SlusarskiUnited KingdomAmy Elsner QUALIFIED
Cody R ShinkoJapanIvan Magalhaes NEW
Clifford R RulapaughGermanyAmy Elsner PROPOSAL
Wickens B PaprockiIndiaXuxue Feng RENEWAL
Maisha S OstroskyArgentinaAnna Fali NEGOTIATION
Maisha L WhobreyFranceStephen Shaw NEGOTIATION
Jefferson V CaudyJapanAmy Elsner NEW
Maisha V KuskoFranceXuxue Feng UNQUALIFIED
Juan O RoysterFranceIoni Bowcher UNQUALIFIED
Ricardo A FerenczIndiaAmy Elsner QUALIFIED
Alejandro Y AlbaresRussiaIvan Magalhaes UNQUALIFIED
Darci B NestleCanadaOnyama Limba PROPOSAL
Costa I BowleyBrazilIvan Magalhaes RENEWAL
Ricardo P NestleArgentinaAmy Elsner PROPOSAL
Emily H TollnerGermanyXuxue Feng RENEWAL
Mujtaba J WieserUnited KingdomAsiya Javayant UNQUALIFIED
David Y OstroskyFranceXuxue Feng NEW
Aditya T GillianSpainIoni Bowcher NEGOTIATION
Kadeem G CaudyAustraliaBernardo Dominic NEW
Claire B FerenczJapanAmy Elsner RENEWAL
Silvio S CampainBrazilIoni Bowcher RENEWAL
David G GarufiSpainAnna Fali RENEWAL
Francesco S PoquetteFranceAmy Elsner RENEWAL
Ricardo X DoeGermanyOnyama Limba UNQUALIFIED
Frozen Columns
Name
Ricardo R Doe
Izzy T Caldarera
Adams H Inouye
Darci V Glick
Kadeem T Chui
Adams X Caldarera
David Q Stenseth
Aika P Bowley
David X Iturbide
Jefferson T Oldroyd
Jones W Campain
Jefferson Z Venere
Jeanfrancois G Oldroyd
Isabel S Wieser
Francesco F Maclead
Ivar J Perin
Darci Y Bowley
Jeanfrancois Q Campain
Stacey F Royster
Nicolas Q Garufi
Ashley I Maclead
Emily A Kusko
Salvatore R Kolmetz
Murillo C Saylors
Salvatore L Doe
Ivar G Bowley
Kadeem M Tollner
Adams G Wieser
Munro V Stockham
Arvin M Nestle
Octavia G Shinko
Silvio Q Perin
Ashley K Garufi
Cody D Maclead
Sinclair J Sergi
Claire E Stockham
James K Bowley
Kadeem O Schemmer
Ashley F Saylors
Wickens D Amigon
Kaitlin Z Vocelka
Clifford V Wieser
Greenwood A Darakjy
Faith R Morasca
Silvio E Ruta
Faith D Sergi
Stacey Q Rim
Munro C Malet
Darci J Ostrosky
Arvin J Doe
IdCountryDate
1000France2024-06-03
1001Japan2024-06-18
1002Germany2024-06-08
1003Russia2024-06-06
1004Japan2024-06-04
1005Argentina2024-05-27
1006France2024-06-03
1007Russia2024-06-15
1008France2024-05-29
1009United Kingdom2024-06-22
1010Russia2024-06-09
1011Spain2024-06-14
1012Italy2024-05-31
1013Russia2024-05-27
1014Italy2024-06-06
1015United Kingdom2024-06-22
1016Russia2024-06-04
1017Germany2024-06-13
1018India2024-06-21
1019Australia2024-06-04
1020Spain2024-06-14
1021Brazil2024-05-31
1022Argentina2024-06-08
1023Spain2024-06-13
1024Italy2024-06-02
1025India2024-05-31
1026Spain2024-06-02
1027United Kingdom2024-05-27
1028Argentina2024-06-09
1029United Kingdom2024-06-09
1030Germany2024-05-26
1031Germany2024-05-27
1032India2024-06-21
1033Spain2024-06-14
1034Australia2024-06-13
1035Spain2024-06-05
1036India2024-06-22
1037Australia2024-06-21
1038Japan2024-06-05
1039Russia2024-06-11
1040Canada2024-05-24
1041Canada2024-06-01
1042Argentina2024-06-19
1043Russia2024-06-01
1044Brazil2024-06-10
1045Canada2024-06-15
1046Spain2024-06-07
1047Russia2024-06-07
1048France2024-06-06
1049Brazil2024-06-09

On-Demand Data

NameIdCountryDate
Emily A Nestle1000United Kingdom2024-06-11
Maisha E Foller1001Russia2024-05-30
Darci F Venere1002Argentina2024-06-12
Clifford E Nicka1003United Kingdom2024-06-05
Clifford N Nestle1004Japan2024-05-24
Kaitlin T Rim1005Japan2024-06-11
Tony U Darakjy1006Argentina2024-06-10
Greenwood X Nicka1007Canada2024-06-09
Murillo G Briddick1008Spain2024-06-09
Aditya O Shinko1009Germany2024-06-01
Julie X Bowley1010Australia2024-06-17
Jones N Malet1011Brazil2024-06-06
Rodrigues N Gaucho1012Russia2024-06-15
Ivar P Paprocki1013Canada2024-06-08
Jefferson G Flosi1014United Kingdom2024-06-02
Deepesh M Whobrey1015Japan2024-06-11
Kaitlin W Butt1016Russia2024-06-09
Emily V Royster1017Germany2024-06-21
Leon Z Morasca1018France2024-06-01
Mujtaba P Ruta1019Japan2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David F GauchoUnited KingdomXuxue Feng NEW
Rodrigues Q RutaCanadaIvan Magalhaes PROPOSAL
Greenwood S SlusarskiArgentinaAsiya Javayant NEW
Greenwood Z StensethRussiaIvan Magalhaes UNQUALIFIED
Smith M StockhamSpainElwin Sharvill PROPOSAL
Kadeem P FollerSpainBernardo Dominic NEW
Faith P ButtBrazilBernardo Dominic PROPOSAL
Alejandro W FigeroaArgentinaXuxue Feng NEGOTIATION
Sinclair W BologniaGermanyOnyama Limba PROPOSAL
Clifford M FerenczBrazilIvan Magalhaes NEGOTIATION
David I IturbideFranceAmy Elsner QUALIFIED
Faith H GarufiGermanyAnna Fali QUALIFIED
Alejandro O TollnerGermanyIvan Magalhaes QUALIFIED
Johnson P SaylorsRussiaAsiya Javayant NEW
Clifford Q PerinSpainBernardo Dominic UNQUALIFIED
Salvatore J GauchoFranceBernardo Dominic NEW
Aditya R AmigonJapanAnna Fali PROPOSAL
Morrow E WieserUnited KingdomXuxue Feng RENEWAL
Kaitlin F FigeroaArgentinaAnna Fali NEGOTIATION
Sinclair Z FigeroaGermanyIvan Magalhaes UNQUALIFIED
Isabel G OldroydGermanyIoni Bowcher QUALIFIED
Jefferson M WhobreyJapanAnna Fali NEGOTIATION
Tony Z SchemmerJapanIoni Bowcher PROPOSAL
Tony Y MarrierCanadaElwin Sharvill PROPOSAL
Rodrigues S OstroskyGermanyXuxue Feng UNQUALIFIED
Adams R KuskoRussiaOnyama Limba NEGOTIATION
Silvio U ShinkoUnited KingdomIoni Bowcher RENEWAL
Mujtaba L RoysterUnited KingdomAsiya Javayant PROPOSAL
Wickens Z SlusarskiBrazilAmy Elsner NEW
Johnson H BowleyBrazilIoni Bowcher QUALIFIED
Ricardo H GlickUnited KingdomAsiya Javayant QUALIFIED
Alejandro T FigeroaAustraliaAsiya Javayant RENEWAL
Murillo R KuskoArgentinaXuxue Feng QUALIFIED
Francesco F RimJapanAnna Fali PROPOSAL
Antonio Y FollerBrazilIvan Magalhaes NEW
Johnson W VocelkaFranceBernardo Dominic QUALIFIED
Maria V IturbideCanadaXuxue Feng RENEWAL
James J FollerBrazilElwin Sharvill RENEWAL
Alejandro M FollerBrazilStephen Shaw NEW
Ivar X MaletRussiaIoni 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>