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
Ivar W WhobreyAustraliaIoni Bowcher NEGOTIATION
Claire N SergiCanadaXuxue Feng RENEWAL
Julie J GillianUnited KingdomIoni Bowcher NEGOTIATION
Stacey Q SaylorsAustraliaAmy Elsner NEGOTIATION
Misaki K SlusarskiCanadaIoni Bowcher NEW
Morrow F MorascaUnited KingdomIoni Bowcher QUALIFIED
Costa W StockhamCanadaAnna Fali UNQUALIFIED
Darci D OldroydFranceIoni Bowcher PROPOSAL
Octavia A StockhamFranceAnna Fali RENEWAL
Sinclair V CaldareraCanadaStephen Shaw RENEWAL
Leon Z InouyeArgentinaAmy Elsner PROPOSAL
Isabel L PerinSpainStephen Shaw RENEWAL
Izzy Z AmigonJapanElwin Sharvill UNQUALIFIED
Francesco Y NestleSpainIvan Magalhaes UNQUALIFIED
Francesco X PaprockiRussiaIoni Bowcher PROPOSAL
Stacey H MarrierUnited KingdomAnna Fali QUALIFIED
Ricardo T PoquetteIndiaXuxue Feng NEGOTIATION
Johnson B MaletUnited KingdomIoni Bowcher PROPOSAL
Julie G PaprockiJapanXuxue Feng NEGOTIATION
Isabel G StensethJapanAsiya Javayant NEGOTIATION
Ivar V StockhamCanadaOnyama Limba NEGOTIATION
Johnson F BowleyRussiaStephen Shaw NEGOTIATION
Misaki U RulapaughIndiaXuxue Feng NEGOTIATION
Smith N MacleadBrazilIoni Bowcher QUALIFIED
Costa L KuskoFranceBernardo Dominic NEGOTIATION
Wickens F RoysterCanadaIoni Bowcher PROPOSAL
Chavez X MacleadGermanyXuxue Feng QUALIFIED
Johnson P VenereItalyAnna Fali PROPOSAL
Izzy W DarakjyAustraliaIoni Bowcher NEGOTIATION
Mujtaba W VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Cody S GarufiAustraliaIvan Magalhaes RENEWAL
Darci S CaudyBrazilIvan Magalhaes NEGOTIATION
Faith J RutaCanadaOnyama Limba NEW
Leja V PaprockiCanadaIvan Magalhaes UNQUALIFIED
Emily F OstroskyAustraliaIoni Bowcher UNQUALIFIED
Mayumi L FerenczArgentinaXuxue Feng QUALIFIED
Nicolas K KolmetzRussiaIoni Bowcher NEGOTIATION
Aditya N ButtSpainOnyama Limba NEW
Ashley Y SaylorsCanadaIvan Magalhaes QUALIFIED
Smith D CaudyJapanIoni Bowcher UNQUALIFIED
Munro N FerenczIndiaAnna Fali RENEWAL
Clifford T WieserUnited KingdomAmy Elsner NEW
Juan X PoquetteItalyAmy Elsner QUALIFIED
Adams R DoeCanadaXuxue Feng NEGOTIATION
Morrow G MacleadArgentinaAmy Elsner UNQUALIFIED
Julie V GillianBrazilXuxue Feng UNQUALIFIED
Morrow F DoeArgentinaAsiya Javayant RENEWAL
Greenwood M OstroskyArgentinaOnyama Limba QUALIFIED
Juan D GauchoJapanBernardo Dominic NEGOTIATION
Juan M GarufiCanadaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Munro Z MacleadGermanyIvan Magalhaes UNQUALIFIED
Clifford L MaletJapanAmy Elsner PROPOSAL
Darci T InouyeIndiaAmy Elsner RENEWAL
Faith H KuskoGermanyAnna Fali RENEWAL
Wickens C DoeArgentinaAnna Fali RENEWAL
Nicolas W DarakjyAustraliaAsiya Javayant RENEWAL
Sinclair S KolmetzRussiaElwin Sharvill NEGOTIATION
Juan T RulapaughAustraliaAmy Elsner UNQUALIFIED
Aruna R MorascaCanadaAmy Elsner UNQUALIFIED
Misaki J BowleySpainBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Y CaldareraSpain2026-06-30Feiner Bros UNQUALIFIED66Ivan Magalhaes
1001Ivar P VenereIndia2026-06-27Chanay, Jeffrey A Esq NEW18Bernardo Dominic
1002Aditya N BriddickArgentina2026-07-01Commercial Press UNQUALIFIED12Onyama Limba
1003Leja L ShinkoCanada2026-06-19Benton, John B Jr NEW10Asiya Javayant
1004Aruna M KuskoSpain2026-06-30Commercial Press UNQUALIFIED76Xuxue Feng
1005Ricardo W SaylorsRussia2026-06-19Benton, John B Jr QUALIFIED11Elwin Sharvill
1006Aika A SaylorsSpain2026-06-19Rousseaux, Michael Esq NEGOTIATION36Asiya Javayant
1007Jefferson V InouyeBrazil2026-06-09Rousseaux, Michael Esq RENEWAL73Asiya Javayant
1008Mayumi D StockhamRussia2026-06-17Benton, John B Jr PROPOSAL11Anna Fali
1009Izzy S PaprockiArgentina2026-06-12Feiner Bros RENEWAL88Anna Fali
1010Ivar J OstroskySpain2026-06-29Feltz Printing Service QUALIFIED64Xuxue Feng
1011Misaki C FigeroaJapan2026-06-26Truhlar And Truhlar Attys RENEWAL13Amy Elsner
1012Tony V FollerGermany2026-06-16Chemel, James L Cpa UNQUALIFIED1Elwin Sharvill
1013Jennifer D DoeSpain2026-06-06Printing Dimensions QUALIFIED76Ioni Bowcher
1014Maria N SaylorsJapan2026-06-06Dorl, James J Esq PROPOSAL98Onyama Limba
1015Morrow Z MaletCanada2026-07-02Morlong Associates NEW17Ivan Magalhaes
1016Aditya I PoquetteFrance2026-06-22Printing Dimensions NEW4Stephen Shaw
1017Johnson H RutaCanada2026-06-25Printing Dimensions QUALIFIED18Asiya Javayant
1018Wickens F MaletAustralia2026-06-11Buckley Miller Wright NEW87Asiya Javayant
1019Deepesh L RulapaughCanada2026-06-19King, Christopher A Esq PROPOSAL51Amy Elsner
1020Silvio G KolmetzSpain2026-06-05Benton, John B Jr PROPOSAL31Elwin Sharvill
1021Munro X KuskoItaly2026-07-01Morlong Associates QUALIFIED96Onyama Limba
1022Faith H MacleadCanada2026-06-07Feltz Printing Service QUALIFIED23Xuxue Feng
1023Wickens N RimSpain2026-06-28Rangoni Of Florence QUALIFIED65Ivan Magalhaes
1024Alejandro U GarufiCanada2026-06-04Benton, John B Jr NEGOTIATION62Bernardo Dominic
1025Nicolas K WieserRussia2026-06-22Commercial Press QUALIFIED89Asiya Javayant
1026Murillo V KuskoItaly2026-06-21Commercial Press PROPOSAL31Stephen Shaw
1027Juan L WhobreyCanada2026-06-11Chapman, Ross E Esq RENEWAL74Ivan Magalhaes
1028Sinclair Z RimItaly2026-06-11Chanay, Jeffrey A Esq QUALIFIED25Ivan Magalhaes
1029Silvio O CampainItaly2026-06-26Chanay, Jeffrey A Esq NEGOTIATION17Elwin Sharvill
1030Antonio U InouyeCanada2026-07-01Chanay, Jeffrey A Esq QUALIFIED50Xuxue Feng
1031Julie I DoeItaly2026-06-14King, Christopher A Esq QUALIFIED41Ivan Magalhaes
1032Nicolas U SergiFrance2026-06-21Chemel, James L Cpa UNQUALIFIED41Amy Elsner
1033Jennifer Y RutaUnited Kingdom2026-06-20Chemel, James L Cpa NEGOTIATION52Ioni Bowcher
1034Alejandro K SlusarskiAustralia2026-06-27Printing Dimensions PROPOSAL7Asiya Javayant
1035Stacey A OldroydRussia2026-06-17Feiner Bros RENEWAL69Anna Fali
1036Jefferson Q AmigonArgentina2026-06-28Printing Dimensions RENEWAL77Elwin Sharvill
1037Stacey X KuskoSpain2026-06-29Chanay, Jeffrey A Esq NEGOTIATION3Ioni Bowcher
1038Mujtaba S AmigonItaly2026-06-21Rangoni Of Florence UNQUALIFIED39Elwin Sharvill
1039Wickens J GillianArgentina2026-06-11Chanay, Jeffrey A Esq RENEWAL85Bernardo Dominic
1040Johnson J WaycottSpain2026-06-30Chapman, Ross E Esq PROPOSAL67Amy Elsner
1041Aruna W FerenczCanada2026-06-04King, Christopher A Esq RENEWAL82Elwin Sharvill
1042Salvatore Z RutaCanada2026-07-02Truhlar And Truhlar Attys PROPOSAL71Anna Fali
1043Darci C PaprockiSpain2026-06-22Buckley Miller Wright RENEWAL4Anna Fali
1044Cody H MacleadCanada2026-06-11Chanay, Jeffrey A Esq NEW3Amy Elsner
1045Julie B FlosiIndia2026-06-20Feltz Printing Service QUALIFIED1Elwin Sharvill
1046Antonio O NestleCanada2026-06-04Benton, John B Jr UNQUALIFIED56Ioni Bowcher
1047Antonio I RutaJapan2026-06-10Benton, John B Jr PROPOSAL20Stephen Shaw
1048Smith I NestleBrazil2026-06-15Chemel, James L Cpa PROPOSAL84Ivan Magalhaes
1049Johnson U VenereItaly2026-06-09Feltz Printing Service NEGOTIATION58Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aditya R WieserJapanIoni Bowcher PROPOSAL
Chavez Y SlusarskiFranceXuxue Feng NEW
Aditya U GlickSpainElwin Sharvill NEW
Antonio M GarufiFranceXuxue Feng RENEWAL
Tony P MorascaItalyAnna Fali RENEWAL
Mujtaba X TollnerGermanyAsiya Javayant RENEWAL
Johnson B ChuiRussiaElwin Sharvill NEW
Claire I MorascaSpainXuxue Feng NEW
Arvin N RutaBrazilIvan Magalhaes NEW
Leja F DilliardJapanElwin Sharvill QUALIFIED
Jennifer Q NestleUnited KingdomIoni Bowcher NEGOTIATION
Ricardo Z GlickGermanyAnna Fali NEW
Sinclair B MorascaRussiaAmy Elsner UNQUALIFIED
Ricardo M FlosiCanadaIvan Magalhaes RENEWAL
Isabel S StockhamBrazilBernardo Dominic QUALIFIED
Misaki D WieserSpainAsiya Javayant NEGOTIATION
Arvin L NestleIndiaAnna Fali QUALIFIED
Francesco C WieserJapanBernardo Dominic RENEWAL
Arvin W AlbaresFranceIoni Bowcher NEGOTIATION
Maisha V WaycottArgentinaElwin Sharvill QUALIFIED
Ivar G CaldareraGermanyXuxue Feng UNQUALIFIED
Faith A FerenczFranceBernardo Dominic PROPOSAL
Misaki I OldroydCanadaXuxue Feng NEW
Murillo A KuskoJapanIvan Magalhaes RENEWAL
Izzy W DoeCanadaOnyama Limba PROPOSAL
Clifford C WieserAustraliaAsiya Javayant RENEWAL
Morrow I IturbideUnited KingdomStephen Shaw NEGOTIATION
David N SlusarskiFranceOnyama Limba QUALIFIED
Rodrigues A VocelkaUnited KingdomAmy Elsner RENEWAL
Tony J DilliardSpainIvan Magalhaes NEGOTIATION
Ivar K ButtFranceAsiya Javayant PROPOSAL
Claire O InouyeCanadaXuxue Feng NEW
Tony B MaletFranceStephen Shaw UNQUALIFIED
Francesco H BowleyJapanAnna Fali NEW
Claire X VenereItalyBernardo Dominic UNQUALIFIED
Tony W BriddickJapanAsiya Javayant RENEWAL
Chavez B PoquetteArgentinaStephen Shaw RENEWAL
Stacey M CaldareraRussiaAsiya Javayant QUALIFIED
Claire N OstroskyFranceAsiya Javayant PROPOSAL
Darci U WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba K WhobreySpainOnyama Limba QUALIFIED
Aika Y FigeroaFranceXuxue Feng NEGOTIATION
Aruna L NestleIndiaOnyama Limba NEW
Jefferson S GarufiGermanyAmy Elsner NEW
Aika H SlusarskiCanadaXuxue Feng RENEWAL
Murillo I MaletRussiaXuxue Feng RENEWAL
Mayumi D GarufiSpainIvan Magalhaes NEGOTIATION
Izzy E KuskoUnited KingdomIvan Magalhaes NEW
Jennifer E FollerAustraliaAnna Fali NEW
David J GillianGermanyAnna Fali RENEWAL
Frozen Columns
Name
Silvio N Slusarski
Silvio G Dilliard
Juan Y Flosi
Wickens C Malet
Antonio S Bowley
Wickens C Rulapaugh
Kadeem J Inouye
Mujtaba U Doe
Kaitlin Z Saylors
Silvio G Vocelka
Antonio Q Venere
Misaki X Royster
Aika N Malet
Nicolas H Morasca
Munro S Doe
Aditya B Morasca
Sinclair I Briddick
Darci O Flosi
Adams Z Malet
Antonio G Amigon
Mujtaba K Ostrosky
Julie U Maclead
Ivar S Sergi
Chavez Q Nestle
James E Wieser
Antonio N Caudy
Julie V Butt
Murillo E Morasca
Octavia D Slusarski
Aruna V Shinko
Smith A Albares
Stacey O Malet
Claire A Gillian
Arvin F Briddick
Smith U Marrier
Johnson S Oldroyd
Izzy V Saylors
Maria E Paprocki
Aditya A Gaucho
Kadeem Z Darakjy
Julie I Nicka
James R Iturbide
Wickens Q Nicka
Kaitlin W Whobrey
Alejandro P Marrier
Aditya K Paprocki
Ashley M Ostrosky
Mayumi L Gillian
Juan V Poquette
Salvatore A Paprocki
IdCountryDate
1000Russia2026-06-22
1001Canada2026-06-18
1002Germany2026-06-10
1003United Kingdom2026-07-01
1004United Kingdom2026-06-20
1005United Kingdom2026-06-04
1006Germany2026-06-12
1007India2026-06-20
1008Japan2026-06-16
1009Japan2026-06-29
1010Japan2026-07-02
1011Germany2026-06-14
1012Spain2026-06-03
1013France2026-06-14
1014Japan2026-06-12
1015Spain2026-06-15
1016Russia2026-06-13
1017Australia2026-06-24
1018Argentina2026-06-08
1019Argentina2026-06-14
1020Germany2026-06-17
1021Australia2026-06-20
1022India2026-06-03
1023Russia2026-06-08
1024Brazil2026-06-11
1025France2026-07-01
1026Argentina2026-06-27
1027India2026-06-07
1028United Kingdom2026-06-23
1029Canada2026-06-25
1030Canada2026-06-14
1031Russia2026-06-24
1032Italy2026-06-12
1033Argentina2026-06-08
1034France2026-06-24
1035India2026-06-08
1036Japan2026-06-30
1037Brazil2026-06-08
1038Canada2026-06-06
1039France2026-06-10
1040Argentina2026-06-04
1041Australia2026-06-22
1042Germany2026-06-23
1043Japan2026-06-04
1044Japan2026-06-22
1045Japan2026-06-14
1046Canada2026-06-17
1047France2026-06-07
1048Russia2026-07-02
1049Italy2026-06-06

