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 Z GillianArgentinaAmy Elsner NEW
Octavia Y FollerItalyAsiya Javayant UNQUALIFIED
Julie M ShinkoSpainIvan Magalhaes RENEWAL
David G CaudyBrazilOnyama Limba PROPOSAL
Claire V NestleJapanOnyama Limba NEW
Octavia G KolmetzRussiaBernardo Dominic UNQUALIFIED
Mayumi U AmigonSpainIvan Magalhaes PROPOSAL
Claire C KolmetzJapanAmy Elsner QUALIFIED
Sinclair X BriddickJapanAnna Fali NEW
Isabel H NickaFranceXuxue Feng UNQUALIFIED
Jeanfrancois O FollerUnited KingdomBernardo Dominic NEGOTIATION
Jefferson U MaletItalyBernardo Dominic NEGOTIATION
Jefferson K GarufiItalyBernardo Dominic NEW
Jefferson L MarrierSpainIoni Bowcher NEW
Nicolas Q MorascaUnited KingdomAnna Fali QUALIFIED
James D TollnerSpainIvan Magalhaes UNQUALIFIED
Leja R KuskoArgentinaBernardo Dominic UNQUALIFIED
Alejandro Q CampainRussiaAnna Fali NEGOTIATION
Jones W ChuiRussiaOnyama Limba QUALIFIED
Ricardo Z RulapaughUnited KingdomAsiya Javayant NEW
Maria R ShinkoFranceBernardo Dominic UNQUALIFIED
Maria X StockhamJapanElwin Sharvill NEW
Kadeem F CaudyRussiaOnyama Limba QUALIFIED
Silvio B SlusarskiBrazilBernardo Dominic RENEWAL
Clifford B SaylorsUnited KingdomStephen Shaw QUALIFIED
Francesco D StockhamSpainAnna Fali QUALIFIED
Leon Z VenereFranceXuxue Feng NEGOTIATION
Julie G GarufiUnited KingdomBernardo Dominic NEW
Kaitlin U RulapaughGermanyXuxue Feng RENEWAL
Smith P PaprockiArgentinaAmy Elsner PROPOSAL
Mayumi J MarrierRussiaStephen Shaw RENEWAL
Silvio W RulapaughArgentinaAnna Fali PROPOSAL
Misaki H RoysterBrazilIoni Bowcher RENEWAL
James M WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Claire V DilliardSpainOnyama Limba QUALIFIED
Misaki N KuskoJapanOnyama Limba PROPOSAL
Salvatore J DoeSpainIoni Bowcher QUALIFIED
Cody R TollnerGermanyStephen Shaw UNQUALIFIED
Isabel M WhobreyIndiaAsiya Javayant QUALIFIED
Munro D DilliardFranceAsiya Javayant QUALIFIED
Jennifer C PoquetteArgentinaBernardo Dominic PROPOSAL
Jefferson B GillianAustraliaElwin Sharvill QUALIFIED
Ivar A GarufiGermanyIvan Magalhaes QUALIFIED
Aditya B BriddickIndiaIoni Bowcher QUALIFIED
Claire X RoysterGermanyAmy Elsner UNQUALIFIED
Darci G PerinGermanyOnyama Limba NEGOTIATION
Costa J RutaArgentinaElwin Sharvill NEGOTIATION
Sinclair J MacleadGermanyIvan Magalhaes RENEWAL
Ashley M PoquetteItalyIoni Bowcher NEW
Faith T WhobreySpainElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson B RutaJapanXuxue Feng NEGOTIATION
David G CaldareraAustraliaXuxue Feng PROPOSAL
Misaki G CampainSpainElwin Sharvill QUALIFIED
Juan J SergiAustraliaXuxue Feng NEGOTIATION
Adams Y RoysterItalyAsiya Javayant PROPOSAL
Francesco U RulapaughJapanAmy Elsner QUALIFIED
Izzy M StensethRussiaBernardo Dominic UNQUALIFIED
Clifford O RutaSpainStephen Shaw NEW
David O GarufiIndiaStephen Shaw PROPOSAL
Ivar G SlusarskiItalyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan X RimSpain2024-06-12Feltz Printing Service QUALIFIED9Ioni Bowcher
1001Sinclair C WaycottUnited Kingdom2024-06-14Feiner Bros NEGOTIATION16Ioni Bowcher
1002Kaitlin N BologniaUnited Kingdom2024-06-12Morlong Associates UNQUALIFIED4Elwin Sharvill
1003Adams H MarrierArgentina2024-06-11King, Christopher A Esq NEGOTIATION47Elwin Sharvill
1004Morrow H OstroskyIndia2024-06-10Printing Dimensions UNQUALIFIED50Elwin Sharvill
1005Aditya P FollerBrazil2024-05-31King, Christopher A Esq UNQUALIFIED69Bernardo Dominic
1006Cody H OstroskyCanada2024-05-25Printing Dimensions NEGOTIATION41Stephen Shaw
1007Claire B WaycottFrance2024-06-11Dorl, James J Esq QUALIFIED67Onyama Limba
1008Rodrigues E PoquetteItaly2024-06-17Chanay, Jeffrey A Esq QUALIFIED43Ivan Magalhaes
1009Aditya E FerenczSpain2024-06-09Truhlar And Truhlar Attys NEGOTIATION63Bernardo Dominic
1010Francesco D DilliardUnited Kingdom2024-06-22Morlong Associates NEW62Asiya Javayant
1011Antonio I PoquetteBrazil2024-06-05Chemel, James L Cpa RENEWAL29Amy Elsner
1012Kaitlin P BologniaFrance2024-06-10Feltz Printing Service QUALIFIED74Amy Elsner
1013Chavez B StensethJapan2024-06-14Commercial Press NEGOTIATION83Onyama Limba
1014Murillo P DoeUnited Kingdom2024-06-19Benton, John B Jr NEW72Onyama Limba
1015Adams N BriddickSpain2024-06-01Commercial Press RENEWAL92Xuxue Feng
1016Isabel H CampainFrance2024-06-04Rangoni Of Florence UNQUALIFIED95Elwin Sharvill
1017Ashley A DoeArgentina2024-06-03Chanay, Jeffrey A Esq QUALIFIED50Elwin Sharvill
1018Jennifer Y CaudyJapan2024-06-18Rangoni Of Florence NEGOTIATION44Anna Fali
1019Munro Y BriddickAustralia2024-06-16King, Christopher A Esq UNQUALIFIED0Amy Elsner
1020Wickens L BologniaItaly2024-06-08Chapman, Ross E Esq PROPOSAL1Xuxue Feng
1021Izzy S DilliardCanada2024-06-18Feiner Bros NEW6Stephen Shaw
1022Sinclair M StensethUnited Kingdom2024-06-21Commercial Press RENEWAL96Ivan Magalhaes
1023Leja O StockhamArgentina2024-06-05Dorl, James J Esq PROPOSAL66Onyama Limba
1024Adams N RoysterIndia2024-06-23Feltz Printing Service NEW26Ivan Magalhaes
1025Leon Q PaprockiArgentina2024-06-23Benton, John B Jr NEGOTIATION10Anna Fali
1026Ashley N NestleUnited Kingdom2024-06-21Chanay, Jeffrey A Esq NEGOTIATION21Amy Elsner
1027Maisha X WaycottIndia2024-06-17Printing Dimensions RENEWAL84Ivan Magalhaes
1028Ashley R StensethSpain2024-06-23Rangoni Of Florence PROPOSAL51Ioni Bowcher
1029Claire R SaylorsFrance2024-06-04Truhlar And Truhlar Attys QUALIFIED6Ivan Magalhaes
1030Mujtaba L VocelkaSpain2024-06-19Dorl, James J Esq NEW90Stephen Shaw
1031Darci Y MarrierCanada2024-05-26Dorl, James J Esq NEW37Onyama Limba
1032Izzy E InouyeIndia2024-06-01King, Christopher A Esq NEW32Ioni Bowcher
1033Francesco T FigeroaGermany2024-06-09King, Christopher A Esq NEGOTIATION68Onyama Limba
1034Munro X KolmetzBrazil2024-06-01Chapman, Ross E Esq UNQUALIFIED31Asiya Javayant
1035Stacey E FlosiCanada2024-06-03Chanay, Jeffrey A Esq QUALIFIED53Ivan Magalhaes
1036Smith Z ChuiSpain2024-06-23Rangoni Of Florence NEGOTIATION5Asiya Javayant
1037Francesco U MacleadItaly2024-05-31Feiner Bros RENEWAL1Amy Elsner
1038Adams L DarakjyGermany2024-06-13Printing Dimensions PROPOSAL36Asiya Javayant
1039James D SaylorsUnited Kingdom2024-06-20Feltz Printing Service PROPOSAL89Anna Fali
1040Emily M RimCanada2024-06-01Chapman, Ross E Esq RENEWAL88Onyama Limba
1041Antonio Y SlusarskiArgentina2024-05-29Rangoni Of Florence NEW85Stephen Shaw
1042Aika U AlbaresArgentina2024-06-01Chapman, Ross E Esq NEGOTIATION36Anna Fali
1043Morrow B VocelkaArgentina2024-06-09Printing Dimensions QUALIFIED68Bernardo Dominic
1044Salvatore I SaylorsFrance2024-06-08Feltz Printing Service PROPOSAL74Asiya Javayant
1045David V MorascaAustralia2024-05-26Chanay, Jeffrey A Esq NEW51Ivan Magalhaes
1046Misaki D AmigonRussia2024-06-01Morlong Associates NEW15Asiya Javayant
1047Cody Q StockhamArgentina2024-06-01Dorl, James J Esq PROPOSAL94Stephen Shaw
1048Stacey Q WhobreyArgentina2024-06-05Dorl, James J Esq UNQUALIFIED67Asiya Javayant
1049Maria U WhobreyAustralia2024-06-10Buckley Miller Wright UNQUALIFIED32Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro Q DilliardJapanBernardo Dominic RENEWAL
Costa Z BowleyUnited KingdomAmy Elsner NEW
Silvio B WieserUnited KingdomIoni Bowcher NEGOTIATION
Johnson O PaprockiSpainAsiya Javayant UNQUALIFIED
Kaitlin A KolmetzSpainOnyama Limba NEW
Clifford G FlosiItalyIvan Magalhaes NEGOTIATION
Costa J DarakjyIndiaBernardo Dominic NEW
Ricardo S GauchoIndiaBernardo Dominic NEGOTIATION
Johnson F SergiBrazilIvan Magalhaes NEGOTIATION
Ivar Y DarakjyBrazilIoni Bowcher PROPOSAL
Aditya E OstroskySpainAnna Fali NEW
Faith D WaycottRussiaBernardo Dominic QUALIFIED
Costa M NestleBrazilXuxue Feng PROPOSAL
Adams O InouyeGermanyIvan Magalhaes QUALIFIED
Aruna G WhobreySpainBernardo Dominic NEW
Aditya S IturbideRussiaStephen Shaw NEW
Silvio X BowleyBrazilXuxue Feng PROPOSAL
Leja Z SaylorsBrazilIoni Bowcher RENEWAL
Jones V IturbideSpainAnna Fali RENEWAL
Mujtaba R PaprockiAustraliaAmy Elsner NEW
Salvatore B SaylorsUnited KingdomIoni Bowcher PROPOSAL
James U DilliardItalyIoni Bowcher NEGOTIATION
Alejandro V AmigonIndiaOnyama Limba NEW
David L OldroydCanadaStephen Shaw QUALIFIED
Emily G StockhamGermanyAmy Elsner NEGOTIATION
Sinclair S FigeroaIndiaElwin Sharvill NEGOTIATION
Jeanfrancois M FlosiRussiaBernardo Dominic NEGOTIATION
Isabel X CaudyItalyBernardo Dominic UNQUALIFIED
Ashley T RulapaughSpainIoni Bowcher QUALIFIED
Claire A PerinFranceIvan Magalhaes NEGOTIATION
Mujtaba P NickaArgentinaAnna Fali PROPOSAL
Salvatore Z VenereFranceAsiya Javayant NEW
Izzy Q DoeSpainBernardo Dominic PROPOSAL
Jeanfrancois S RulapaughArgentinaAsiya Javayant PROPOSAL
Darci T KuskoBrazilIvan Magalhaes RENEWAL
Cody A SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Munro A StensethFranceBernardo Dominic NEW
Isabel M WhobreyArgentinaAnna Fali QUALIFIED
Sinclair F VocelkaUnited KingdomElwin Sharvill PROPOSAL
Cody Q GarufiItalyElwin Sharvill UNQUALIFIED
Juan E RoysterRussiaIvan Magalhaes RENEWAL
Faith Y MaletGermanyAnna Fali PROPOSAL
Mayumi F BriddickCanadaIoni Bowcher PROPOSAL
Aika Y FollerIndiaAsiya Javayant NEGOTIATION
Octavia I CaldareraSpainAnna Fali RENEWAL
Smith B CaldareraGermanyIvan Magalhaes NEGOTIATION
Julie P MacleadArgentinaAmy Elsner NEW
Alejandro N InouyeIndiaElwin Sharvill QUALIFIED
Isabel L KolmetzUnited KingdomAnna Fali NEGOTIATION
Silvio C DoeArgentinaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Kadeem I Bolognia
Cody Z Saylors
James H Ferencz
Greenwood H Campain
Leon N Gillian
Francesco U Iturbide
Aditya D Bolognia
Jeanfrancois W Foller
Isabel H Slusarski
Wickens Y Rim
Ashley D Venere
Kaitlin H Schemmer
Jeanfrancois I Maclead
Juan C Oldroyd
Alejandro E Bowley
Deepesh A Doe
Munro O Vocelka
Costa K Kolmetz
Jefferson Y Briddick
Nicolas W Albares
David Y Gaucho
Mayumi F Waycott
Isabel F Whobrey
Antonio R Iturbide
Mujtaba L Perin
Morrow B Sergi
Johnson J Caldarera
Mayumi Z Paprocki
Nicolas J Foller
Jeanfrancois K Albares
Silvio P Morasca
Clifford P Stockham
Munro H Royster
Leja Z Waycott
Darci K Perin
Deepesh E Ferencz
Francesco Q Malet
Alejandro Z Caudy
Stacey K Ostrosky
Costa Z Garufi
Ashley O Chui
Salvatore J Oldroyd
Leon J Morasca
Deepesh J Iturbide
Arvin J Amigon
Claire F Wieser
Sinclair R Marrier
Rodrigues G Vocelka
Emily S Saylors
Arvin T Albares
IdCountryDate
1000Russia2024-06-14
1001Spain2024-05-29
1002France2024-06-16
1003Spain2024-06-15
1004Canada2024-06-11
1005Japan2024-06-08
1006Brazil2024-05-25
1007Canada2024-06-08
1008Russia2024-06-09
1009Canada2024-06-16
1010Argentina2024-06-05
1011Spain2024-05-26
1012Canada2024-06-04
1013United Kingdom2024-06-19
1014Russia2024-06-14
1015Brazil2024-06-14
1016Germany2024-06-18
1017Spain2024-05-30
1018Canada2024-06-10
1019Brazil2024-06-09
1020Brazil2024-06-01
1021Spain2024-06-05
1022Spain2024-05-31
1023France2024-05-29
1024India2024-05-29
1025Russia2024-05-29
1026Brazil2024-05-31
1027India2024-06-11
1028Canada2024-05-27
1029France2024-06-16
1030Argentina2024-06-08
1031Spain2024-06-13
1032Italy2024-06-17
1033Japan2024-06-20
1034Russia2024-06-10
1035Spain2024-06-08
1036United Kingdom2024-06-13
1037Argentina2024-06-10
1038Spain2024-06-20
1039Japan2024-05-26
1040France2024-05-29
1041United Kingdom2024-06-09
1042Argentina2024-06-06
1043Canada2024-06-12
1044Italy2024-06-03
1045United Kingdom2024-06-14
1046Argentina2024-06-06
1047France2024-06-03
1048Australia2024-06-20
1049Germany2024-06-13

