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
James Q GauchoBrazilStephen Shaw QUALIFIED
Cody Q InouyeArgentinaIoni Bowcher PROPOSAL
Jefferson A ButtCanadaAmy Elsner RENEWAL
Jennifer Q GlickJapanBernardo Dominic PROPOSAL
Kaitlin I KuskoSpainAmy Elsner RENEWAL
Munro R MaletGermanyXuxue Feng PROPOSAL
Nicolas H MacleadAustraliaIvan Magalhaes UNQUALIFIED
Emily V SergiBrazilXuxue Feng PROPOSAL
Jefferson H CampainUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin U VocelkaSpainIoni Bowcher UNQUALIFIED
Antonio I BriddickUnited KingdomIoni Bowcher NEW
Maisha M BriddickGermanyXuxue Feng PROPOSAL
Rodrigues Q ShinkoSpainXuxue Feng NEW
Munro J FollerRussiaIvan Magalhaes NEW
Antonio A PoquetteCanadaOnyama Limba RENEWAL
Greenwood N FigeroaGermanyAnna Fali PROPOSAL
Aika F NestleCanadaOnyama Limba RENEWAL
Faith K SergiArgentinaAsiya Javayant UNQUALIFIED
Ivar Z RulapaughIndiaElwin Sharvill QUALIFIED
Mayumi M DilliardAustraliaAnna Fali QUALIFIED
James E OstroskyArgentinaElwin Sharvill RENEWAL
Leon Z KuskoJapanOnyama Limba PROPOSAL
Silvio Q RulapaughArgentinaXuxue Feng PROPOSAL
Sinclair X SlusarskiSpainIoni Bowcher NEW
Cody R RulapaughUnited KingdomIoni Bowcher NEW
Clifford W GlickRussiaAsiya Javayant NEGOTIATION
Aditya I NestleCanadaElwin Sharvill NEGOTIATION
Ashley L GauchoRussiaStephen Shaw RENEWAL
Jennifer K DoeIndiaIvan Magalhaes UNQUALIFIED
Rodrigues A BologniaUnited KingdomOnyama Limba NEGOTIATION
Misaki S InouyeUnited KingdomIoni Bowcher PROPOSAL
Isabel S BriddickUnited KingdomStephen Shaw UNQUALIFIED
Silvio P InouyeArgentinaIoni Bowcher QUALIFIED
Antonio M CaudyGermanyAmy Elsner NEW
Kaitlin X AmigonIndiaAmy Elsner QUALIFIED
Isabel O FerenczFranceBernardo Dominic RENEWAL
Aika F FerenczCanadaElwin Sharvill QUALIFIED
Faith W BriddickItalyAmy Elsner NEW
Claire E NestleUnited KingdomAnna Fali PROPOSAL
Munro Y SchemmerSpainBernardo Dominic UNQUALIFIED
Maisha K MaletArgentinaAsiya Javayant NEW
Murillo S CampainUnited KingdomIoni Bowcher QUALIFIED
Aruna G OstroskyUnited KingdomXuxue Feng RENEWAL
Kaitlin W FigeroaCanadaIvan Magalhaes NEW
Jefferson K WhobreyCanadaIvan Magalhaes NEW
Johnson K VocelkaFranceIoni Bowcher NEGOTIATION
Francesco L FerenczGermanyStephen Shaw PROPOSAL
Maisha H RulapaughUnited KingdomBernardo Dominic RENEWAL
Jones U MaletArgentinaAmy Elsner PROPOSAL
Clifford K FlosiRussiaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja K InouyeFranceXuxue Feng NEW
Faith Y KolmetzFranceAmy Elsner UNQUALIFIED
Julie P RimArgentinaXuxue Feng NEW
Maria G GlickSpainIvan Magalhaes NEGOTIATION
Maria T GauchoBrazilAsiya Javayant PROPOSAL
Aruna W NickaSpainOnyama Limba NEGOTIATION
Ivar C SergiSpainAnna Fali RENEWAL
Darci K GillianArgentinaOnyama Limba PROPOSAL
Ivar C SlusarskiJapanStephen Shaw NEW
Aditya O SlusarskiGermanyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas K RutaArgentina2024-05-29Chanay, Jeffrey A Esq QUALIFIED66Stephen Shaw
1001Rodrigues S WieserArgentina2024-06-19Commercial Press NEGOTIATION17Elwin Sharvill
1002Aditya G GauchoCanada2024-06-19Chapman, Ross E Esq UNQUALIFIED25Ivan Magalhaes
1003Greenwood T GauchoFrance2024-06-12Feltz Printing Service NEW2Ioni Bowcher
1004Wickens C GauchoItaly2024-05-29Truhlar And Truhlar Attys PROPOSAL7Asiya Javayant
1005Greenwood Z BologniaUnited Kingdom2024-06-08King, Christopher A Esq RENEWAL50Bernardo Dominic
1006Francesco F KolmetzAustralia2024-06-06King, Christopher A Esq PROPOSAL96Stephen Shaw
1007Ashley F SaylorsRussia2024-06-14Benton, John B Jr QUALIFIED76Onyama Limba
1008Clifford U GillianSpain2024-05-25Feltz Printing Service NEGOTIATION2Asiya Javayant
1009Salvatore S NickaSpain2024-06-15Chanay, Jeffrey A Esq NEW93Ioni Bowcher
1010Claire X SlusarskiFrance2024-06-02Feltz Printing Service NEGOTIATION78Anna Fali
1011Octavia C RimGermany2024-05-26Chanay, Jeffrey A Esq QUALIFIED46Xuxue Feng
1012Clifford G OstroskyArgentina2024-06-20Commercial Press QUALIFIED50Bernardo Dominic
1013Claire N GarufiRussia2024-06-03Dorl, James J Esq UNQUALIFIED67Anna Fali
1014Aika K AlbaresBrazil2024-05-27Printing Dimensions NEGOTIATION56Ioni Bowcher
1015Jennifer B KolmetzRussia2024-05-30Chapman, Ross E Esq RENEWAL24Anna Fali
1016Kaitlin C PaprockiRussia2024-06-22Truhlar And Truhlar Attys RENEWAL78Stephen Shaw
1017Faith C FlosiFrance2024-06-19Benton, John B Jr QUALIFIED53Bernardo Dominic
1018Maisha C SergiRussia2024-05-29King, Christopher A Esq NEW10Anna Fali
1019David G ShinkoItaly2024-06-03Truhlar And Truhlar Attys NEGOTIATION28Xuxue Feng
1020Rodrigues M DoeCanada2024-06-18Chanay, Jeffrey A Esq NEW16Onyama Limba
1021Aika B FerenczUnited Kingdom2024-05-27Truhlar And Truhlar Attys NEGOTIATION33Stephen Shaw
1022Rodrigues F GillianGermany2024-06-11Rousseaux, Michael Esq NEGOTIATION1Elwin Sharvill
1023Leon O VocelkaJapan2024-06-10Rangoni Of Florence UNQUALIFIED85Anna Fali
1024Wickens A CampainUnited Kingdom2024-06-13King, Christopher A Esq NEGOTIATION37Anna Fali
1025Izzy C DarakjyItaly2024-06-21Chanay, Jeffrey A Esq RENEWAL61Ivan Magalhaes
1026Murillo L DilliardArgentina2024-05-31Rousseaux, Michael Esq RENEWAL7Amy Elsner
1027Morrow Z ChuiRussia2024-05-26Chemel, James L Cpa PROPOSAL15Amy Elsner
1028Jennifer P WaycottBrazil2024-06-13Chemel, James L Cpa NEGOTIATION32Xuxue Feng
1029Rodrigues J IturbideRussia2024-06-02Rangoni Of Florence QUALIFIED87Onyama Limba
1030Clifford N ButtGermany2024-06-01Rousseaux, Michael Esq NEGOTIATION60Stephen Shaw
1031Ivar E OldroydAustralia2024-05-29Truhlar And Truhlar Attys QUALIFIED52Anna Fali
1032Juan M FerenczJapan2024-06-11Feltz Printing Service NEW82Ivan Magalhaes
1033Smith Q DoeArgentina2024-06-16Rousseaux, Michael Esq NEW95Elwin Sharvill
1034Maria N DoeUnited Kingdom2024-06-13Rangoni Of Florence PROPOSAL16Stephen Shaw
1035Aruna O GillianAustralia2024-05-26Feltz Printing Service NEGOTIATION64Anna Fali
1036Leon Z VenereRussia2024-06-18Truhlar And Truhlar Attys NEW49Bernardo Dominic
1037Juan U GillianIndia2024-06-05Feiner Bros NEGOTIATION85Anna Fali
1038Smith Q AlbaresIndia2024-06-12Chapman, Ross E Esq QUALIFIED50Ivan Magalhaes
1039Maria E PerinUnited Kingdom2024-06-03Truhlar And Truhlar Attys RENEWAL13Xuxue Feng
1040Deepesh D PaprockiUnited Kingdom2024-06-12Feltz Printing Service RENEWAL68Anna Fali
1041Arvin L WaycottFrance2024-06-18Chemel, James L Cpa UNQUALIFIED17Xuxue Feng
1042Jefferson S OstroskyUnited Kingdom2024-06-11Rousseaux, Michael Esq PROPOSAL8Asiya Javayant
1043Sinclair J PoquetteBrazil2024-06-19Chemel, James L Cpa RENEWAL98Anna Fali
1044Claire S PoquetteAustralia2024-06-15Truhlar And Truhlar Attys NEW49Anna Fali
1045Wickens B MaletFrance2024-06-21Rangoni Of Florence RENEWAL61Onyama Limba
1046Clifford F SaylorsArgentina2024-06-14Dorl, James J Esq PROPOSAL96Xuxue Feng
1047Salvatore K DilliardFrance2024-06-12Buckley Miller Wright NEW43Bernardo Dominic
1048Izzy G VenereJapan2024-05-26Chanay, Jeffrey A Esq RENEWAL82Onyama Limba
1049Julie I WieserAustralia2024-06-02King, Christopher A Esq PROPOSAL79Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aditya W RoysterSpainAnna Fali NEW
Juan O RimRussiaAnna Fali PROPOSAL
Rodrigues R OldroydUnited KingdomIoni Bowcher PROPOSAL
Leon W GarufiRussiaAsiya Javayant RENEWAL
Octavia X FollerBrazilXuxue Feng QUALIFIED
Silvio D DarakjyUnited KingdomBernardo Dominic PROPOSAL
Francesco H RulapaughJapanElwin Sharvill RENEWAL
Deepesh H RimItalyBernardo Dominic NEW
Leon T CaudyCanadaAmy Elsner PROPOSAL
Aruna O NestleSpainStephen Shaw NEGOTIATION
Izzy K ChuiIndiaBernardo Dominic PROPOSAL
Faith P FollerItalyAsiya Javayant UNQUALIFIED
Morrow I MaletCanadaStephen Shaw UNQUALIFIED
Deepesh O TollnerBrazilAmy Elsner NEGOTIATION
Misaki L StensethBrazilIvan Magalhaes NEGOTIATION
Alejandro C WhobreyCanadaAnna Fali RENEWAL
Jennifer C OldroydItalyAsiya Javayant UNQUALIFIED
Stacey G MarrierJapanXuxue Feng RENEWAL
Munro V StockhamGermanyBernardo Dominic PROPOSAL
Greenwood H WaycottJapanXuxue Feng NEGOTIATION
Wickens K FerenczUnited KingdomBernardo Dominic NEGOTIATION
Misaki D GlickFranceXuxue Feng NEW
Maria C KolmetzGermanyIvan Magalhaes NEW
Jeanfrancois D NestleFranceAnna Fali NEW
Chavez J AlbaresCanadaAsiya Javayant QUALIFIED
Adams C FerenczUnited KingdomAsiya Javayant NEGOTIATION
Faith Q RoysterIndiaIvan Magalhaes UNQUALIFIED
Darci V FlosiGermanyAnna Fali NEW
Aika X CampainUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin N IturbideIndiaStephen Shaw PROPOSAL
Mujtaba F SchemmerIndiaAmy Elsner RENEWAL
Ricardo F RoysterUnited KingdomElwin Sharvill PROPOSAL
Antonio P SaylorsCanadaElwin Sharvill PROPOSAL
Maisha D VenereGermanyStephen Shaw NEGOTIATION
Maisha J KolmetzSpainIoni Bowcher PROPOSAL
Octavia Q GarufiGermanyAsiya Javayant NEGOTIATION
Alejandro C MaletBrazilOnyama Limba QUALIFIED
Wickens J RulapaughSpainXuxue Feng NEGOTIATION
Claire J FlosiArgentinaAsiya Javayant PROPOSAL
Jones Z AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Jennifer O MaletFranceStephen Shaw PROPOSAL
Arvin V KuskoBrazilXuxue Feng UNQUALIFIED
Stacey J PerinUnited KingdomOnyama Limba NEGOTIATION
Stacey S BologniaCanadaIvan Magalhaes NEW
Jefferson R FollerRussiaIvan Magalhaes NEW
Emily G ButtBrazilIoni Bowcher UNQUALIFIED
Maria N MarrierCanadaOnyama Limba NEGOTIATION
Isabel X DarakjyGermanyAnna Fali NEGOTIATION
Juan G DilliardSpainAnna Fali QUALIFIED
Cody I RimArgentinaXuxue Feng RENEWAL
Frozen Columns
Name
Leon S Dilliard
Costa D Ostrosky
Munro G Caldarera
Deepesh T Gaucho
Jones E Glick
Leja N Maclead
Murillo C Venere
Maisha Z Ferencz
Leon X Slusarski
Arvin B Venere
Tony U Caldarera
Isabel Y Stockham
Morrow I Campain
Isabel O Schemmer
Cody X Gaucho
Wickens H Chui
Silvio D Inouye
Cody J Doe
Kaitlin C Ferencz
Rodrigues C Oldroyd
Tony J Amigon
Murillo O Malet
Darci D Poquette
Silvio V Briddick
Greenwood O Tollner
Ivar S Flosi
James O Malet
Wickens L Waycott
Salvatore R Inouye
Munro Z Chui
Munro R Stockham
Wickens E Shinko
Maisha E Glick
Octavia F Glick
Leja W Gillian
Clifford J Campain
Wickens S Amigon
Cody B Kolmetz
Salvatore V Campain
Adams G Shinko
Wickens J Amigon
Antonio L Ruta
Smith Y Royster
Murillo N Stockham
Julie C Caudy
Clifford H Caudy
Francesco U Rim
Francesco O Stockham
Sinclair N Malet
Deepesh G Perin
IdCountryDate
1000United Kingdom2024-05-28
1001Brazil2024-06-22
1002Germany2024-06-03
1003Italy2024-06-09
1004Russia2024-06-18
1005Canada2024-06-15
1006Germany2024-05-25
1007Australia2024-06-14
1008Germany2024-06-16
1009Canada2024-06-03
1010France2024-06-18
1011United Kingdom2024-05-30
1012Russia2024-06-13
1013Japan2024-05-27
1014Australia2024-06-13
1015Japan2024-06-11
1016Germany2024-06-19
1017Japan2024-06-18
1018Germany2024-06-19
1019Japan2024-06-12
1020France2024-05-27
1021Japan2024-06-07
1022Russia2024-05-30
1023Australia2024-06-09
1024United Kingdom2024-06-15
1025Canada2024-05-31
1026Spain2024-06-03
1027India2024-06-09
1028United Kingdom2024-06-19
1029Brazil2024-05-24
1030Germany2024-05-28
1031Japan2024-06-14
1032Spain2024-05-26
1033Italy2024-06-22
1034Argentina2024-06-17
1035India2024-05-30
1036Japan2024-06-01
1037Germany2024-06-02
1038Australia2024-05-29
1039Japan2024-05-24
1040India2024-05-26
1041France2024-05-31
1042Argentina2024-05-26
1043United Kingdom2024-06-16
1044United Kingdom2024-06-21
1045Italy2024-05-24
1046Italy2024-05-27
1047France2024-06-14
1048Canada2024-06-17
1049Canada2024-06-16

