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
Emily W BologniaGermanyElwin Sharvill QUALIFIED
Ivar R WaycottUnited KingdomXuxue Feng UNQUALIFIED
Leja N PerinBrazilAmy Elsner NEW
Johnson C FlosiJapanAnna Fali NEGOTIATION
Mayumi Q RimUnited KingdomXuxue Feng RENEWAL
Ashley I SlusarskiJapanXuxue Feng RENEWAL
Wickens P VenereBrazilIoni Bowcher PROPOSAL
Johnson A FollerAustraliaIvan Magalhaes PROPOSAL
Antonio K FigeroaAustraliaAmy Elsner NEGOTIATION
Jefferson L RulapaughBrazilXuxue Feng NEGOTIATION
James R ChuiFranceAsiya Javayant PROPOSAL
Antonio I GlickIndiaAsiya Javayant NEW
Murillo K VocelkaSpainAnna Fali NEGOTIATION
Claire N GarufiSpainIoni Bowcher PROPOSAL
Aditya P BologniaGermanyAsiya Javayant UNQUALIFIED
Chavez I OstroskyIndiaAmy Elsner NEW
Silvio A RulapaughFranceAnna Fali UNQUALIFIED
Nicolas J GillianGermanyBernardo Dominic UNQUALIFIED
Alejandro S NickaAustraliaXuxue Feng NEW
Munro A CaldareraIndiaXuxue Feng NEW
Aditya M MorascaGermanyXuxue Feng QUALIFIED
Leja D FigeroaCanadaIoni Bowcher NEGOTIATION
David N AmigonFranceAsiya Javayant PROPOSAL
Munro L PoquetteAustraliaAnna Fali NEW
Ricardo P FigeroaAustraliaBernardo Dominic NEW
Sinclair R RoysterUnited KingdomOnyama Limba UNQUALIFIED
Emily R RutaAustraliaOnyama Limba NEGOTIATION
David W PerinBrazilOnyama Limba PROPOSAL
Costa G CaldareraBrazilElwin Sharvill QUALIFIED
James Y ShinkoAustraliaXuxue Feng NEGOTIATION
Maisha Y InouyeUnited KingdomOnyama Limba QUALIFIED
Claire O WaycottSpainXuxue Feng UNQUALIFIED
Leon P AmigonGermanyAmy Elsner NEW
Salvatore T GarufiGermanyAsiya Javayant UNQUALIFIED
Maisha R PaprockiUnited KingdomAnna Fali RENEWAL
Salvatore G IturbideItalyBernardo Dominic UNQUALIFIED
Julie T InouyeRussiaAnna Fali NEW
Murillo O VenereArgentinaElwin Sharvill UNQUALIFIED
Aditya G DilliardIndiaAmy Elsner UNQUALIFIED
Leon W BriddickBrazilIoni Bowcher UNQUALIFIED
Ashley W CaudyGermanyXuxue Feng NEW
Darci V DoeAustraliaOnyama Limba RENEWAL
Arvin E AlbaresIndiaXuxue Feng NEGOTIATION
Ivar V PaprockiUnited KingdomAmy Elsner RENEWAL
Greenwood E DoeJapanAsiya Javayant NEGOTIATION
Salvatore H FlosiJapanIoni Bowcher QUALIFIED
Greenwood J MarrierJapanStephen Shaw NEW
David F FlosiSpainOnyama Limba PROPOSAL
Octavia O NestleRussiaElwin Sharvill UNQUALIFIED
Greenwood M GarufiGermanyAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens J SlusarskiUnited KingdomAmy Elsner QUALIFIED
Murillo F WhobreyCanadaElwin Sharvill NEGOTIATION
Aditya G FlosiGermanyIvan Magalhaes QUALIFIED
Francesco G GlickAustraliaBernardo Dominic PROPOSAL
Jennifer X SlusarskiSpainIvan Magalhaes PROPOSAL
Rodrigues R MarrierRussiaAmy Elsner RENEWAL
Ivar A DoeIndiaElwin Sharvill NEGOTIATION
Greenwood B GauchoGermanyAmy Elsner NEGOTIATION
Tony D RoysterSpainAmy Elsner QUALIFIED
Faith I SaylorsSpainOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood L WaycottCanada2024-06-03Printing Dimensions NEGOTIATION39Asiya Javayant
1001Johnson D AmigonUnited Kingdom2024-06-05Chanay, Jeffrey A Esq NEW7Xuxue Feng
1002Francesco S RutaBrazil2024-06-07Chapman, Ross E Esq RENEWAL90Elwin Sharvill
1003Maria Q RimSpain2024-06-09Dorl, James J Esq UNQUALIFIED87Bernardo Dominic
1004Leja H RulapaughCanada2024-06-11Morlong Associates NEGOTIATION76Ioni Bowcher
1005Deepesh M DarakjyBrazil2024-06-01Chemel, James L Cpa NEGOTIATION44Ioni Bowcher
1006Jeanfrancois J GauchoFrance2024-06-12Feltz Printing Service PROPOSAL21Asiya Javayant
1007Claire Z RutaJapan2024-06-11Feiner Bros RENEWAL94Ioni Bowcher
1008Rodrigues W TollnerFrance2024-06-12Morlong Associates RENEWAL59Onyama Limba
1009Morrow Z DoeAustralia2024-06-08Commercial Press NEGOTIATION76Onyama Limba
1010Tony S RulapaughCanada2024-05-29Feiner Bros UNQUALIFIED81Elwin Sharvill
1011Claire F GauchoRussia2024-05-26Chanay, Jeffrey A Esq NEW99Amy Elsner
1012Faith G RutaJapan2024-06-04Feltz Printing Service RENEWAL30Ivan Magalhaes
1013Salvatore M SaylorsAustralia2024-06-23Chemel, James L Cpa NEW9Stephen Shaw
1014Ashley T KolmetzSpain2024-05-30Feltz Printing Service QUALIFIED44Elwin Sharvill
1015Juan G InouyeFrance2024-06-21Truhlar And Truhlar Attys NEW32Bernardo Dominic
1016Mujtaba N AmigonCanada2024-05-31Buckley Miller Wright RENEWAL79Elwin Sharvill
1017Salvatore P PaprockiSpain2024-06-22Buckley Miller Wright RENEWAL43Stephen Shaw
1018Juan Y AmigonUnited Kingdom2024-06-06Feiner Bros NEGOTIATION88Ivan Magalhaes
1019Nicolas O RimJapan2024-05-28Chapman, Ross E Esq RENEWAL31Amy Elsner
1020Emily P KuskoUnited Kingdom2024-06-22Chanay, Jeffrey A Esq NEGOTIATION49Ioni Bowcher
1021Faith B PerinFrance2024-05-30Rangoni Of Florence NEW45Ioni Bowcher
1022Leja T RulapaughUnited Kingdom2024-06-16Dorl, James J Esq UNQUALIFIED35Ioni Bowcher
1023Izzy M BowleyGermany2024-06-23Dorl, James J Esq QUALIFIED25Onyama Limba
1024Leja L NestleAustralia2024-06-20Feltz Printing Service RENEWAL35Xuxue Feng
1025Silvio E WieserRussia2024-06-04King, Christopher A Esq UNQUALIFIED4Amy Elsner
1026Murillo G PoquetteRussia2024-06-15Truhlar And Truhlar Attys RENEWAL62Onyama Limba
1027Misaki X GarufiItaly2024-06-01Truhlar And Truhlar Attys NEW97Elwin Sharvill
1028Kaitlin S CaldareraIndia2024-06-12Chemel, James L Cpa UNQUALIFIED65Stephen Shaw
1029Aruna Q SlusarskiCanada2024-06-21Feltz Printing Service PROPOSAL37Onyama Limba
1030Leja N PerinArgentina2024-06-19Rangoni Of Florence RENEWAL15Ivan Magalhaes
1031Silvio F MarrierFrance2024-06-11Rousseaux, Michael Esq NEW13Ivan Magalhaes
1032James H TollnerBrazil2024-05-30Dorl, James J Esq RENEWAL31Ioni Bowcher
1033Kaitlin C BriddickJapan2024-06-18Truhlar And Truhlar Attys RENEWAL21Ioni Bowcher
1034David E KuskoGermany2024-06-05Truhlar And Truhlar Attys NEW20Stephen Shaw
1035Costa Q GillianBrazil2024-05-25Morlong Associates NEW56Asiya Javayant
1036Kadeem N KuskoAustralia2024-06-12Chemel, James L Cpa UNQUALIFIED37Bernardo Dominic
1037Julie Q BriddickFrance2024-06-20Feiner Bros NEGOTIATION98Xuxue Feng
1038Sinclair M FollerItaly2024-06-07King, Christopher A Esq PROPOSAL72Stephen Shaw
1039Cody S KolmetzIndia2024-06-02Printing Dimensions PROPOSAL64Ioni Bowcher
1040Mayumi W CampainCanada2024-06-04Chemel, James L Cpa UNQUALIFIED33Stephen Shaw
1041James T AlbaresBrazil2024-06-17Morlong Associates PROPOSAL80Asiya Javayant
1042Jennifer K SaylorsArgentina2024-06-04Feiner Bros NEGOTIATION82Onyama Limba
1043Octavia Z BologniaCanada2024-06-22Morlong Associates NEW84Stephen Shaw
1044Faith A BriddickCanada2024-06-09Rousseaux, Michael Esq UNQUALIFIED64Anna Fali
1045Julie I InouyeRussia2024-06-07Chemel, James L Cpa RENEWAL1Stephen Shaw
1046Deepesh U PerinJapan2024-06-22Buckley Miller Wright PROPOSAL10Anna Fali
1047Ricardo I AmigonGermany2024-06-07Dorl, James J Esq NEW40Onyama Limba
1048Kadeem N IturbideBrazil2024-06-09Benton, John B Jr NEGOTIATION1Onyama Limba
1049Clifford G FlosiFrance2024-06-05Truhlar And Truhlar Attys NEW16Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ashley S SaylorsItalyStephen Shaw RENEWAL
Jeanfrancois S OldroydIndiaAmy Elsner RENEWAL
Aika X IturbideIndiaIoni Bowcher NEGOTIATION
Julie E SergiIndiaAsiya Javayant QUALIFIED
David X MorascaArgentinaAnna Fali NEGOTIATION
Julie U IturbideArgentinaStephen Shaw RENEWAL
Ricardo J MaletJapanBernardo Dominic NEW
Darci M GlickItalyXuxue Feng PROPOSAL
Salvatore G MaletBrazilXuxue Feng RENEWAL
Morrow X WhobreyArgentinaAsiya Javayant QUALIFIED
Aruna I ChuiGermanyAnna Fali NEGOTIATION
Jones A WhobreyRussiaIoni Bowcher NEW
James D WaycottIndiaAnna Fali UNQUALIFIED
Octavia J KolmetzSpainAnna Fali PROPOSAL
Jeanfrancois A KolmetzFranceOnyama Limba RENEWAL
Emily Z MarrierRussiaStephen Shaw UNQUALIFIED
Aruna F RoysterFranceXuxue Feng NEW
Costa H AmigonRussiaBernardo Dominic QUALIFIED
Leon S PoquetteJapanAmy Elsner NEGOTIATION
Adams Q MaletRussiaStephen Shaw NEW
Juan G DoeRussiaAsiya Javayant NEW
Arvin R GlickSpainAmy Elsner NEW
Maria I GarufiSpainAsiya Javayant NEW
Deepesh P RutaArgentinaOnyama Limba UNQUALIFIED
Mujtaba F KuskoArgentinaStephen Shaw PROPOSAL
Wickens B BologniaItalyAmy Elsner RENEWAL
Maria W GlickUnited KingdomStephen Shaw PROPOSAL
Wickens W CampainFranceBernardo Dominic PROPOSAL
Kaitlin V VenereCanadaElwin Sharvill RENEWAL
Stacey D BologniaCanadaOnyama Limba NEGOTIATION
James O FlosiAustraliaOnyama Limba QUALIFIED
Morrow T RulapaughFranceAnna Fali NEW
Claire E DoeItalyOnyama Limba NEGOTIATION
Munro J AmigonUnited KingdomStephen Shaw RENEWAL
Misaki E PerinArgentinaAmy Elsner NEGOTIATION
Deepesh H PerinGermanyBernardo Dominic NEW
Kaitlin J BriddickAustraliaAmy Elsner RENEWAL
Smith H MarrierCanadaIvan Magalhaes UNQUALIFIED
Clifford Z OstroskyCanadaStephen Shaw NEW
James B DoeItalyAmy Elsner UNQUALIFIED
Chavez E ChuiItalyIvan Magalhaes RENEWAL
Darci R IturbideRussiaAsiya Javayant PROPOSAL
Morrow U GillianRussiaBernardo Dominic NEGOTIATION
Julie Q RoysterFranceStephen Shaw QUALIFIED
Adams N WhobreyUnited KingdomIvan Magalhaes NEGOTIATION
Faith O GauchoBrazilIvan Magalhaes PROPOSAL
Clifford A RoysterIndiaIoni Bowcher QUALIFIED
Juan F NickaUnited KingdomXuxue Feng PROPOSAL
Murillo T GauchoArgentinaAsiya Javayant QUALIFIED
Julie C GarufiSpainAmy Elsner PROPOSAL
Frozen Columns
Name
Maisha Q Iturbide
Silvio U Flosi
Aditya I Slusarski
Greenwood U Malet
Juan Y Dilliard
Juan D Foller
Maria O Ruta
Aruna E Oldroyd
Murillo M Nicka
Antonio Q Saylors
Clifford M Garufi
Tony Q Sergi
Maria K Ostrosky
Salvatore U Venere
Nicolas O Glick
Greenwood S Tollner
Sinclair G Tollner
Murillo A Royster
Octavia B Gaucho
Nicolas N Ferencz
Clifford I Nicka
Greenwood M Malet
Antonio U Paprocki
Mayumi M Kolmetz
Smith B Caldarera
Kadeem H Glick
Salvatore P Amigon
Salvatore B Bowley
James F Amigon
Ivar K Royster
Maisha C Whobrey
Mayumi O Bolognia
Misaki R Bolognia
Silvio V Darakjy
Smith N Rulapaugh
Izzy N Caldarera
Silvio O Vocelka
Sinclair K Rulapaugh
Munro B Foller
Sinclair Y Schemmer
Claire Y Slusarski
Leon M Malet
Salvatore M Foller
Misaki C Slusarski
Rodrigues U Briddick
Jefferson F Kolmetz
Misaki L Tollner
Morrow B Ostrosky
Octavia C Flosi
Deepesh C Paprocki
IdCountryDate
1000Spain2024-06-20
1001India2024-06-04
1002India2024-06-22
1003France2024-06-19
1004Brazil2024-06-11
1005Australia2024-06-10
1006Australia2024-05-26
1007Italy2024-05-27
1008India2024-05-28
1009India2024-06-01
1010United Kingdom2024-06-06
1011France2024-06-14
1012Spain2024-06-22
1013Germany2024-06-01
1014Spain2024-06-07
1015Japan2024-06-18
1016Japan2024-06-07
1017Germany2024-05-26
1018Brazil2024-06-04
1019Russia2024-05-25
1020United Kingdom2024-06-01
1021Australia2024-06-02
1022India2024-06-15
1023France2024-06-17
1024United Kingdom2024-06-17
1025France2024-05-30
1026Canada2024-06-12
1027Russia2024-06-11
1028Italy2024-06-23
1029Canada2024-06-13
1030Australia2024-05-27
1031Canada2024-06-21
1032Spain2024-06-12
1033France2024-06-14
1034Spain2024-06-21
1035France2024-06-12
1036Germany2024-05-27
1037India2024-06-02
1038Spain2024-06-09
1039Russia2024-06-10
1040Russia2024-06-17
1041Italy2024-06-21
1042France2024-05-25
1043France2024-06-11
1044India2024-06-14
1045Argentina2024-06-16
1046France2024-06-14
1047Canada2024-06-06
1048Canada2024-05-27
1049India2024-06-05

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Royster1000India2024-06-15
Aditya S Caudy1001Brazil2024-06-21
Jeanfrancois R Dilliard1002Germany2024-05-29
Jefferson X Royster1003Argentina2024-06-07
Clifford Q Briddick1004Japan2024-06-10
Ivar O Tollner1005Brazil2024-05-31
Silvio Z Darakjy1006Japan2024-06-19
Alejandro X Inouye1007Italy2024-06-02
Clifford M Ostrosky1008Argentina2024-06-06
Kadeem I Dilliard1009France2024-06-12
Leja U Garufi1010Brazil2024-06-03
Tony V Bolognia1011Brazil2024-06-13
Kadeem P Amigon1012Australia2024-05-27
Ashley U Flosi1013Australia2024-06-19
Clifford H Malet1014Australia2024-06-17
Julie K Figeroa1015Argentina2024-06-21
Kadeem A Stockham1016Spain2024-05-26
Salvatore N Stockham1017Canada2024-06-12
Salvatore H Ruta1018United Kingdom2024-06-01
David I Albares1019Spain2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie J RulapaughCanadaXuxue Feng NEW
Izzy H GauchoItalyIoni Bowcher NEGOTIATION
Leon I StockhamSpainAnna Fali NEGOTIATION
Kadeem O DoeItalyAsiya Javayant PROPOSAL
Kaitlin E ButtItalyStephen Shaw UNQUALIFIED
Greenwood N WhobreyUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna K RutaSpainAnna Fali PROPOSAL
Aditya E PoquetteRussiaElwin Sharvill UNQUALIFIED
Cody T WaycottFranceStephen Shaw QUALIFIED
Morrow E RimSpainBernardo Dominic RENEWAL
Murillo L ChuiIndiaElwin Sharvill NEGOTIATION
Kaitlin U PerinArgentinaIoni Bowcher RENEWAL
Adams S MarrierBrazilXuxue Feng NEW
Leon T ButtItalyElwin Sharvill NEGOTIATION
Jeanfrancois H ButtSpainIoni Bowcher RENEWAL
Johnson F FigeroaFranceOnyama Limba NEGOTIATION
Costa V ButtSpainAmy Elsner PROPOSAL
Johnson U OldroydGermanyStephen Shaw NEW
Misaki E SergiCanadaOnyama Limba UNQUALIFIED
Clifford B FigeroaRussiaBernardo Dominic QUALIFIED
Leja I IturbideRussiaIvan Magalhaes NEGOTIATION
Greenwood W WieserArgentinaStephen Shaw NEW
Adams C MaletArgentinaBernardo Dominic UNQUALIFIED
Munro H VocelkaBrazilBernardo Dominic RENEWAL
Munro E BriddickArgentinaAmy Elsner QUALIFIED
James C BriddickSpainElwin Sharvill NEW
Costa U CaldareraArgentinaIoni Bowcher UNQUALIFIED
Octavia F MaletIndiaAmy Elsner UNQUALIFIED
Isabel Q NestleUnited KingdomBernardo Dominic NEGOTIATION
Deepesh Y AmigonUnited KingdomAsiya Javayant NEW
Jeanfrancois D OstroskyAustraliaElwin Sharvill RENEWAL
Aruna E NestleIndiaStephen Shaw RENEWAL
Munro K IturbideItalyIvan Magalhaes UNQUALIFIED
Izzy N OldroydUnited KingdomAnna Fali UNQUALIFIED
Murillo Q InouyeBrazilAmy Elsner NEGOTIATION
Munro E ButtRussiaAmy Elsner RENEWAL
Jones D MaletCanadaOnyama Limba PROPOSAL
Morrow N FigeroaJapanStephen Shaw RENEWAL
Ricardo W GauchoJapanAnna Fali QUALIFIED
James K InouyeIndiaIvan Magalhaes 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>