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
Isabel C FollerUnited KingdomStephen Shaw NEW
Kaitlin J GillianArgentinaXuxue Feng NEW
Morrow L InouyeRussiaAnna Fali PROPOSAL
Jennifer L ChuiCanadaOnyama Limba NEW
Faith D GlickBrazilXuxue Feng UNQUALIFIED
Smith B CaldareraJapanBernardo Dominic NEW
Leon C WhobreyJapanIvan Magalhaes RENEWAL
Johnson A RutaJapanAnna Fali RENEWAL
Leja I TollnerCanadaAmy Elsner UNQUALIFIED
Salvatore K FollerFranceAnna Fali QUALIFIED
Jennifer G MarrierSpainAmy Elsner RENEWAL
Morrow Z ShinkoUnited KingdomAmy Elsner NEGOTIATION
Rodrigues C SergiRussiaAnna Fali NEW
Leon M CampainArgentinaStephen Shaw NEGOTIATION
Izzy P KolmetzGermanyAmy Elsner NEW
Cody C SlusarskiFranceStephen Shaw NEW
Sinclair B RoysterFranceAsiya Javayant RENEWAL
Kadeem J GillianJapanIvan Magalhaes PROPOSAL
Costa F DarakjyRussiaIoni Bowcher NEGOTIATION
Alejandro Z AlbaresIndiaIoni Bowcher RENEWAL
Ricardo E KolmetzCanadaXuxue Feng NEGOTIATION
David F VocelkaCanadaAnna Fali NEGOTIATION
Costa Z KolmetzJapanAmy Elsner NEW
Leja E KolmetzItalyOnyama Limba NEW
Isabel L IturbideItalyAmy Elsner NEGOTIATION
Darci L MaletArgentinaXuxue Feng RENEWAL
Wickens X MaletBrazilStephen Shaw UNQUALIFIED
Francesco R CampainFranceElwin Sharvill RENEWAL
Antonio G NestleJapanAmy Elsner NEW
Nicolas A FollerFranceStephen Shaw NEW
Munro X IturbideUnited KingdomBernardo Dominic NEW
Adams S SergiGermanyAnna Fali PROPOSAL
Morrow A ShinkoAustraliaAsiya Javayant PROPOSAL
Salvatore M BologniaAustraliaBernardo Dominic QUALIFIED
Ricardo Y SergiCanadaIoni Bowcher NEW
Octavia D MaletBrazilOnyama Limba NEGOTIATION
Munro O IturbideAustraliaIvan Magalhaes RENEWAL
Izzy M FerenczAustraliaAmy Elsner NEGOTIATION
Leon Z RimItalyAmy Elsner RENEWAL
Jennifer A SlusarskiItalyBernardo Dominic RENEWAL
Francesco E AmigonRussiaAsiya Javayant NEGOTIATION
Octavia Y NickaGermanyElwin Sharvill PROPOSAL
Francesco F NestleJapanXuxue Feng QUALIFIED
Wickens V SaylorsJapanBernardo Dominic UNQUALIFIED
Claire L FlosiSpainBernardo Dominic NEGOTIATION
Claire L KolmetzFranceAmy Elsner NEGOTIATION
Alejandro K OstroskyArgentinaOnyama Limba UNQUALIFIED
Sinclair C StockhamIndiaAmy Elsner RENEWAL
Kaitlin Z TollnerJapanAsiya Javayant NEGOTIATION
Maria C SlusarskiItalyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi L VenereJapanIoni Bowcher QUALIFIED
Francesco P MacleadSpainAnna Fali NEW
Stacey P WieserRussiaAnna Fali UNQUALIFIED
Silvio M StensethArgentinaStephen Shaw RENEWAL
Leon O MorascaJapanAnna Fali QUALIFIED
Munro S NestleGermanyStephen Shaw NEW
Alejandro R SlusarskiBrazilIvan Magalhaes NEGOTIATION
Cody M ShinkoAustraliaAsiya Javayant RENEWAL
Aruna H RimCanadaIoni Bowcher QUALIFIED
Jefferson Q RulapaughAustraliaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Z PerinGermany2025-06-14Chemel, James L Cpa NEW39Ivan Magalhaes
1001Smith C RimGermany2025-05-23Chanay, Jeffrey A Esq PROPOSAL29Onyama Limba
1002Jeanfrancois T DilliardItaly2025-06-07Benton, John B Jr UNQUALIFIED76Ivan Magalhaes
1003Emily T VocelkaItaly2025-06-13Commercial Press RENEWAL63Asiya Javayant
1004Leja Y ChuiAustralia2025-06-11Chemel, James L Cpa RENEWAL4Ivan Magalhaes
1005Rodrigues W MacleadArgentina2025-06-08Chemel, James L Cpa QUALIFIED20Ioni Bowcher
1006Leja R NestleBrazil2025-05-27Rangoni Of Florence PROPOSAL11Ioni Bowcher
1007Aika R SlusarskiGermany2025-06-08Buckley Miller Wright NEGOTIATION22Ivan Magalhaes
1008Mujtaba Z GlickCanada2025-05-16Printing Dimensions QUALIFIED20Ivan Magalhaes
1009Munro R StensethCanada2025-06-06Truhlar And Truhlar Attys UNQUALIFIED69Ivan Magalhaes
1010Darci K FlosiAustralia2025-05-25Commercial Press NEW80Ioni Bowcher
1011James X RimFrance2025-06-09Chapman, Ross E Esq NEGOTIATION69Elwin Sharvill
1012Jeanfrancois O RimGermany2025-05-26King, Christopher A Esq NEGOTIATION70Onyama Limba
1013Adams H DarakjyCanada2025-05-30Buckley Miller Wright PROPOSAL45Amy Elsner
1014James F ChuiRussia2025-05-18King, Christopher A Esq NEGOTIATION69Xuxue Feng
1015Deepesh L PerinBrazil2025-05-21King, Christopher A Esq RENEWAL1Ioni Bowcher
1016Jefferson Y FigeroaIndia2025-05-18Dorl, James J Esq PROPOSAL30Stephen Shaw
1017Adams N RimJapan2025-06-06Buckley Miller Wright UNQUALIFIED95Amy Elsner
1018Faith J WieserIndia2025-05-31Commercial Press PROPOSAL78Onyama Limba
1019Leja A MaletSpain2025-06-14Benton, John B Jr RENEWAL59Anna Fali
1020Greenwood R OldroydIndia2025-06-10Chemel, James L Cpa RENEWAL88Elwin Sharvill
1021Leon B RutaSpain2025-05-19Benton, John B Jr UNQUALIFIED96Anna Fali
1022Leja O SchemmerRussia2025-06-01Feiner Bros PROPOSAL19Anna Fali
1023Kaitlin L MorascaItaly2025-05-23Rousseaux, Michael Esq NEW77Asiya Javayant
1024Ivar L ShinkoSpain2025-05-31Printing Dimensions QUALIFIED74Xuxue Feng
1025Stacey Z SaylorsIndia2025-05-25Feiner Bros PROPOSAL56Amy Elsner
1026Tony C MaletUnited Kingdom2025-05-21Truhlar And Truhlar Attys RENEWAL90Asiya Javayant
1027Rodrigues E RutaItaly2025-06-08Benton, John B Jr NEGOTIATION72Ivan Magalhaes
1028Smith Q OstroskyItaly2025-06-09Rousseaux, Michael Esq UNQUALIFIED31Ivan Magalhaes
1029Murillo H NickaCanada2025-06-12King, Christopher A Esq QUALIFIED33Anna Fali
1030Jefferson Q BowleyFrance2025-06-07Commercial Press UNQUALIFIED78Elwin Sharvill
1031Juan W RoysterGermany2025-05-24Morlong Associates RENEWAL74Asiya Javayant
1032Aruna L CaudyIndia2025-06-08Chemel, James L Cpa QUALIFIED93Onyama Limba
1033James U KolmetzSpain2025-05-31King, Christopher A Esq NEGOTIATION86Asiya Javayant
1034Stacey F BriddickRussia2025-05-28King, Christopher A Esq RENEWAL3Amy Elsner
1035Wickens A MacleadItaly2025-05-16Buckley Miller Wright RENEWAL18Ioni Bowcher
1036Silvio G PerinAustralia2025-06-03Chemel, James L Cpa UNQUALIFIED57Stephen Shaw
1037Greenwood F WaycottCanada2025-05-24King, Christopher A Esq PROPOSAL95Xuxue Feng
1038Murillo G FlosiRussia2025-06-06King, Christopher A Esq NEW88Ivan Magalhaes
1039Morrow Y RoysterAustralia2025-05-28Printing Dimensions RENEWAL41Stephen Shaw
1040Kadeem D RimAustralia2025-06-04Printing Dimensions UNQUALIFIED51Anna Fali
1041Octavia J VocelkaFrance2025-06-09Buckley Miller Wright UNQUALIFIED38Bernardo Dominic
1042Emily P MaletGermany2025-06-07Benton, John B Jr UNQUALIFIED86Elwin Sharvill
1043Octavia L OldroydArgentina2025-06-06Chanay, Jeffrey A Esq PROPOSAL78Asiya Javayant
1044James L BowleyBrazil2025-05-23Printing Dimensions QUALIFIED89Bernardo Dominic
1045Ivar A WhobreyItaly2025-06-09Feltz Printing Service RENEWAL63Amy Elsner
1046Aika R SergiJapan2025-06-05Feltz Printing Service QUALIFIED46Ioni Bowcher
1047Emily Q VocelkaItaly2025-06-03King, Christopher A Esq UNQUALIFIED20Stephen Shaw
1048Ricardo U NickaRussia2025-05-17Feltz Printing Service UNQUALIFIED76Elwin Sharvill
1049Nicolas W IturbideAustralia2025-05-26Truhlar And Truhlar Attys RENEWAL53Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jennifer P DoeItalyStephen Shaw UNQUALIFIED
Leon P OldroydArgentinaAsiya Javayant PROPOSAL
Smith C RoysterFranceElwin Sharvill NEGOTIATION
Aditya U KolmetzIndiaAmy Elsner NEGOTIATION
Adams Q NestleGermanyXuxue Feng RENEWAL
Deepesh G MorascaBrazilAsiya Javayant PROPOSAL
Johnson R AmigonFranceStephen Shaw NEW
Antonio M BowleyUnited KingdomIoni Bowcher NEGOTIATION
Misaki M PoquetteSpainIvan Magalhaes NEGOTIATION
Mayumi T RoysterArgentinaAnna Fali UNQUALIFIED
Ashley S CaudyFranceXuxue Feng NEW
Costa I MaletItalyStephen Shaw NEGOTIATION
Darci B CampainGermanyStephen Shaw RENEWAL
Wickens O ShinkoItalyStephen Shaw PROPOSAL
Nicolas F GarufiSpainIoni Bowcher NEW
Greenwood J MaletIndiaIvan Magalhaes NEW
Kaitlin W WieserSpainAmy Elsner UNQUALIFIED
Murillo K GauchoGermanyAmy Elsner QUALIFIED
Johnson I RutaRussiaBernardo Dominic UNQUALIFIED
Maria K InouyeAustraliaStephen Shaw UNQUALIFIED
Cody M NestleRussiaXuxue Feng NEGOTIATION
Munro C DilliardFranceStephen Shaw QUALIFIED
Kaitlin V StockhamArgentinaBernardo Dominic PROPOSAL
Tony P PoquetteCanadaBernardo Dominic NEW
Arvin G IturbideAustraliaElwin Sharvill QUALIFIED
Jennifer W PoquetteBrazilAsiya Javayant NEW
Sinclair I WhobreyBrazilXuxue Feng NEGOTIATION
Jeanfrancois O MarrierSpainIvan Magalhaes PROPOSAL
Stacey B StockhamCanadaIvan Magalhaes RENEWAL
Adams A SlusarskiItalyElwin Sharvill PROPOSAL
Leon S FollerArgentinaIoni Bowcher NEW
Alejandro D WieserAustraliaAnna Fali NEW
Arvin H GarufiIndiaAsiya Javayant PROPOSAL
Maisha M DilliardUnited KingdomXuxue Feng NEGOTIATION
Antonio A MacleadJapanAsiya Javayant NEGOTIATION
Jones T RutaAustraliaAsiya Javayant QUALIFIED
Izzy C DarakjyRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois V SlusarskiRussiaStephen Shaw UNQUALIFIED
Faith E NestleAustraliaIvan Magalhaes UNQUALIFIED
Salvatore W ShinkoIndiaElwin Sharvill RENEWAL
Leja W DoeRussiaElwin Sharvill NEGOTIATION
Sinclair Q BriddickItalyStephen Shaw QUALIFIED
Smith O CaldareraIndiaBernardo Dominic QUALIFIED
Juan G IturbideIndiaBernardo Dominic QUALIFIED
Tony O MaletBrazilStephen Shaw NEGOTIATION
Wickens J GauchoFranceAmy Elsner QUALIFIED
Darci B TollnerArgentinaAnna Fali UNQUALIFIED
Faith G OldroydJapanAmy Elsner QUALIFIED
Jeanfrancois K GarufiFranceStephen Shaw RENEWAL
Cody R KolmetzUnited KingdomOnyama Limba QUALIFIED
Frozen Columns
Name
Ivar D Stockham
Johnson F Dilliard
Julie P Foller
Munro S Marrier
Silvio O Ostrosky
Cody G Malet
Julie N Saylors
Maisha S Marrier
Isabel C Poquette
Izzy T Morasca
Deepesh G Wieser
Leja T Malet
Isabel N Morasca
Clifford Y Maclead
Aditya F Morasca
Silvio K Kusko
Aditya W Whobrey
Arvin M Perin
Aruna R Malet
Deepesh V Stockham
Julie O Ferencz
Johnson F Bolognia
Aditya K Stockham
Julie Q Bowley
Ricardo N Tollner
David N Albares
Deepesh E Rim
Ricardo X Ferencz
Francesco F Ferencz
Antonio K Schemmer
Murillo R Caldarera
Adams C Bowley
Greenwood I Schemmer
Isabel V Saylors
Octavia P Darakjy
Kadeem G Chui
Aditya U Vocelka
Arvin K Kusko
Leon W Waycott
Deepesh M Stockham
Kadeem D Venere
Cody H Malet
Darci E Ostrosky
Emily R Nestle
Ricardo P Perin
Salvatore Q Ruta
Aika Q Maclead
Nicolas Z Morasca
Cody W Whobrey
Claire G Marrier
IdCountryDate
1000Germany2025-05-22
1001Australia2025-06-04
1002India2025-06-02
1003Argentina2025-05-31
1004Argentina2025-05-20
1005United Kingdom2025-06-01
1006Spain2025-05-25
1007Spain2025-06-03
1008France2025-05-21
1009India2025-06-08
1010Italy2025-05-26
1011Australia2025-05-30
1012France2025-06-12
1013Italy2025-05-30
1014Australia2025-06-07
1015Spain2025-06-03
1016United Kingdom2025-06-10
1017France2025-05-16
1018United Kingdom2025-06-09
1019Italy2025-05-26
1020Italy2025-06-10
1021Argentina2025-06-13
1022Russia2025-05-25
1023Argentina2025-06-09
1024Canada2025-06-01
1025Germany2025-05-26
1026Brazil2025-06-06
1027Australia2025-05-23
1028Canada2025-06-13
1029Russia2025-05-19
1030Argentina2025-05-16
1031United Kingdom2025-06-06
1032India2025-06-02
1033Italy2025-05-23
1034France2025-05-28
1035Russia2025-05-16
1036Russia2025-06-03
1037Japan2025-06-02
1038Argentina2025-06-06
1039Italy2025-05-30
1040Brazil2025-05-29
1041Australia2025-06-04
1042Spain2025-05-22
1043India2025-06-02
1044Argentina2025-05-31
1045France2025-06-11
1046Germany2025-05-19
1047United Kingdom2025-06-05
1048India2025-06-09
1049Australia2025-06-05

