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
Leon S ButtSpainAnna Fali RENEWAL
Ashley W WhobreyIndiaIvan Magalhaes RENEWAL
James Y NickaItalyAnna Fali QUALIFIED
Mujtaba R PerinJapanXuxue Feng NEW
Darci C GauchoIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois V BriddickUnited KingdomStephen Shaw NEGOTIATION
Wickens L MaletGermanyXuxue Feng PROPOSAL
Octavia G SlusarskiGermanyIoni Bowcher QUALIFIED
Clifford I BriddickItalyIvan Magalhaes PROPOSAL
Leja K FlosiIndiaAsiya Javayant RENEWAL
Jennifer N RutaCanadaAsiya Javayant PROPOSAL
James U StockhamArgentinaAsiya Javayant PROPOSAL
Izzy Y SergiItalyElwin Sharvill NEW
Sinclair C VenereAustraliaStephen Shaw PROPOSAL
Greenwood P RoysterSpainBernardo Dominic NEGOTIATION
Mayumi Y AlbaresAustraliaIoni Bowcher UNQUALIFIED
Kadeem F RoysterIndiaElwin Sharvill NEW
Alejandro K TollnerSpainXuxue Feng PROPOSAL
Rodrigues J WieserIndiaXuxue Feng RENEWAL
Juan F TollnerIndiaElwin Sharvill NEW
Wickens D GauchoArgentinaAnna Fali NEW
Adams K BologniaIndiaIvan Magalhaes UNQUALIFIED
Costa Z SlusarskiBrazilElwin Sharvill NEW
Isabel G SergiAustraliaXuxue Feng QUALIFIED
Claire Y DarakjySpainAnna Fali UNQUALIFIED
Alejandro B WieserBrazilIvan Magalhaes NEGOTIATION
Izzy Z VenereArgentinaAsiya Javayant RENEWAL
Aditya C FollerUnited KingdomAmy Elsner RENEWAL
Deepesh T SergiSpainBernardo Dominic NEGOTIATION
Francesco P StensethRussiaBernardo Dominic PROPOSAL
Kaitlin X BriddickFranceAsiya Javayant NEW
Murillo Y StockhamFranceXuxue Feng NEGOTIATION
Salvatore B FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
James D SaylorsBrazilElwin Sharvill PROPOSAL
Alejandro N WhobreySpainBernardo Dominic PROPOSAL
Misaki W PoquetteCanadaAmy Elsner NEGOTIATION
Antonio L StensethArgentinaStephen Shaw PROPOSAL
Francesco I MacleadBrazilOnyama Limba UNQUALIFIED
Sinclair C RimFranceIoni Bowcher QUALIFIED
Costa L BologniaRussiaIoni Bowcher UNQUALIFIED
Claire Z RulapaughArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois A ChuiUnited KingdomStephen Shaw UNQUALIFIED
Alejandro S SlusarskiGermanyXuxue Feng UNQUALIFIED
Costa D DoeItalyAmy Elsner PROPOSAL
Jefferson B BriddickUnited KingdomXuxue Feng UNQUALIFIED
Clifford C MorascaItalyBernardo Dominic UNQUALIFIED
Emily C CampainBrazilElwin Sharvill NEW
Claire O MorascaCanadaBernardo Dominic NEW
Francesco R TollnerAustraliaOnyama Limba RENEWAL
Izzy I RulapaughItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Izzy C BriddickItalyIvan Magalhaes NEGOTIATION
Emily B DoeBrazilOnyama Limba UNQUALIFIED
Faith H GarufiIndiaAnna Fali UNQUALIFIED
Maisha O AmigonSpainIvan Magalhaes NEW
Arvin N MaletFranceAnna Fali RENEWAL
Tony V SchemmerSpainOnyama Limba UNQUALIFIED
Sinclair W MacleadIndiaStephen Shaw NEW
Costa F MorascaRussiaBernardo Dominic NEGOTIATION
Arvin U MaletIndiaIvan Magalhaes NEW
Arvin W GillianRussiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James O WhobreyUnited Kingdom2024-05-25Rousseaux, Michael Esq QUALIFIED13Asiya Javayant
1001Emily P MaletSpain2024-05-23Rousseaux, Michael Esq UNQUALIFIED67Anna Fali
1002Clifford O DarakjyUnited Kingdom2024-06-01Chapman, Ross E Esq UNQUALIFIED97Ivan Magalhaes
1003Jefferson J PerinSpain2024-05-30Chapman, Ross E Esq PROPOSAL83Xuxue Feng
1004Aika O CaldareraJapan2024-05-20Dorl, James J Esq QUALIFIED57Stephen Shaw
1005Maria Q NestleCanada2024-06-17Truhlar And Truhlar Attys RENEWAL15Bernardo Dominic
1006Munro K MorascaJapan2024-06-15King, Christopher A Esq RENEWAL58Stephen Shaw
1007Costa U KolmetzArgentina2024-05-24Chanay, Jeffrey A Esq NEGOTIATION57Onyama Limba
1008Kadeem M DarakjyBrazil2024-06-01Dorl, James J Esq NEW64Amy Elsner
1009Misaki G CaldareraRussia2024-05-19Dorl, James J Esq NEGOTIATION41Asiya Javayant
1010Clifford R MarrierUnited Kingdom2024-06-14King, Christopher A Esq QUALIFIED51Xuxue Feng
1011Munro P RulapaughItaly2024-05-27Chapman, Ross E Esq PROPOSAL52Stephen Shaw
1012Nicolas F BriddickUnited Kingdom2024-05-25Chemel, James L Cpa UNQUALIFIED95Xuxue Feng
1013Adams O ShinkoGermany2024-06-05Morlong Associates UNQUALIFIED32Ivan Magalhaes
1014Murillo R AlbaresAustralia2024-05-30Commercial Press RENEWAL72Ioni Bowcher
1015Morrow S KuskoFrance2024-06-13Commercial Press UNQUALIFIED83Amy Elsner
1016Murillo N SlusarskiBrazil2024-05-27Chapman, Ross E Esq PROPOSAL12Asiya Javayant
1017Cody I MaletAustralia2024-06-16Feiner Bros UNQUALIFIED29Onyama Limba
1018Silvio U RulapaughItaly2024-05-29Rangoni Of Florence QUALIFIED25Xuxue Feng
1019Jeanfrancois X ChuiJapan2024-05-22Buckley Miller Wright QUALIFIED79Anna Fali
1020Faith J DoeGermany2024-05-21Feiner Bros PROPOSAL98Asiya Javayant
1021Wickens W GlickCanada2024-06-08Printing Dimensions QUALIFIED99Elwin Sharvill
1022Morrow B KolmetzAustralia2024-05-31Commercial Press PROPOSAL39Anna Fali
1023Deepesh D WieserRussia2024-06-04Feltz Printing Service PROPOSAL98Stephen Shaw
1024Jeanfrancois J PoquetteRussia2024-06-15Buckley Miller Wright PROPOSAL67Asiya Javayant
1025James E DoeItaly2024-05-29Printing Dimensions NEW12Ioni Bowcher
1026Leja B PerinJapan2024-05-21Dorl, James J Esq NEW60Bernardo Dominic
1027Stacey C FerenczFrance2024-06-04Chanay, Jeffrey A Esq QUALIFIED68Anna Fali
1028Arvin G RulapaughSpain2024-06-01Morlong Associates QUALIFIED1Ioni Bowcher
1029Jennifer S MorascaAustralia2024-06-09Chemel, James L Cpa QUALIFIED67Ivan Magalhaes
1030Julie S SlusarskiArgentina2024-05-26Commercial Press NEW63Bernardo Dominic
1031Sinclair R PaprockiJapan2024-06-15Chanay, Jeffrey A Esq NEW63Bernardo Dominic
1032Isabel Z KuskoFrance2024-06-15Morlong Associates RENEWAL34Anna Fali
1033Jeanfrancois M BologniaSpain2024-06-01Benton, John B Jr NEW70Bernardo Dominic
1034Isabel I RutaRussia2024-06-04Truhlar And Truhlar Attys RENEWAL45Asiya Javayant
1035Silvio D StensethCanada2024-06-02Chanay, Jeffrey A Esq RENEWAL1Onyama Limba
1036Kadeem C MaletGermany2024-05-24Morlong Associates NEGOTIATION99Amy Elsner
1037Kaitlin U StockhamAustralia2024-06-08Rousseaux, Michael Esq NEW81Xuxue Feng
1038Smith F RutaCanada2024-06-08Rousseaux, Michael Esq NEW49Elwin Sharvill
1039Kaitlin P DilliardItaly2024-06-17Rangoni Of Florence NEGOTIATION64Xuxue Feng
1040Alejandro T PaprockiJapan2024-05-23Truhlar And Truhlar Attys QUALIFIED27Asiya Javayant
1041Costa M GauchoCanada2024-06-15Feiner Bros QUALIFIED49Stephen Shaw
1042Ricardo M NestleGermany2024-06-15Chemel, James L Cpa RENEWAL38Bernardo Dominic
1043Izzy W TollnerSpain2024-05-25Commercial Press PROPOSAL91Asiya Javayant
1044Jones W GlickItaly2024-06-16Rangoni Of Florence PROPOSAL62Elwin Sharvill
1045Clifford H MorascaCanada2024-06-01King, Christopher A Esq NEW77Stephen Shaw
1046Julie L PaprockiUnited Kingdom2024-05-26Feltz Printing Service QUALIFIED43Elwin Sharvill
1047Sinclair M FollerAustralia2024-06-09Rousseaux, Michael Esq UNQUALIFIED57Stephen Shaw
1048Ashley N SlusarskiUnited Kingdom2024-06-06Truhlar And Truhlar Attys RENEWAL54Stephen Shaw
1049Clifford F KuskoUnited Kingdom2024-06-09Morlong Associates UNQUALIFIED56Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Salvatore H RutaGermanyXuxue Feng QUALIFIED
Nicolas S CampainIndiaBernardo Dominic NEGOTIATION
Murillo U SchemmerIndiaAmy Elsner QUALIFIED
Darci N FlosiIndiaIoni Bowcher QUALIFIED
Kadeem B CampainAustraliaAmy Elsner PROPOSAL
Jennifer M DoeUnited KingdomStephen Shaw PROPOSAL
Costa T PerinItalyElwin Sharvill PROPOSAL
James O StensethGermanyIoni Bowcher UNQUALIFIED
Kadeem C GlickAustraliaOnyama Limba QUALIFIED
Faith J ChuiIndiaAmy Elsner NEGOTIATION
James J KuskoUnited KingdomBernardo Dominic PROPOSAL
Silvio G RulapaughUnited KingdomAsiya Javayant RENEWAL
Nicolas Y DilliardBrazilXuxue Feng NEGOTIATION
Cody H FollerUnited KingdomAsiya Javayant NEW
Alejandro F MorascaArgentinaAsiya Javayant RENEWAL
Arvin C WaycottItalyStephen Shaw PROPOSAL
Izzy I MorascaGermanyBernardo Dominic UNQUALIFIED
Jeanfrancois E FerenczGermanyBernardo Dominic NEGOTIATION
Antonio M OstroskySpainXuxue Feng QUALIFIED
Kadeem P BriddickCanadaIvan Magalhaes UNQUALIFIED
Aruna W SergiBrazilStephen Shaw PROPOSAL
Maria A MacleadBrazilElwin Sharvill UNQUALIFIED
Antonio G AlbaresBrazilAmy Elsner NEW
Darci Z AmigonGermanyIoni Bowcher RENEWAL
Francesco W DilliardUnited KingdomStephen Shaw QUALIFIED
Mujtaba E NestleItalyAmy Elsner RENEWAL
Jones W KuskoRussiaAsiya Javayant UNQUALIFIED
Jeanfrancois C BowleyAustraliaAnna Fali PROPOSAL
Alejandro O OldroydItalyIvan Magalhaes RENEWAL
Leon U KuskoJapanElwin Sharvill NEGOTIATION
Costa I RutaCanadaAsiya Javayant NEW
Isabel Z VocelkaFranceOnyama Limba NEGOTIATION
Leja N FigeroaBrazilAmy Elsner RENEWAL
Maisha Q IturbideItalyAsiya Javayant NEW
Clifford Q SchemmerAustraliaIvan Magalhaes NEGOTIATION
Aika A MarrierIndiaAnna Fali UNQUALIFIED
Adams C FollerRussiaAsiya Javayant RENEWAL
Kaitlin X GlickUnited KingdomIvan Magalhaes NEW
Francesco Z CaudyUnited KingdomIvan Magalhaes RENEWAL
Kaitlin U RulapaughRussiaStephen Shaw NEGOTIATION
Antonio K MaletItalyAnna Fali RENEWAL
Alejandro M NickaItalyBernardo Dominic PROPOSAL
Arvin O InouyeJapanAsiya Javayant PROPOSAL
Tony P DilliardUnited KingdomAnna Fali RENEWAL
Kaitlin D SlusarskiAustraliaBernardo Dominic RENEWAL
Stacey B RimAustraliaAsiya Javayant UNQUALIFIED
Aditya Q WieserUnited KingdomXuxue Feng NEW
Ashley C GarufiJapanXuxue Feng RENEWAL
Tony S AmigonAustraliaElwin Sharvill RENEWAL
Wickens R RutaItalyAsiya Javayant QUALIFIED
Frozen Columns
Name
Ricardo I Tollner
Stacey I Poquette
Octavia D Poquette
Mujtaba K Maclead
Greenwood V Waycott
Emily G Poquette
Maisha R Rim
Misaki R Waycott
Munro C Ruta
Ivar R Maclead
James M Rulapaugh
Tony L Stockham
Cody F Waycott
Salvatore Q Wieser
Rodrigues F Vocelka
Misaki D Caudy
Greenwood J Kusko
Deepesh L Butt
Jones W Figeroa
Maisha J Dilliard
Tony W Nicka
Munro A Ostrosky
Cody X Bolognia
Misaki R Bowley
Jefferson J Campain
Aruna Y Gillian
Costa Y Gillian
Maisha Z Albares
Octavia B Kolmetz
Wickens F Wieser
Johnson Y Darakjy
Wickens Q Saylors
Cody K Iturbide
Cody Y Garufi
Ivar J Shinko
Silvio V Malet
Jefferson A Campain
Francesco E Whobrey
Murillo A Ostrosky
Misaki K Perin
Johnson T Caudy
Wickens P Sergi
Leon B Briddick
Ivar L Waycott
Stacey G Shinko
Alejandro Q Briddick
Jeanfrancois T Slusarski
David I Waycott
Maria P Stenseth
Emily A Darakjy
IdCountryDate
1000Canada2024-05-24
1001Italy2024-06-03
1002Canada2024-05-20
1003India2024-06-12
1004Brazil2024-05-28
1005Russia2024-05-29
1006Russia2024-06-13
1007Spain2024-06-06
1008Australia2024-05-29
1009Brazil2024-05-28
1010Spain2024-05-29
1011United Kingdom2024-05-28
1012France2024-06-02
1013Canada2024-06-10
1014Italy2024-06-08
1015France2024-05-20
1016Spain2024-06-13
1017Brazil2024-06-04
1018Brazil2024-06-01
1019Argentina2024-06-01
1020Italy2024-05-20
1021Canada2024-05-21
1022Japan2024-06-07
1023Brazil2024-06-07
1024Italy2024-05-29
1025Argentina2024-05-28
1026Italy2024-05-23
1027Italy2024-06-15
1028Germany2024-06-03
1029United Kingdom2024-06-09
1030United Kingdom2024-06-04
1031Argentina2024-05-26
1032Germany2024-06-13
1033France2024-06-14
1034Italy2024-05-31
1035Spain2024-06-05
1036Canada2024-06-16
1037Brazil2024-05-26
1038United Kingdom2024-06-01
1039Italy2024-05-23
1040Japan2024-05-24
1041Italy2024-06-07
1042France2024-06-10
1043Germany2024-06-16
1044India2024-05-21
1045Australia2024-06-12
1046Canada2024-06-04
1047Italy2024-06-09
1048Italy2024-05-31
1049Australia2024-05-20