On-Demand Data

NameIdCountryDate
Silvio O Albares1000Spain2026-06-05
Maria D Ruta1001Japan2026-06-04
Wickens A Wieser1002Brazil2026-07-02
Faith T Bowley1003Argentina2026-06-18
Adams A Iturbide1004Japan2026-06-16
Misaki X Ferencz1005Australia2026-06-19
Octavia D Dilliard1006Argentina2026-07-01
Ricardo A Rulapaugh1007India2026-07-01
Jones I Poquette1008India2026-06-28
David R Marrier1009Japan2026-06-19
Francesco Z Malet1010Italy2026-06-06
Jefferson W Vocelka1011France2026-07-01
Maria U Slusarski1012India2026-07-01
Adams T Poquette1013Japan2026-06-07
Misaki A Malet1014Russia2026-06-26
Jennifer D Sergi1015France2026-06-19
Adams J Stockham1016Germany2026-06-10
Darci Q Ferencz1017United Kingdom2026-06-04
Murillo N Vocelka1018Canada2026-06-21
Isabel J Briddick1019Germany2026-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie I RutaCanadaAmy Elsner NEGOTIATION
Tony D RulapaughArgentinaAmy Elsner RENEWAL
Cody B WhobreyArgentinaIoni Bowcher NEGOTIATION
Misaki G InouyeCanadaStephen Shaw NEW
Nicolas E NestleJapanXuxue Feng UNQUALIFIED
Wickens P IturbideGermanyStephen Shaw UNQUALIFIED
Juan B AlbaresCanadaBernardo Dominic QUALIFIED
Salvatore F PaprockiJapanXuxue Feng PROPOSAL
Arvin P KuskoCanadaIoni Bowcher QUALIFIED
Chavez A SlusarskiIndiaAsiya Javayant RENEWAL
Deepesh L WieserSpainStephen Shaw PROPOSAL
Mayumi O GlickIndiaElwin Sharvill UNQUALIFIED
Stacey O RimItalyBernardo Dominic NEW
Sinclair Z DoeRussiaOnyama Limba PROPOSAL
Salvatore U WieserArgentinaIoni Bowcher PROPOSAL
Alejandro Z SaylorsItalyAmy Elsner UNQUALIFIED
Darci I NickaAustraliaAmy Elsner PROPOSAL
Ivar U RulapaughCanadaIvan Magalhaes UNQUALIFIED
Julie N OldroydIndiaXuxue Feng NEW
Greenwood R MacleadSpainStephen Shaw QUALIFIED
Jennifer V WieserGermanyBernardo Dominic QUALIFIED
David H RulapaughItalyStephen Shaw UNQUALIFIED
Jeanfrancois Y RulapaughGermanyXuxue Feng PROPOSAL
Mujtaba Y RutaArgentinaXuxue Feng QUALIFIED
Kadeem C PoquetteAustraliaStephen Shaw UNQUALIFIED
Jefferson P StensethFranceAsiya Javayant NEGOTIATION
Chavez T NickaGermanyIoni Bowcher PROPOSAL
Emily A FlosiRussiaAsiya Javayant PROPOSAL
Deepesh R RimRussiaXuxue Feng RENEWAL
Wickens P MaletArgentinaAmy Elsner RENEWAL
Murillo U MaletRussiaStephen Shaw PROPOSAL
Johnson Z StensethArgentinaAnna Fali NEW
Jefferson B FerenczArgentinaElwin Sharvill UNQUALIFIED
Mujtaba E AlbaresGermanyXuxue Feng RENEWAL
Juan X DarakjySpainAmy Elsner UNQUALIFIED
Cody E CaldareraFranceAmy Elsner NEW
Ashley N CaldareraItalyElwin Sharvill NEGOTIATION
Juan R VenereUnited KingdomElwin Sharvill PROPOSAL
Deepesh H IturbideIndiaIoni Bowcher NEGOTIATION
David M AlbaresFranceElwin Sharvill 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>