On-Demand Data

NameIdCountryDate
Darci T Oldroyd1000France2025-06-12
Sinclair A Perin1001Italy2025-05-31
David G Ostrosky1002Japan2025-05-30
Darci I Malet1003Australia2025-06-01
Leon O Whobrey1004Russia2025-05-30
Salvatore J Bowley1005Canada2025-06-06
Kaitlin Y Paprocki1006India2025-05-22
Ivar X Nicka1007Australia2025-06-02
Alejandro U Waycott1008Australia2025-06-14
James Q Waycott1009Brazil2025-06-02
Nicolas S Rim1010Brazil2025-05-20
Aika Y Stockham1011France2025-05-20
Julie R Garufi1012Brazil2025-05-17
Julie T Maclead1013India2025-05-27
Maisha C Morasca1014India2025-06-04
James J Maclead1015Russia2025-05-25
Stacey V Caldarera1016Germany2025-06-03
Julie L Campain1017Germany2025-06-09
Smith W Kusko1018Russia2025-05-18
Maria O Shinko1019Germany2025-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood F RulapaughArgentinaOnyama Limba QUALIFIED
Smith U MaletGermanyStephen Shaw UNQUALIFIED
Aika P SaylorsItalyAmy Elsner NEW
Munro F PaprockiUnited KingdomIoni Bowcher RENEWAL
Adams C DarakjyIndiaElwin Sharvill UNQUALIFIED
Isabel F FerenczSpainAmy Elsner RENEWAL
Aditya W FlosiItalyAsiya Javayant NEW
Murillo X SergiIndiaIoni Bowcher NEW
Greenwood J KuskoUnited KingdomAmy Elsner RENEWAL
Rodrigues I PoquetteAustraliaIoni Bowcher NEW
Stacey W DarakjyItalyAmy Elsner NEGOTIATION
Johnson A CaldareraRussiaXuxue Feng NEGOTIATION
David C PoquetteFranceAmy Elsner UNQUALIFIED
Darci S SaylorsSpainAnna Fali QUALIFIED
Smith Y ShinkoRussiaOnyama Limba QUALIFIED
Kaitlin B FigeroaBrazilIvan Magalhaes NEGOTIATION
Mayumi L StensethAustraliaAsiya Javayant UNQUALIFIED
Nicolas M GillianRussiaOnyama Limba NEGOTIATION
Ricardo F RulapaughArgentinaAnna Fali RENEWAL
Maisha I RutaItalyOnyama Limba NEGOTIATION
Juan V CampainCanadaOnyama Limba NEGOTIATION
Juan L VenereArgentinaBernardo Dominic UNQUALIFIED
Nicolas R PerinRussiaElwin Sharvill NEW
Jones Y MarrierArgentinaBernardo Dominic NEW
Antonio E MacleadUnited KingdomBernardo Dominic NEW
Darci X RulapaughArgentinaXuxue Feng RENEWAL
Jennifer A VocelkaGermanyElwin Sharvill UNQUALIFIED
Isabel O OstroskyCanadaXuxue Feng QUALIFIED
Murillo P NickaIndiaXuxue Feng NEGOTIATION
Kaitlin K GarufiIndiaIoni Bowcher NEW
Juan A RutaBrazilIoni Bowcher QUALIFIED
Darci A CaldareraArgentinaOnyama Limba RENEWAL
Smith P OstroskyBrazilIvan Magalhaes NEGOTIATION
Ashley C RulapaughCanadaAsiya Javayant RENEWAL
Jeanfrancois P CaldareraBrazilXuxue Feng NEW
Aditya D DilliardGermanyXuxue Feng RENEWAL
Julie Q FigeroaFranceOnyama Limba RENEWAL
Isabel P WhobreyAustraliaIoni Bowcher UNQUALIFIED
Tony C RutaItalyBernardo Dominic UNQUALIFIED
Smith C IturbideGermanyOnyama Limba 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>