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
Aika I ShinkoGermanyOnyama Limba PROPOSAL
Adams T WhobreyUnited KingdomAsiya Javayant NEW
Leon V FlosiUnited KingdomAnna Fali UNQUALIFIED
Julie X BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Juan O BriddickSpainIvan Magalhaes PROPOSAL
Stacey J WieserUnited KingdomAmy Elsner NEGOTIATION
Aika D FollerAustraliaOnyama Limba QUALIFIED
Ashley W NestleRussiaAnna Fali RENEWAL
Maria N GauchoItalyIoni Bowcher NEGOTIATION
Murillo P OstroskyGermanyBernardo Dominic PROPOSAL
Mayumi A FerenczGermanyIvan Magalhaes PROPOSAL
Misaki K PoquetteGermanyStephen Shaw NEW
Adams M GauchoFranceIoni Bowcher NEW
Aditya T MarrierAustraliaAnna Fali PROPOSAL
Aruna O IturbideSpainIoni Bowcher NEGOTIATION
Arvin K NestleArgentinaBernardo Dominic RENEWAL
Smith O BowleyUnited KingdomIoni Bowcher NEGOTIATION
Nicolas R AmigonGermanyIoni Bowcher UNQUALIFIED
Chavez Y MaletArgentinaOnyama Limba RENEWAL
Maria K InouyeRussiaIvan Magalhaes UNQUALIFIED
Mayumi X BriddickArgentinaAmy Elsner NEW
Alejandro O WieserSpainBernardo Dominic UNQUALIFIED
Jennifer A SergiBrazilXuxue Feng QUALIFIED
Munro I OldroydArgentinaAmy Elsner NEW
Izzy Y BriddickSpainIoni Bowcher RENEWAL
Stacey J ShinkoCanadaOnyama Limba PROPOSAL
Rodrigues L FlosiIndiaBernardo Dominic PROPOSAL
Deepesh B MaletArgentinaAnna Fali UNQUALIFIED
Francesco X SchemmerItalyOnyama Limba NEGOTIATION
Kaitlin Q MaletCanadaIvan Magalhaes NEW
Kaitlin F KuskoSpainXuxue Feng RENEWAL
David W WaycottGermanyAsiya Javayant PROPOSAL
David D CampainSpainAsiya Javayant PROPOSAL
Emily P FollerFranceElwin Sharvill PROPOSAL
Maisha P FigeroaArgentinaElwin Sharvill NEW
Chavez Z VenereIndiaIoni Bowcher NEGOTIATION
Tony E PerinJapanStephen Shaw UNQUALIFIED
Murillo L SergiItalyBernardo Dominic QUALIFIED
Francesco T ChuiGermanyBernardo Dominic UNQUALIFIED
Murillo I MaletArgentinaIvan Magalhaes NEGOTIATION
Kaitlin B SergiFranceElwin Sharvill QUALIFIED
Alejandro J WieserUnited KingdomBernardo Dominic QUALIFIED
Greenwood J SaylorsBrazilXuxue Feng PROPOSAL
Aditya M KolmetzRussiaAmy Elsner NEGOTIATION
Darci O SergiUnited KingdomXuxue Feng RENEWAL
Mayumi V MaletIndiaXuxue Feng NEGOTIATION
Misaki I FerenczItalyBernardo Dominic RENEWAL
Chavez W RutaUnited KingdomAmy Elsner PROPOSAL
Kadeem L StensethSpainIoni Bowcher NEW
Isabel B StensethUnited KingdomAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio A BowleyCanadaIoni Bowcher QUALIFIED
Aditya Q PaprockiIndiaAmy Elsner PROPOSAL
James Q BriddickRussiaXuxue Feng NEGOTIATION
Juan K WieserAustraliaOnyama Limba NEW
Rodrigues G CaldareraJapanElwin Sharvill QUALIFIED
Salvatore P RulapaughFranceAnna Fali QUALIFIED
Emily F FerenczItalyStephen Shaw NEW
Aruna X AlbaresArgentinaOnyama Limba QUALIFIED
Julie R SaylorsJapanElwin Sharvill PROPOSAL
Munro J RulapaughItalyBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan S GillianJapan2024-06-14Commercial Press NEW91Ivan Magalhaes
1001Kaitlin S StensethArgentina2024-06-03Feiner Bros NEGOTIATION14Ivan Magalhaes
1002Mayumi M BriddickCanada2024-05-31Buckley Miller Wright UNQUALIFIED24Stephen Shaw
1003Aika G AlbaresCanada2024-06-17Chanay, Jeffrey A Esq RENEWAL38Ivan Magalhaes
1004Rodrigues J AlbaresBrazil2024-06-14Printing Dimensions NEW22Anna Fali
1005David J AmigonFrance2024-06-20Chapman, Ross E Esq PROPOSAL45Asiya Javayant
1006James Z CampainCanada2024-06-13Feltz Printing Service PROPOSAL76Amy Elsner
1007Ivar Q DoeAustralia2024-06-20Chanay, Jeffrey A Esq QUALIFIED24Amy Elsner
1008James P SaylorsBrazil2024-06-16Feltz Printing Service NEW55Ioni Bowcher
1009Murillo F WaycottArgentina2024-05-30Chapman, Ross E Esq RENEWAL61Elwin Sharvill
1010Octavia V WhobreyGermany2024-05-30Chanay, Jeffrey A Esq QUALIFIED60Elwin Sharvill
1011Misaki Z NickaRussia2024-06-18Chapman, Ross E Esq NEGOTIATION3Anna Fali
1012Adams U PoquetteIndia2024-06-17Printing Dimensions PROPOSAL86Stephen Shaw
1013Francesco W RimUnited Kingdom2024-06-11Benton, John B Jr RENEWAL99Xuxue Feng
1014Leja T FlosiBrazil2024-06-13Chapman, Ross E Esq UNQUALIFIED13Bernardo Dominic
1015Juan X OstroskyRussia2024-05-23Feltz Printing Service PROPOSAL53Elwin Sharvill
1016Izzy Z MorascaRussia2024-06-08Chanay, Jeffrey A Esq PROPOSAL53Ivan Magalhaes
1017Leon X WieserUnited Kingdom2024-05-25Commercial Press NEW77Elwin Sharvill
1018Ivar X RutaItaly2024-05-24Rangoni Of Florence PROPOSAL85Xuxue Feng
1019Jennifer R FlosiSpain2024-06-18Buckley Miller Wright NEW50Stephen Shaw
1020Faith F OstroskySpain2024-06-01Commercial Press NEW22Amy Elsner
1021Ashley N DoeJapan2024-06-08Morlong Associates UNQUALIFIED29Ioni Bowcher
1022Clifford F FollerSpain2024-05-28Benton, John B Jr NEGOTIATION41Xuxue Feng
1023Jefferson S RoysterFrance2024-05-31Rousseaux, Michael Esq NEW36Bernardo Dominic
1024Maisha U CaldareraBrazil2024-06-09Feltz Printing Service PROPOSAL22Amy Elsner
1025Isabel D OstroskyBrazil2024-06-20Feltz Printing Service UNQUALIFIED83Xuxue Feng
1026Tony O GauchoJapan2024-06-06Truhlar And Truhlar Attys UNQUALIFIED90Xuxue Feng
1027Aditya F MaletRussia2024-06-19Rousseaux, Michael Esq NEW72Bernardo Dominic
1028Silvio S BowleyIndia2024-06-04Dorl, James J Esq QUALIFIED15Onyama Limba
1029Jefferson N TollnerGermany2024-06-04Truhlar And Truhlar Attys QUALIFIED49Elwin Sharvill
1030Sinclair I ButtCanada2024-06-02Feltz Printing Service NEGOTIATION89Amy Elsner
1031Deepesh P InouyeUnited Kingdom2024-05-28Rousseaux, Michael Esq NEW93Xuxue Feng
1032Salvatore R FigeroaBrazil2024-06-21Chapman, Ross E Esq UNQUALIFIED76Stephen Shaw
1033Alejandro M SchemmerItaly2024-06-11Chapman, Ross E Esq PROPOSAL48Onyama Limba
1034Tony A FlosiItaly2024-06-06Rangoni Of Florence NEGOTIATION82Ivan Magalhaes
1035Stacey T OldroydIndia2024-06-04Buckley Miller Wright RENEWAL28Ioni Bowcher
1036Jennifer T BowleyAustralia2024-06-19Chemel, James L Cpa PROPOSAL20Elwin Sharvill
1037Mayumi V RoysterCanada2024-05-30Commercial Press RENEWAL16Ioni Bowcher
1038Tony T BriddickAustralia2024-05-26Commercial Press RENEWAL69Bernardo Dominic
1039Jones Q DarakjyCanada2024-06-07Truhlar And Truhlar Attys PROPOSAL68Xuxue Feng
1040Adams M KuskoBrazil2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED11Stephen Shaw
1041Aditya O WieserGermany2024-06-03Benton, John B Jr QUALIFIED82Ivan Magalhaes
1042David P RimSpain2024-06-08Chanay, Jeffrey A Esq NEW39Bernardo Dominic
1043Izzy N MarrierJapan2024-06-06Morlong Associates QUALIFIED53Xuxue Feng
1044Isabel R SlusarskiArgentina2024-06-02King, Christopher A Esq UNQUALIFIED78Asiya Javayant
1045James V MaletFrance2024-06-12Commercial Press RENEWAL51Xuxue Feng
1046Clifford E DilliardFrance2024-06-01Rangoni Of Florence QUALIFIED79Bernardo Dominic
1047Julie C PerinSpain2024-05-30Rousseaux, Michael Esq NEW64Bernardo Dominic
1048Darci U WhobreyGermany2024-05-28Chemel, James L Cpa RENEWAL52Ivan Magalhaes
1049Juan J MorascaArgentina2024-06-09Morlong Associates NEW60Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Deepesh T PoquetteJapanXuxue Feng PROPOSAL
Nicolas G NickaCanadaAmy Elsner PROPOSAL
Mayumi A AlbaresArgentinaBernardo Dominic NEGOTIATION
Antonio X PerinItalyElwin Sharvill RENEWAL
Juan K MaletJapanAnna Fali QUALIFIED
Arvin S FigeroaRussiaIvan Magalhaes QUALIFIED
Deepesh M GillianItalyIoni Bowcher RENEWAL
Juan Y KolmetzGermanyElwin Sharvill QUALIFIED
Kaitlin P GarufiAustraliaAmy Elsner PROPOSAL
Silvio L RutaIndiaIvan Magalhaes NEGOTIATION
Octavia A GillianRussiaElwin Sharvill QUALIFIED
Leon A NickaJapanIvan Magalhaes QUALIFIED
Francesco E AlbaresSpainBernardo Dominic NEW
Munro D SlusarskiGermanyOnyama Limba PROPOSAL
Aruna A ButtGermanyOnyama Limba RENEWAL
Sinclair C BriddickIndiaAsiya Javayant QUALIFIED
Octavia N DoeAustraliaAsiya Javayant NEGOTIATION
Darci H CaldareraGermanyIoni Bowcher RENEWAL
Darci K FlosiRussiaBernardo Dominic QUALIFIED
Arvin T SlusarskiUnited KingdomOnyama Limba PROPOSAL
Misaki I WaycottSpainAmy Elsner PROPOSAL
Jeanfrancois C StensethFranceElwin Sharvill NEGOTIATION
Leja Q DoeGermanyAsiya Javayant NEGOTIATION
Isabel X GarufiArgentinaBernardo Dominic NEW
Leon A AlbaresJapanBernardo Dominic PROPOSAL
Kaitlin T MaletJapanIoni Bowcher QUALIFIED
Tony V CaldareraIndiaElwin Sharvill UNQUALIFIED
Rodrigues Q MaletRussiaAsiya Javayant UNQUALIFIED
Ricardo O PoquetteSpainIvan Magalhaes QUALIFIED
Tony X WieserGermanyXuxue Feng PROPOSAL
Maria G WaycottUnited KingdomIvan Magalhaes NEW
Morrow P SergiBrazilAsiya Javayant QUALIFIED
Julie K FollerSpainIoni Bowcher UNQUALIFIED
Jennifer U MaletFranceIvan Magalhaes RENEWAL
Izzy P RulapaughRussiaXuxue Feng RENEWAL
Aika R NestleSpainBernardo Dominic RENEWAL
Cody B SaylorsAustraliaStephen Shaw PROPOSAL
Julie X WaycottFranceIoni Bowcher QUALIFIED
Rodrigues U MorascaBrazilAsiya Javayant PROPOSAL
Clifford P GarufiJapanElwin Sharvill QUALIFIED
Octavia X BologniaBrazilAsiya Javayant NEGOTIATION
Aruna B BologniaRussiaAsiya Javayant PROPOSAL
Julie F ShinkoFranceIvan Magalhaes QUALIFIED
Aruna B NickaAustraliaAmy Elsner RENEWAL
Deepesh X DoeRussiaXuxue Feng NEGOTIATION
Sinclair Y NickaSpainAnna Fali NEGOTIATION
Isabel E ShinkoUnited KingdomStephen Shaw PROPOSAL
Costa D MorascaIndiaXuxue Feng NEGOTIATION
Rodrigues J FerenczArgentinaIoni Bowcher NEW
Murillo M SchemmerFranceIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Leja Z Rulapaugh
Aruna J Perin
Aika G Venere
Aruna A Poquette
Emily E Amigon
Johnson W Glick
Sinclair T Butt
Ivar X Kolmetz
Julie Z Saylors
Deepesh H Ruta
Juan O Poquette
Julie J Glick
Jones R Foller
Mujtaba A Bolognia
Sinclair F Maclead
Tony H Royster
Leon J Malet
Izzy M Campain
Aditya P Kolmetz
Deepesh P Morasca
Murillo A Butt
David J Schemmer
Maria W Schemmer
Chavez E Waycott
Maisha P Doe
Jones K Maclead
Jones R Kolmetz
Ivar T Chui
Darci H Campain
Mayumi T Morasca
Juan G Rim
Clifford R Iturbide
David Z Oldroyd
Silvio I Inouye
Aika O Amigon
James Q Maclead
Jefferson L Gillian
Arvin O Gaucho
Rodrigues V Gaucho
Isabel O Maclead
James Q Glick
Maisha S Flosi
Munro K Malet
Antonio M Dilliard
Smith Z Schemmer
David A Darakjy
Sinclair S Slusarski
Leja S Ostrosky
Jefferson S Stockham
James I Foller
IdCountryDate
1000Russia2024-05-24
1001Argentina2024-05-24
1002United Kingdom2024-06-04
1003Australia2024-06-17
1004France2024-06-03
1005Argentina2024-05-26
1006France2024-06-14
1007Brazil2024-06-05
1008Spain2024-06-14
1009India2024-06-03
1010Russia2024-06-17
1011Spain2024-06-13
1012Japan2024-06-05
1013Canada2024-06-08
1014Spain2024-05-29
1015Japan2024-06-09
1016Australia2024-06-03
1017Brazil2024-06-06
1018Spain2024-06-10
1019Japan2024-06-20
1020Spain2024-05-23
1021Germany2024-06-18
1022Germany2024-06-17
1023Spain2024-05-23
1024United Kingdom2024-06-11
1025Australia2024-06-09
1026Japan2024-06-11
1027Japan2024-06-14
1028Italy2024-06-16
1029Spain2024-06-05
1030India2024-06-18
1031Canada2024-06-13
1032Brazil2024-05-25
1033Russia2024-05-25
1034United Kingdom2024-06-14
1035Argentina2024-05-23
1036Canada2024-05-31
1037India2024-06-12
1038Germany2024-05-30
1039Australia2024-06-08
1040Argentina2024-06-21
1041India2024-06-06
1042Russia2024-06-10
1043France2024-06-11
1044Argentina2024-05-24
1045Germany2024-06-12
1046France2024-06-07
1047Japan2024-06-10
1048Canada2024-06-11
1049United Kingdom2024-05-29

