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
Munro R AmigonAustraliaAnna Fali RENEWAL
Izzy N BowleyCanadaOnyama Limba NEW
Jones M ChuiFranceAmy Elsner UNQUALIFIED
Jeanfrancois Q IturbideArgentinaElwin Sharvill NEW
Leja C WhobreyBrazilIoni Bowcher NEGOTIATION
Stacey S DarakjyJapanOnyama Limba RENEWAL
Wickens T AlbaresCanadaElwin Sharvill RENEWAL
Wickens V AlbaresFranceBernardo Dominic NEW
Adams K TollnerArgentinaAsiya Javayant QUALIFIED
Alejandro H BowleyBrazilStephen Shaw RENEWAL
Julie Z CaudyArgentinaOnyama Limba NEGOTIATION
Deepesh R CaldareraBrazilAmy Elsner PROPOSAL
Murillo P PoquetteItalyStephen Shaw PROPOSAL
Arvin V WaycottAustraliaElwin Sharvill PROPOSAL
Kadeem N IturbideUnited KingdomAnna Fali NEW
Ivar X FigeroaUnited KingdomElwin Sharvill PROPOSAL
Clifford B NestleRussiaAsiya Javayant NEGOTIATION
Ivar Q PoquetteSpainAsiya Javayant QUALIFIED
Cody B RimUnited KingdomIvan Magalhaes PROPOSAL
Emily Y ButtUnited KingdomStephen Shaw RENEWAL
Antonio P ShinkoItalyAsiya Javayant QUALIFIED
Isabel B NickaAustraliaXuxue Feng NEW
Julie F RimIndiaXuxue Feng UNQUALIFIED
Sinclair E KuskoItalyAmy Elsner UNQUALIFIED
Chavez P KolmetzCanadaXuxue Feng UNQUALIFIED
Greenwood F GauchoItalyStephen Shaw NEGOTIATION
Ivar L DilliardCanadaAnna Fali PROPOSAL
Maisha B IturbideGermanyStephen Shaw QUALIFIED
Aditya S MorascaFranceStephen Shaw NEW
Jeanfrancois K SchemmerUnited KingdomElwin Sharvill RENEWAL
Stacey X NestleItalyXuxue Feng UNQUALIFIED
Leja N WieserGermanyIoni Bowcher QUALIFIED
Jeanfrancois H StensethFranceBernardo Dominic PROPOSAL
Cody K RimUnited KingdomAmy Elsner PROPOSAL
Rodrigues X SlusarskiSpainAnna Fali UNQUALIFIED
Ashley V DoeJapanAmy Elsner NEW
Johnson Y DilliardCanadaAnna Fali NEW
Aditya B TollnerFranceXuxue Feng NEGOTIATION
Juan N RulapaughFranceBernardo Dominic UNQUALIFIED
Ricardo C GlickUnited KingdomIoni Bowcher NEW
Smith V PoquetteArgentinaIoni Bowcher PROPOSAL
Jones S BriddickIndiaIoni Bowcher PROPOSAL
Ashley O SaylorsGermanyXuxue Feng UNQUALIFIED
Rodrigues U WieserArgentinaIvan Magalhaes NEGOTIATION
Tony C MarrierIndiaAmy Elsner QUALIFIED
Stacey J NestleIndiaAmy Elsner NEGOTIATION
Leon R GillianArgentinaXuxue Feng PROPOSAL
Greenwood B BowleyUnited KingdomIoni Bowcher NEGOTIATION
Maisha D CaudyRussiaAnna Fali NEGOTIATION
James K StockhamJapanAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja L OstroskyAustraliaXuxue Feng QUALIFIED
Munro D ChuiArgentinaStephen Shaw NEGOTIATION
Aditya O GillianItalyIvan Magalhaes QUALIFIED
Mujtaba E RimFranceOnyama Limba QUALIFIED
Juan Z SergiCanadaIvan Magalhaes QUALIFIED
Murillo R OstroskyGermanyAsiya Javayant RENEWAL
Sinclair I KuskoItalyIoni Bowcher UNQUALIFIED
Morrow Y RulapaughJapanIvan Magalhaes UNQUALIFIED
Murillo Y WhobreyGermanyStephen Shaw RENEWAL
Clifford I FlosiBrazilAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio N FlosiSpain2024-05-24King, Christopher A Esq PROPOSAL84Onyama Limba
1001Ricardo Z CaudyBrazil2024-05-26King, Christopher A Esq QUALIFIED90Amy Elsner
1002Francesco H BowleyItaly2024-06-01Feltz Printing Service NEW75Ivan Magalhaes
1003David Z CaldareraFrance2024-06-10Rangoni Of Florence PROPOSAL32Asiya Javayant
1004Alejandro T GlickBrazil2024-05-24Feltz Printing Service UNQUALIFIED16Amy Elsner
1005Ricardo O WaycottAustralia2024-05-24King, Christopher A Esq RENEWAL41Ioni Bowcher
1006Smith K IturbideItaly2024-06-07Truhlar And Truhlar Attys PROPOSAL46Amy Elsner
1007Aditya R SaylorsArgentina2024-05-20Feltz Printing Service RENEWAL24Stephen Shaw
1008Kadeem T GauchoSpain2024-05-20Feiner Bros UNQUALIFIED87Onyama Limba
1009Murillo U NickaItaly2024-05-23Printing Dimensions PROPOSAL30Elwin Sharvill
1010Juan F FigeroaFrance2024-06-12Feltz Printing Service UNQUALIFIED56Elwin Sharvill
1011Johnson E FerenczRussia2024-06-09Benton, John B Jr PROPOSAL89Onyama Limba
1012Julie G VenereGermany2024-05-26Commercial Press NEW93Stephen Shaw
1013Mayumi C FollerSpain2024-06-13Buckley Miller Wright PROPOSAL93Xuxue Feng
1014Jeanfrancois V KolmetzCanada2024-05-27Rangoni Of Florence PROPOSAL25Bernardo Dominic
1015Jeanfrancois N VenereSpain2024-05-31Benton, John B Jr QUALIFIED43Anna Fali
1016Aruna Y ButtAustralia2024-06-08Feiner Bros NEGOTIATION49Stephen Shaw
1017Tony Z GauchoIndia2024-06-11Dorl, James J Esq NEGOTIATION88Ioni Bowcher
1018Silvio R DoeAustralia2024-05-19Rangoni Of Florence NEGOTIATION69Bernardo Dominic
1019Nicolas G KuskoAustralia2024-05-27Rousseaux, Michael Esq QUALIFIED59Stephen Shaw
1020David V PoquetteGermany2024-05-23Feltz Printing Service PROPOSAL84Onyama Limba
1021Tony D BowleyItaly2024-05-25Chanay, Jeffrey A Esq PROPOSAL60Elwin Sharvill
1022Murillo E ButtRussia2024-06-13Rousseaux, Michael Esq QUALIFIED86Ivan Magalhaes
1023Clifford Q MaletGermany2024-05-16Dorl, James J Esq NEGOTIATION43Stephen Shaw
1024Clifford D WhobreyArgentina2024-05-30King, Christopher A Esq QUALIFIED46Elwin Sharvill
1025Leja Y PaprockiRussia2024-05-20Commercial Press NEGOTIATION54Anna Fali
1026Aruna G RulapaughArgentina2024-05-21Benton, John B Jr NEW7Asiya Javayant
1027Aika Z NickaUnited Kingdom2024-06-01Truhlar And Truhlar Attys NEW43Xuxue Feng
1028Murillo W GauchoSpain2024-06-13Benton, John B Jr QUALIFIED13Ioni Bowcher
1029Wickens K AmigonItaly2024-06-04Chemel, James L Cpa RENEWAL81Amy Elsner
1030Ashley Y VocelkaItaly2024-06-04Commercial Press NEW35Amy Elsner
1031Juan W MaletJapan2024-05-20Commercial Press RENEWAL87Onyama Limba
1032Mayumi O StockhamSpain2024-06-06Chapman, Ross E Esq RENEWAL65Xuxue Feng
1033Clifford C TollnerGermany2024-06-13Chemel, James L Cpa QUALIFIED24Bernardo Dominic
1034Murillo O AmigonAustralia2024-05-20King, Christopher A Esq NEW89Xuxue Feng
1035Octavia O OstroskyUnited Kingdom2024-05-15Chapman, Ross E Esq NEW41Amy Elsner
1036Clifford O PaprockiUnited Kingdom2024-05-17King, Christopher A Esq PROPOSAL77Anna Fali
1037Cody X ShinkoAustralia2024-05-17Buckley Miller Wright UNQUALIFIED83Amy Elsner
1038Jefferson V OldroydAustralia2024-05-28Dorl, James J Esq NEW1Stephen Shaw
1039Jeanfrancois N MaletRussia2024-05-22Feiner Bros RENEWAL36Anna Fali
1040Jennifer O VocelkaGermany2024-06-04Dorl, James J Esq PROPOSAL30Onyama Limba
1041Kadeem H GillianGermany2024-05-18Feiner Bros NEW42Bernardo Dominic
1042Antonio U TollnerUnited Kingdom2024-06-08Buckley Miller Wright NEGOTIATION90Onyama Limba
1043Jones D WhobreyRussia2024-06-05Rousseaux, Michael Esq RENEWAL86Anna Fali
1044Wickens Y StockhamCanada2024-06-05Commercial Press PROPOSAL21Amy Elsner
1045Misaki L BowleyUnited Kingdom2024-06-03Dorl, James J Esq NEGOTIATION86Onyama Limba
1046Adams J FerenczIndia2024-06-01Commercial Press QUALIFIED74Amy Elsner
1047Salvatore Z MorascaArgentina2024-06-04Feiner Bros RENEWAL1Elwin Sharvill
1048Stacey I RutaRussia2024-05-31Rangoni Of Florence UNQUALIFIED52Bernardo Dominic
1049Cody U SergiCanada2024-05-17Rangoni Of Florence UNQUALIFIED53Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jennifer H CaldareraCanadaXuxue Feng NEGOTIATION
Julie I MaletArgentinaAsiya Javayant UNQUALIFIED
Chavez X WieserSpainElwin Sharvill QUALIFIED
Kadeem J CaldareraJapanBernardo Dominic QUALIFIED
Jennifer T BriddickGermanyElwin Sharvill NEGOTIATION
Maria P FigeroaGermanyXuxue Feng RENEWAL
Jeanfrancois P DarakjyRussiaAsiya Javayant NEW
Tony S KolmetzUnited KingdomAsiya Javayant RENEWAL
Silvio D WaycottRussiaOnyama Limba RENEWAL
Antonio N FollerItalyBernardo Dominic PROPOSAL
Maisha F NickaSpainElwin Sharvill NEGOTIATION
Aika J GarufiFranceElwin Sharvill UNQUALIFIED
Jones G InouyeSpainElwin Sharvill NEGOTIATION
Adams D AmigonItalyBernardo Dominic RENEWAL
Juan I DilliardRussiaAsiya Javayant PROPOSAL
Ashley F RutaAustraliaIoni Bowcher UNQUALIFIED
Octavia J FlosiRussiaOnyama Limba NEGOTIATION
Alejandro N BowleyAustraliaXuxue Feng QUALIFIED
Faith D MarrierJapanIoni Bowcher NEGOTIATION
Smith Y KuskoSpainElwin Sharvill PROPOSAL
Alejandro I RoysterAustraliaIoni Bowcher NEGOTIATION
Ashley R NestleJapanIvan Magalhaes QUALIFIED
Ashley Q FollerRussiaAsiya Javayant UNQUALIFIED
Claire E TollnerJapanBernardo Dominic RENEWAL
David O GillianSpainAnna Fali PROPOSAL
Faith B KolmetzItalyAsiya Javayant QUALIFIED
Aditya G OldroydUnited KingdomIvan Magalhaes PROPOSAL
Maisha H DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Costa D StensethGermanyElwin Sharvill PROPOSAL
Aditya J KuskoBrazilIoni Bowcher UNQUALIFIED
Morrow U FerenczGermanyAsiya Javayant NEGOTIATION
Juan W GarufiAustraliaBernardo Dominic QUALIFIED
Wickens Z CaudyBrazilBernardo Dominic QUALIFIED
Jennifer J StockhamUnited KingdomStephen Shaw PROPOSAL
Salvatore E CaudySpainXuxue Feng NEGOTIATION
Smith N CaudyIndiaAnna Fali RENEWAL
Isabel E RoysterCanadaAmy Elsner NEW
Alejandro B SaylorsIndiaIoni Bowcher RENEWAL
Munro M CampainRussiaAsiya Javayant UNQUALIFIED
Jennifer H RimJapanIvan Magalhaes RENEWAL
Stacey T RoysterUnited KingdomStephen Shaw PROPOSAL
Mayumi X MaletIndiaXuxue Feng NEGOTIATION
Maisha W CaudyIndiaAsiya Javayant PROPOSAL
Deepesh U GlickCanadaIoni Bowcher UNQUALIFIED
Smith O MaletUnited KingdomStephen Shaw PROPOSAL
Silvio Q IturbideFranceBernardo Dominic PROPOSAL
Greenwood P PerinRussiaAmy Elsner UNQUALIFIED
Jeanfrancois N GarufiUnited KingdomXuxue Feng QUALIFIED
Francesco I DarakjyFranceAmy Elsner NEGOTIATION
Wickens U KuskoIndiaAsiya Javayant NEW
Frozen Columns
Name
Julie R Caudy
Clifford O Venere
Faith L Albares
Sinclair Y Ruta
David S Amigon
Deepesh T Caudy
Kadeem K Stenseth
Mayumi A Saylors
Adams T Caldarera
David K Vocelka
Faith Z Kusko
Misaki G Iturbide
Faith K Kusko
Wickens R Garufi
David E Inouye
Jefferson F Stenseth
Johnson T Whobrey
Smith T Foller
Alejandro F Vocelka
Jeanfrancois Z Butt
Cody V Nicka
Silvio T Figeroa
Misaki O Caudy
Leon H Figeroa
Jefferson W Maclead
Munro R Sergi
Smith L Tollner
Jefferson V Poquette
Maria P Shinko
Mujtaba F Royster
Claire J Amigon
Smith K Shinko
Maria Z Rulapaugh
Kadeem X Dilliard
Darci G Albares
Francesco Q Tollner
Maria N Glick
Aruna Q Stockham
Leon N Maclead
Murillo X Amigon
Aditya H Malet
Claire N Iturbide
Aruna P Paprocki
Misaki I Garufi
Izzy H Kolmetz
Chavez R Rim
Mujtaba Q Saylors
Antonio S Slusarski
Arvin V Stockham
Isabel L Bolognia
IdCountryDate
1000Canada2024-05-26
1001Russia2024-05-20
1002Germany2024-06-02
1003Japan2024-05-26
1004France2024-06-07
1005Argentina2024-05-24
1006Australia2024-05-27
1007United Kingdom2024-06-05
1008United Kingdom2024-06-10
1009Japan2024-06-05
1010Canada2024-06-02
1011Italy2024-05-31
1012India2024-05-22
1013Russia2024-06-12
1014India2024-05-23
1015United Kingdom2024-06-04
1016France2024-06-10
1017Spain2024-05-31
1018Argentina2024-06-07
1019Japan2024-05-21
1020Australia2024-06-11
1021Spain2024-05-16
1022Australia2024-06-02
1023Brazil2024-05-17
1024Germany2024-06-05
1025Australia2024-06-12
1026India2024-05-22
1027France2024-05-24
1028Argentina2024-06-02
1029Brazil2024-05-15
1030Australia2024-05-30
1031India2024-05-15
1032Australia2024-06-02
1033Japan2024-06-11
1034Canada2024-06-07
1035Argentina2024-05-20
1036United Kingdom2024-05-30
1037Italy2024-05-22
1038France2024-05-26
1039Spain2024-06-13
1040Russia2024-05-27
1041Brazil2024-06-07
1042United Kingdom2024-05-28
1043France2024-05-22
1044United Kingdom2024-06-10
1045Brazil2024-05-29
1046United Kingdom2024-06-13
1047Japan2024-06-12
1048Germany2024-05-19
1049Russia2024-06-01