On-Demand Data

NameIdCountryDate
Murillo W Royster1000France2024-06-05
Munro G Gillian1001Brazil2024-06-18
Francesco R Nestle1002Australia2024-05-25
Sinclair N Nicka1003Brazil2024-06-01
Silvio T Ferencz1004Canada2024-06-18
Costa R Whobrey1005Spain2024-06-02
Clifford T Kusko1006Argentina2024-06-18
Munro W Vocelka1007Russia2024-05-25
Silvio E Sergi1008Argentina2024-05-28
Darci R Garufi1009Germany2024-06-11
Maria H Paprocki1010United Kingdom2024-06-09
Johnson M Darakjy1011India2024-06-18
Deepesh U Doe1012Canada2024-06-14
Deepesh D Tollner1013Russia2024-05-30
Deepesh U Stockham1014Brazil2024-06-08
Jones S Stockham1015Japan2024-05-30
David E Garufi1016Germany2024-05-25
Salvatore J Albares1017Russia2024-06-03
Emily Z Ostrosky1018Russia2024-05-26
Claire B Garufi1019Germany2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja R IturbideJapanIoni Bowcher UNQUALIFIED
Adams S ShinkoGermanyAsiya Javayant NEW
Mayumi F GauchoItalyElwin Sharvill QUALIFIED
Izzy R AlbaresFranceAsiya Javayant NEW
Murillo W RutaBrazilStephen Shaw NEGOTIATION
Isabel X RoysterUnited KingdomXuxue Feng UNQUALIFIED
Aditya W SchemmerGermanyIvan Magalhaes UNQUALIFIED
Ivar J CaudySpainAmy Elsner PROPOSAL
Deepesh E MaletSpainStephen Shaw UNQUALIFIED
Chavez T BologniaGermanyXuxue Feng RENEWAL
Deepesh W DoeArgentinaElwin Sharvill RENEWAL
Ivar S NestleIndiaOnyama Limba NEGOTIATION
Adams N MacleadCanadaAsiya Javayant QUALIFIED
Faith K IturbideAustraliaStephen Shaw PROPOSAL
Ricardo M GlickItalyAsiya Javayant RENEWAL
Aika H MaletAustraliaAnna Fali PROPOSAL
James Q BowleyArgentinaAmy Elsner PROPOSAL
Stacey W SlusarskiGermanyOnyama Limba NEW
Munro M DoeGermanyAnna Fali NEW
Salvatore N PoquetteArgentinaBernardo Dominic NEW
Jones C DilliardItalyBernardo Dominic QUALIFIED
Costa H NestleAustraliaElwin Sharvill UNQUALIFIED
Aditya A FerenczJapanIoni Bowcher NEGOTIATION
Chavez G NestleJapanOnyama Limba PROPOSAL
Aika T WieserUnited KingdomBernardo Dominic NEGOTIATION
Salvatore M FigeroaUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois Z MacleadGermanyStephen Shaw QUALIFIED
Aditya X FerenczAustraliaOnyama Limba UNQUALIFIED
Adams U MarrierJapanStephen Shaw NEW
Julie O RulapaughGermanyStephen Shaw NEW
Jeanfrancois D InouyeCanadaIvan Magalhaes PROPOSAL
David M WhobreyFranceAsiya Javayant NEGOTIATION
Kaitlin Y SlusarskiFranceXuxue Feng UNQUALIFIED
Maria Q IturbideFranceStephen Shaw PROPOSAL
Darci F SergiSpainIvan Magalhaes UNQUALIFIED
Mujtaba U WhobreyAustraliaStephen Shaw NEW
Arvin L WieserCanadaAsiya Javayant RENEWAL
Francesco V PerinJapanAsiya Javayant NEW
Johnson S AmigonGermanyElwin Sharvill UNQUALIFIED
Jones J BologniaAustraliaAmy Elsner 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>