On-Demand Data

NameIdCountryDate
Morrow Y Marrier1000United Kingdom2024-06-04
Darci E Rulapaugh1001Brazil2024-06-09
Francesco T Iturbide1002Germany2024-05-27
Cody J Flosi1003Spain2024-06-05
Mujtaba F Caudy1004Spain2024-06-18
Leja L Butt1005Spain2024-06-01
Leja V Schemmer1006Brazil2024-06-09
Clifford U Ruta1007Russia2024-06-09
Leja G Ostrosky1008Japan2024-06-11
Cody I Gillian1009Brazil2024-06-01
Maisha Z Royster1010Russia2024-06-14
Adams C Saylors1011Argentina2024-05-27
Darci A Bolognia1012Argentina2024-05-27
Clifford T Figeroa1013Australia2024-05-26
Darci B Maclead1014Italy2024-06-21
Alejandro C Flosi1015Germany2024-06-19
Misaki Z Glick1016Brazil2024-05-28
Alejandro W Oldroyd1017France2024-06-01
Morrow Y Gillian1018Germany2024-05-25
Jeanfrancois I Vocelka1019Russia2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika I BowleyJapanStephen Shaw QUALIFIED
Ivar V BologniaItalyAmy Elsner PROPOSAL
Aditya T FollerGermanyIvan Magalhaes NEW
Rodrigues T RutaItalyAnna Fali NEW
Antonio O NestleArgentinaIoni Bowcher PROPOSAL
Stacey Z NickaFranceIoni Bowcher RENEWAL
Mayumi F NestleGermanyIoni Bowcher NEGOTIATION
Jeanfrancois W CaldareraIndiaAnna Fali PROPOSAL
Antonio I RulapaughItalyElwin Sharvill RENEWAL
Kadeem B RutaBrazilAsiya Javayant RENEWAL
Chavez Z PaprockiCanadaAsiya Javayant QUALIFIED
David P StockhamGermanyIvan Magalhaes NEGOTIATION
Julie H OstroskyRussiaAmy Elsner UNQUALIFIED
Izzy Y InouyeBrazilBernardo Dominic PROPOSAL
Jefferson F CaldareraRussiaStephen Shaw NEGOTIATION
Murillo S PaprockiFranceIvan Magalhaes RENEWAL
Morrow P VenereSpainAnna Fali UNQUALIFIED
Aditya N OstroskyRussiaAmy Elsner QUALIFIED
Silvio W AmigonBrazilStephen Shaw QUALIFIED
Greenwood E SergiSpainXuxue Feng UNQUALIFIED
Sinclair Q SergiIndiaAsiya Javayant UNQUALIFIED
Wickens R PaprockiBrazilBernardo Dominic QUALIFIED
Cody R FlosiArgentinaIvan Magalhaes UNQUALIFIED
Leon D NestleItalyXuxue Feng QUALIFIED
Cody D KuskoIndiaAmy Elsner NEW
Murillo Q GillianAustraliaAmy Elsner PROPOSAL
Mayumi X GlickUnited KingdomIvan Magalhaes RENEWAL
Sinclair H InouyeGermanyAsiya Javayant QUALIFIED
Julie F PerinBrazilStephen Shaw RENEWAL
Mujtaba U GarufiCanadaAsiya Javayant UNQUALIFIED
Francesco M OldroydSpainBernardo Dominic QUALIFIED
Aditya C DarakjyUnited KingdomXuxue Feng QUALIFIED
Mujtaba H GarufiGermanyAmy Elsner RENEWAL
Darci C GlickJapanAnna Fali PROPOSAL
Murillo L DilliardArgentinaIvan Magalhaes NEW
Stacey P PoquetteJapanIvan Magalhaes NEW
Tony F MorascaBrazilOnyama Limba RENEWAL
Morrow G AmigonSpainStephen Shaw NEW
Maria H StockhamItalyOnyama Limba NEW
Tony J GauchoCanadaAmy Elsner 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>