On-Demand Data

NameIdCountryDate
Francesco Z Foller1000Argentina2024-05-28
Aika U Dilliard1001India2024-06-02
Arvin U Vocelka1002Spain2024-06-06
Aditya I Bowley1003Brazil2024-05-31
James C Inouye1004France2024-06-09
Maisha L Kolmetz1005Germany2024-06-17
Morrow R Waycott1006Spain2024-06-19
Kaitlin I Campain1007Germany2024-06-07
Deepesh S Caudy1008Argentina2024-06-23
Alejandro F Wieser1009Japan2024-06-08
Silvio H Figeroa1010Japan2024-05-29
Jeanfrancois N Amigon1011Germany2024-05-30
Alejandro Y Butt1012India2024-06-09
Costa F Waycott1013India2024-05-29
Mujtaba F Saylors1014Australia2024-06-02
Aika Q Shinko1015Germany2024-06-03
Wickens Y Oldroyd1016Spain2024-06-08
Misaki A Sergi1017Germany2024-05-25
Mujtaba J Shinko1018Italy2024-06-19
Greenwood N Wieser1019France2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo C DarakjyFranceIvan Magalhaes NEGOTIATION
Misaki W ShinkoIndiaStephen Shaw PROPOSAL
Ricardo D MarrierUnited KingdomOnyama Limba UNQUALIFIED
Ivar P DilliardItalyAmy Elsner NEGOTIATION
James A FlosiGermanyAsiya Javayant UNQUALIFIED
Aditya K MarrierRussiaAnna Fali RENEWAL
Ricardo Z NickaItalyAnna Fali RENEWAL
Costa A ShinkoAustraliaAsiya Javayant NEW
Sinclair A RoysterGermanyBernardo Dominic PROPOSAL
Adams E CaudyItalyIoni Bowcher PROPOSAL
Silvio X PoquetteJapanAmy Elsner RENEWAL
Adams J GillianGermanyOnyama Limba RENEWAL
Ricardo T CaldareraCanadaStephen Shaw UNQUALIFIED
Johnson O MaletGermanyBernardo Dominic QUALIFIED
Ashley K GarufiAustraliaAnna Fali NEW
Costa G FerenczSpainBernardo Dominic RENEWAL
Adams J ChuiJapanAsiya Javayant NEW
Silvio L StockhamIndiaAsiya Javayant RENEWAL
Francesco K TollnerJapanStephen Shaw UNQUALIFIED
Costa Z WhobreyIndiaElwin Sharvill UNQUALIFIED
Rodrigues O GarufiFranceIoni Bowcher PROPOSAL
Jennifer P SchemmerArgentinaBernardo Dominic PROPOSAL
Munro R GauchoCanadaAmy Elsner PROPOSAL
Morrow A NestleSpainBernardo Dominic UNQUALIFIED
Adams B StensethAustraliaStephen Shaw NEW
Chavez F RutaUnited KingdomBernardo Dominic UNQUALIFIED
Arvin M InouyeAustraliaIoni Bowcher NEGOTIATION
David W InouyeUnited KingdomAmy Elsner UNQUALIFIED
James M WieserSpainXuxue Feng NEGOTIATION
Sinclair Q SergiArgentinaOnyama Limba UNQUALIFIED
Wickens U ShinkoSpainIvan Magalhaes RENEWAL
Jeanfrancois D BriddickGermanyElwin Sharvill RENEWAL
Wickens L MorascaJapanIoni Bowcher NEGOTIATION
Izzy A FlosiArgentinaAnna Fali PROPOSAL
James X TollnerItalyStephen Shaw NEW
Aditya J ChuiFranceAnna Fali PROPOSAL
Juan A PaprockiArgentinaXuxue Feng NEW
Maisha Z SchemmerIndiaElwin Sharvill UNQUALIFIED
Morrow X BowleyCanadaElwin Sharvill UNQUALIFIED
Rodrigues F MacleadArgentinaAnna Fali PROPOSAL

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