On-Demand Data

NameIdCountryDate
Mujtaba W Vocelka1000Argentina2024-06-05
Morrow Z Vocelka1001Germany2024-05-16
Arvin N Butt1002India2024-05-27
Costa X Stenseth1003United Kingdom2024-05-21
Adams I Vocelka1004Russia2024-06-11
Cody M Darakjy1005Australia2024-05-19
Munro F Inouye1006Russia2024-05-25
Costa G Nestle1007France2024-05-16
Kadeem A Venere1008Canada2024-05-25
Murillo I Caldarera1009Australia2024-06-09
Juan U Maclead1010Japan2024-05-20
Rodrigues H Ostrosky1011Canada2024-06-08
Aika Y Kusko1012Brazil2024-06-11
Jeanfrancois J Kolmetz1013Germany2024-05-27
Darci U Bowley1014India2024-05-18
Sinclair D Briddick1015Germany2024-05-31
Tony H Vocelka1016France2024-06-04
James H Inouye1017Japan2024-06-08
Ricardo X Doe1018Germany2024-06-06
Costa E Perin1019France2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem L KuskoArgentinaElwin Sharvill NEW
Ricardo W RulapaughSpainElwin Sharvill PROPOSAL
Misaki V MarrierFranceBernardo Dominic RENEWAL
Antonio M InouyeRussiaXuxue Feng UNQUALIFIED
Faith A StockhamItalyIvan Magalhaes RENEWAL
Emily R DilliardGermanyIvan Magalhaes QUALIFIED
Darci Y PoquetteGermanyIoni Bowcher UNQUALIFIED
Rodrigues Z KolmetzBrazilAnna Fali QUALIFIED
James P NestleJapanIvan Magalhaes NEW
Faith Y InouyeArgentinaIvan Magalhaes PROPOSAL
Ivar F InouyeItalyStephen Shaw QUALIFIED
Cody D NickaItalyIoni Bowcher NEW
Arvin X AmigonUnited KingdomOnyama Limba NEGOTIATION
Silvio U BologniaArgentinaIoni Bowcher UNQUALIFIED
Morrow H NestleUnited KingdomAmy Elsner QUALIFIED
Maria V RimAustraliaAmy Elsner NEW
Mayumi T WieserArgentinaAsiya Javayant QUALIFIED
Adams C WaycottFranceXuxue Feng QUALIFIED
Cody F StockhamSpainIoni Bowcher NEW
Alejandro T GillianRussiaElwin Sharvill RENEWAL
Mujtaba N SaylorsIndiaAmy Elsner RENEWAL
Wickens R KolmetzIndiaElwin Sharvill PROPOSAL
Morrow T BologniaAustraliaElwin Sharvill QUALIFIED
Francesco Z PerinArgentinaElwin Sharvill QUALIFIED
Stacey W KuskoSpainAnna Fali NEW
David B RutaItalyAnna Fali RENEWAL
Stacey F GillianSpainIvan Magalhaes NEW
Stacey M PerinCanadaOnyama Limba RENEWAL
Jones Y GauchoRussiaAnna Fali NEGOTIATION
Ashley F AlbaresAustraliaAnna Fali UNQUALIFIED
Maria H ChuiFranceAmy Elsner QUALIFIED
Stacey I SchemmerGermanyAnna Fali RENEWAL
Julie C RimIndiaAmy Elsner NEGOTIATION
Chavez P WaycottJapanElwin Sharvill QUALIFIED
Kaitlin H PerinFranceIvan Magalhaes PROPOSAL
Aruna I DoeIndiaIvan Magalhaes NEGOTIATION
Izzy H ButtArgentinaAmy Elsner QUALIFIED
Leja C AlbaresJapanOnyama Limba UNQUALIFIED
Antonio B DoeUnited KingdomAmy Elsner NEW
Mujtaba P KolmetzArgentinaStephen Shaw 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>