On-Demand Data

NameIdCountryDate
Silvio I Caudy1000Italy2024-05-23
Silvio O Kusko1001United Kingdom2024-05-22
Juan V Nicka1002Germany2024-05-27
Claire W Nestle1003Japan2024-05-27
Misaki O Marrier1004Australia2024-05-31
Aditya I Inouye1005Germany2024-06-17
Kaitlin F Caldarera1006Spain2024-06-04
Mayumi J Stockham1007Italy2024-06-02
Aditya J Iturbide1008Argentina2024-05-19
Octavia E Malet1009Russia2024-05-20
Stacey A Malet1010Brazil2024-06-02
Aditya W Poquette1011Italy2024-06-09
Chavez Z Foller1012Germany2024-06-13
Jeanfrancois G Kusko1013Germany2024-05-26
Mujtaba D Maclead1014India2024-05-19
Izzy T Stockham1015Germany2024-05-21
Misaki L Malet1016Australia2024-05-19
Rodrigues V Ruta1017Spain2024-06-03
Claire A Glick1018India2024-06-14
Claire J Gillian1019Germany2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams S AmigonIndiaElwin Sharvill RENEWAL
Mayumi H RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Munro V FerenczItalyElwin Sharvill NEW
Darci F PoquetteCanadaStephen Shaw NEW
Antonio J MaletGermanyIoni Bowcher QUALIFIED
David B VocelkaBrazilAsiya Javayant NEW
Sinclair L MacleadItalyXuxue Feng NEGOTIATION
David T BriddickItalyStephen Shaw NEGOTIATION
Emily G StensethBrazilAsiya Javayant UNQUALIFIED
Ricardo U FollerAustraliaIvan Magalhaes NEGOTIATION
Deepesh C DoeGermanyAmy Elsner QUALIFIED
Darci W StockhamJapanElwin Sharvill PROPOSAL
Emily L CaldareraJapanOnyama Limba PROPOSAL
Clifford I PaprockiCanadaElwin Sharvill PROPOSAL
Smith I CaudyGermanyXuxue Feng NEGOTIATION
Clifford W NestleGermanyStephen Shaw NEGOTIATION
Morrow Q AmigonCanadaXuxue Feng RENEWAL
Misaki A CaldareraFranceAsiya Javayant PROPOSAL
Octavia L WieserRussiaAnna Fali RENEWAL
Mayumi I MaletArgentinaStephen Shaw QUALIFIED
Julie M WaycottIndiaStephen Shaw NEW
Francesco N SaylorsUnited KingdomAnna Fali QUALIFIED
Aditya M InouyeSpainAsiya Javayant UNQUALIFIED
Claire R StockhamIndiaOnyama Limba QUALIFIED
Faith H BologniaAustraliaBernardo Dominic PROPOSAL
Isabel B SaylorsItalyAmy Elsner NEW
Kadeem H CampainJapanIvan Magalhaes NEGOTIATION
Francesco K ButtItalyOnyama Limba NEW
Munro P FerenczJapanStephen Shaw QUALIFIED
Cody F PerinRussiaXuxue Feng NEW
Johnson S WaycottJapanXuxue Feng QUALIFIED
Antonio F MorascaItalyAnna Fali UNQUALIFIED
Kaitlin G KuskoIndiaBernardo Dominic NEW
Cody J VenereBrazilStephen Shaw PROPOSAL
Alejandro P OldroydUnited KingdomAsiya Javayant QUALIFIED
Morrow R WieserItalyAsiya Javayant NEGOTIATION
Jones Y RimArgentinaXuxue Feng NEGOTIATION
Claire B ButtGermanyStephen Shaw QUALIFIED
Morrow D NestleAustraliaStephen Shaw UNQUALIFIED
Jefferson G WaycottJapanAsiya Javayant 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>