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
Clifford D MorascaAustraliaAnna Fali RENEWAL
David X MarrierJapanAnna Fali NEW
Silvio B VenereGermanyIvan Magalhaes PROPOSAL
Misaki S WaycottCanadaBernardo Dominic NEGOTIATION
Salvatore L RoysterSpainAsiya Javayant NEW
Mayumi Q MaletUnited KingdomIvan Magalhaes RENEWAL
Ricardo F MarrierIndiaElwin Sharvill RENEWAL
James R ButtUnited KingdomElwin Sharvill NEW
Deepesh U SaylorsBrazilBernardo Dominic PROPOSAL
Salvatore H GarufiFranceAsiya Javayant NEW
Isabel E PoquetteFranceIoni Bowcher NEGOTIATION
James B CaudyArgentinaAnna Fali UNQUALIFIED
Aika G SchemmerRussiaXuxue Feng RENEWAL
Julie A BologniaJapanOnyama Limba UNQUALIFIED
Cody W GauchoItalyIoni Bowcher QUALIFIED
Izzy U DarakjyBrazilAmy Elsner QUALIFIED
Mujtaba T FerenczRussiaAsiya Javayant NEW
Cody I SaylorsJapanAnna Fali NEW
Kaitlin T StensethRussiaBernardo Dominic NEGOTIATION
Jefferson L VocelkaCanadaAmy Elsner UNQUALIFIED
Izzy A SchemmerFranceAmy Elsner NEW
Johnson D FerenczJapanBernardo Dominic NEW
Faith V CampainAustraliaBernardo Dominic UNQUALIFIED
Stacey U WieserJapanAnna Fali NEGOTIATION
Octavia V SlusarskiArgentinaStephen Shaw NEGOTIATION
Julie F BowleySpainAmy Elsner QUALIFIED
Mayumi D PaprockiJapanAmy Elsner NEGOTIATION
Octavia D WaycottAustraliaIvan Magalhaes NEGOTIATION
Chavez T RoysterFranceBernardo Dominic QUALIFIED
Julie S BowleyCanadaBernardo Dominic NEGOTIATION
Mayumi O RimUnited KingdomIvan Magalhaes NEGOTIATION
Emily V VocelkaGermanyAnna Fali RENEWAL
Cody S MorascaBrazilIvan Magalhaes QUALIFIED
Jefferson M RimItalyIvan Magalhaes QUALIFIED
Jennifer T SlusarskiRussiaOnyama Limba NEW
Chavez V CaudyGermanyStephen Shaw RENEWAL
Izzy L MorascaIndiaIvan Magalhaes NEGOTIATION
Julie O InouyeAustraliaBernardo Dominic NEGOTIATION
Deepesh B GillianArgentinaAsiya Javayant NEGOTIATION
Mayumi P MarrierGermanyElwin Sharvill QUALIFIED
Costa I StensethGermanyIvan Magalhaes NEW
Misaki L TollnerAustraliaIoni Bowcher PROPOSAL
Jefferson B CaudyArgentinaAsiya Javayant NEGOTIATION
Deepesh J DarakjyJapanIoni Bowcher RENEWAL
Mayumi J GauchoAustraliaAsiya Javayant PROPOSAL
Aika T IturbideAustraliaAsiya Javayant PROPOSAL
Faith H BologniaCanadaBernardo Dominic PROPOSAL
Silvio Y BologniaIndiaAnna Fali UNQUALIFIED
Clifford F BologniaGermanyStephen Shaw RENEWAL
Munro T GlickCanadaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
David Z AlbaresAustraliaAnna Fali NEW
Leon V BologniaGermanyOnyama Limba RENEWAL
Isabel X BowleyCanadaOnyama Limba PROPOSAL
Deepesh V MaletCanadaIoni Bowcher RENEWAL
Cody V FerenczSpainAsiya Javayant UNQUALIFIED
David R CaudyRussiaAnna Fali NEW
Izzy U CaldareraRussiaStephen Shaw PROPOSAL
Isabel E GarufiArgentinaIvan Magalhaes NEGOTIATION
Morrow J GlickUnited KingdomAsiya Javayant PROPOSAL
Jones B AlbaresArgentinaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair M DarakjyFrance2024-06-13Feltz Printing Service UNQUALIFIED89Amy Elsner
1001James Y OstroskySpain2024-06-18Rousseaux, Michael Esq QUALIFIED23Bernardo Dominic
1002Kadeem P GlickCanada2024-06-11Chapman, Ross E Esq NEGOTIATION81Amy Elsner
1003Izzy A WaycottSpain2024-06-14Feltz Printing Service UNQUALIFIED60Anna Fali
1004Cody Q StensethIndia2024-06-04Feiner Bros NEW8Amy Elsner
1005Nicolas U WhobreyUnited Kingdom2024-06-06Truhlar And Truhlar Attys QUALIFIED27Onyama Limba
1006Izzy W DilliardUnited Kingdom2024-06-19Feiner Bros PROPOSAL11Ivan Magalhaes
1007Mayumi H AmigonCanada2024-06-05Feiner Bros QUALIFIED28Asiya Javayant
1008Jeanfrancois E DarakjyItaly2024-06-06Truhlar And Truhlar Attys UNQUALIFIED33Ioni Bowcher
1009Juan J InouyeArgentina2024-06-14Chapman, Ross E Esq NEW6Asiya Javayant
1010Jennifer R DoeUnited Kingdom2024-06-12Rangoni Of Florence NEW86Xuxue Feng
1011Smith Z FlosiBrazil2024-06-20King, Christopher A Esq NEW9Amy Elsner
1012Smith J OstroskyIndia2024-06-03Rousseaux, Michael Esq NEW90Anna Fali
1013Aika D ChuiItaly2024-06-04Feiner Bros QUALIFIED19Stephen Shaw
1014Greenwood X DoeSpain2024-06-13Buckley Miller Wright NEW68Anna Fali
1015Ashley G GlickAustralia2024-06-18Chapman, Ross E Esq RENEWAL12Bernardo Dominic
1016Octavia I IturbideUnited Kingdom2024-06-11Dorl, James J Esq QUALIFIED72Asiya Javayant
1017Smith L MaletRussia2024-05-24Truhlar And Truhlar Attys RENEWAL3Anna Fali
1018Claire B SergiRussia2024-05-29Benton, John B Jr QUALIFIED52Onyama Limba
1019Maria W NestleAustralia2024-06-14Buckley Miller Wright NEGOTIATION81Bernardo Dominic
1020Octavia A RoysterSpain2024-06-21Truhlar And Truhlar Attys UNQUALIFIED62Stephen Shaw
1021Maisha W SchemmerAustralia2024-06-11Commercial Press RENEWAL56Amy Elsner
1022Rodrigues Y FigeroaSpain2024-05-25Truhlar And Truhlar Attys QUALIFIED81Asiya Javayant
1023Greenwood P OstroskyIndia2024-06-20Rangoni Of Florence NEW35Ioni Bowcher
1024Kaitlin J RutaRussia2024-06-16King, Christopher A Esq UNQUALIFIED88Anna Fali
1025Jeanfrancois D BriddickAustralia2024-06-09Rousseaux, Michael Esq RENEWAL83Ivan Magalhaes
1026Julie O SergiIndia2024-05-29Rousseaux, Michael Esq PROPOSAL26Amy Elsner
1027Wickens T RimAustralia2024-06-09Truhlar And Truhlar Attys RENEWAL67Asiya Javayant
1028Rodrigues T MorascaJapan2024-06-02Rangoni Of Florence RENEWAL27Elwin Sharvill
1029Stacey K FollerFrance2024-05-31King, Christopher A Esq RENEWAL77Anna Fali
1030Antonio Z DarakjyJapan2024-06-02King, Christopher A Esq NEW83Onyama Limba
1031Ashley I SergiUnited Kingdom2024-06-15Rangoni Of Florence PROPOSAL10Onyama Limba
1032Morrow P FollerRussia2024-05-29Chemel, James L Cpa RENEWAL82Onyama Limba
1033Stacey D KolmetzItaly2024-06-05Commercial Press NEGOTIATION31Ivan Magalhaes
1034James M NickaAustralia2024-06-07King, Christopher A Esq PROPOSAL94Amy Elsner
1035Leja N BologniaRussia2024-06-18Benton, John B Jr NEGOTIATION49Onyama Limba
1036Mayumi W CaldareraUnited Kingdom2024-06-06Rangoni Of Florence PROPOSAL8Onyama Limba
1037Aditya F DilliardFrance2024-06-04Morlong Associates PROPOSAL59Stephen Shaw
1038Antonio U ButtCanada2024-06-05Printing Dimensions NEGOTIATION9Anna Fali
1039Mujtaba W DilliardUnited Kingdom2024-05-23Commercial Press QUALIFIED64Onyama Limba
1040Johnson T CaudyAustralia2024-06-02Truhlar And Truhlar Attys UNQUALIFIED12Bernardo Dominic
1041Mujtaba D VenereAustralia2024-06-01Morlong Associates RENEWAL78Elwin Sharvill
1042Johnson D StockhamFrance2024-06-03Dorl, James J Esq NEGOTIATION1Elwin Sharvill
1043Darci U BowleyAustralia2024-05-26Buckley Miller Wright QUALIFIED74Elwin Sharvill
1044Faith V StockhamFrance2024-06-16Commercial Press QUALIFIED12Xuxue Feng
1045Julie L SlusarskiUnited Kingdom2024-06-14Dorl, James J Esq RENEWAL58Ioni Bowcher
1046Jennifer D ChuiArgentina2024-05-30King, Christopher A Esq NEW3Bernardo Dominic
1047Rodrigues I StensethCanada2024-05-24Commercial Press RENEWAL37Asiya Javayant
1048Adams Z OldroydItaly2024-05-31Truhlar And Truhlar Attys PROPOSAL38Ivan Magalhaes
1049Leja O KolmetzUnited Kingdom2024-06-12Morlong Associates UNQUALIFIED69Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jennifer M RutaArgentinaAsiya Javayant UNQUALIFIED
Francesco S BologniaUnited KingdomAsiya Javayant QUALIFIED
Silvio G WaycottGermanyOnyama Limba NEGOTIATION
Rodrigues I WieserArgentinaXuxue Feng RENEWAL
Francesco N FerenczGermanyStephen Shaw RENEWAL
Maria T AmigonAustraliaStephen Shaw UNQUALIFIED
Adams O ButtFranceIvan Magalhaes PROPOSAL
Clifford Q SlusarskiUnited KingdomIvan Magalhaes NEW
Ricardo Y VenereJapanAmy Elsner RENEWAL
Juan L MarrierGermanyXuxue Feng RENEWAL
Misaki K NestleFranceStephen Shaw NEW
Leja F PaprockiIndiaAnna Fali NEW
Jeanfrancois D RoysterIndiaOnyama Limba NEW
Leon Z RoysterRussiaElwin Sharvill UNQUALIFIED
Misaki J OstroskyItalyXuxue Feng NEGOTIATION
Murillo Y SergiIndiaIvan Magalhaes UNQUALIFIED
Jefferson I BologniaArgentinaStephen Shaw NEGOTIATION
Murillo F FigeroaArgentinaXuxue Feng RENEWAL
Misaki L StensethItalyIvan Magalhaes RENEWAL
Chavez C RutaBrazilIvan Magalhaes QUALIFIED
Emily V WhobreyAustraliaIvan Magalhaes NEW
Morrow Y WaycottUnited KingdomAmy Elsner QUALIFIED
Rodrigues C AlbaresSpainAsiya Javayant UNQUALIFIED
Aditya D VenereRussiaElwin Sharvill NEGOTIATION
Aruna K VenereGermanyIvan Magalhaes QUALIFIED
Costa P SergiItalyBernardo Dominic RENEWAL
Maisha T ChuiAustraliaAsiya Javayant PROPOSAL
Johnson T MaletBrazilElwin Sharvill UNQUALIFIED
Chavez V CaldareraCanadaOnyama Limba PROPOSAL
Aruna H SergiJapanXuxue Feng NEW
Aditya L KolmetzSpainAnna Fali RENEWAL
Salvatore T GlickIndiaIvan Magalhaes QUALIFIED
Morrow C StockhamRussiaXuxue Feng NEGOTIATION
Munro O NickaJapanIvan Magalhaes NEW
Murillo V RoysterGermanyElwin Sharvill UNQUALIFIED
Nicolas H GlickJapanIoni Bowcher UNQUALIFIED
Munro L OldroydRussiaIvan Magalhaes QUALIFIED
Leon S VocelkaBrazilAsiya Javayant RENEWAL
Isabel V RulapaughRussiaAnna Fali NEGOTIATION
Adams V SchemmerFranceAnna Fali NEW
Misaki U CampainArgentinaAsiya Javayant PROPOSAL
Arvin D PerinItalyOnyama Limba QUALIFIED
Morrow V StockhamItalyIvan Magalhaes QUALIFIED
Darci V ChuiJapanIoni Bowcher UNQUALIFIED
Rodrigues F NestleItalyIoni Bowcher RENEWAL
Aditya G NickaGermanyElwin Sharvill NEW
Smith N MaletCanadaIoni Bowcher NEGOTIATION
David E ShinkoIndiaIoni Bowcher NEW
Smith R BowleyGermanyAmy Elsner NEGOTIATION
Cody C MorascaSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Murillo F Albares
Wickens W Kusko
Isabel X Schemmer
James Q Nestle
Aruna J Campain
Isabel Q Briddick
Nicolas X Gillian
Maria P Poquette
Leon O Ostrosky
Arvin X Morasca
Francesco J Stockham
Adams F Wieser
Faith V Stenseth
Jones I Royster
Octavia G Waycott
Tony W Whobrey
Johnson V Gaucho
Aditya Q Ostrosky
Wickens G Foller
Darci Y Iturbide
Ashley P Royster
Rodrigues Q Dilliard
Cody I Darakjy
Smith A Briddick
Juan A Maclead
Ashley T Gillian
James R Briddick
Munro Q Malet
Aika W Oldroyd
Claire T Poquette
Tony T Malet
Aika C Shinko
Ricardo G Vocelka
Adams P Chui
Wickens I Waycott
Clifford L Darakjy
Stacey N Ostrosky
Jeanfrancois N Tollner
Wickens J Ruta
Darci H Gaucho
Greenwood N Oldroyd
Jefferson J Kusko
Tony Y Amigon
Deepesh T Waycott
Julie L Caldarera
Rodrigues L Flosi
Johnson X Tollner
Stacey P Poquette
Maisha C Foller
Nicolas K Ruta
IdCountryDate
1000Canada2024-05-28
1001Brazil2024-05-29
1002India2024-05-30
1003Italy2024-06-02
1004France2024-05-31
1005Italy2024-06-01
1006France2024-06-10
1007Argentina2024-05-24
1008Spain2024-06-09
1009Australia2024-06-10
1010Canada2024-06-10
1011Russia2024-06-14
1012Brazil2024-06-09
1013Australia2024-05-31
1014Russia2024-06-03
1015Argentina2024-05-29
1016Germany2024-05-25
1017Brazil2024-06-15
1018Argentina2024-06-18
1019Australia2024-06-08
1020Russia2024-06-06
1021Russia2024-06-17
1022Spain2024-06-11
1023Italy2024-06-05
1024Brazil2024-05-31
1025Japan2024-06-03
1026United Kingdom2024-06-19
1027Brazil2024-06-07
1028Japan2024-06-21
1029Russia2024-06-08
1030United Kingdom2024-06-08
1031Spain2024-06-08
1032Italy2024-06-19
1033Spain2024-06-19
1034Argentina2024-06-21
1035Russia2024-06-16
1036Italy2024-06-03
1037France2024-06-06
1038United Kingdom2024-06-17
1039Australia2024-06-10
1040Argentina2024-06-13
1041Germany2024-06-19
1042United Kingdom2024-06-07
1043Japan2024-06-08
1044Russia2024-06-11
1045Italy2024-06-14
1046Canada2024-05-28
1047Japan2024-06-12
1048Germany2024-05-23
1049France2024-06-09

On-Demand Data

NameIdCountryDate
Juan E Maclead1000Italy2024-06-19
Leja V Rim1001Brazil2024-06-12
Salvatore R Whobrey1002France2024-06-11
Darci X Figeroa1003France2024-06-03
Wickens Q Gaucho1004Russia2024-06-11
James E Albares1005Italy2024-06-18
Jeanfrancois P Morasca1006Argentina2024-06-09
Jefferson C Waycott1007France2024-05-23
Antonio B Paprocki1008France2024-06-15
Adams T Maclead1009Canada2024-06-07
Maisha T Poquette1010Japan2024-06-03
Francesco F Ostrosky1011United Kingdom2024-06-08
Maisha C Gaucho1012Australia2024-06-12
Kaitlin V Tollner1013Italy2024-06-16
Ivar Q Waycott1014India2024-06-01
Aruna T Slusarski1015India2024-06-07
Francesco S Whobrey1016Italy2024-06-13
Ivar G Marrier1017Australia2024-05-27
Leon D Flosi1018Argentina2024-05-30
Ivar E Bowley1019Argentina2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David E InouyeArgentinaBernardo Dominic NEGOTIATION
Faith F MaletSpainBernardo Dominic UNQUALIFIED
Nicolas U PerinArgentinaAsiya Javayant QUALIFIED
Rodrigues S AmigonRussiaAmy Elsner UNQUALIFIED
Tony P RulapaughBrazilOnyama Limba QUALIFIED
Adams F OstroskyAustraliaIoni Bowcher RENEWAL
Stacey N KuskoCanadaAsiya Javayant UNQUALIFIED
Greenwood A CaldareraItalyAmy Elsner NEW
Maria Y SlusarskiAustraliaOnyama Limba NEGOTIATION
Salvatore L KuskoItalyStephen Shaw UNQUALIFIED
Stacey M AmigonJapanXuxue Feng UNQUALIFIED
Rodrigues A RimIndiaStephen Shaw PROPOSAL
Misaki E SergiJapanAmy Elsner QUALIFIED
Mayumi Z FollerBrazilOnyama Limba NEGOTIATION
Morrow H KuskoSpainIvan Magalhaes NEW
Isabel J MarrierRussiaAsiya Javayant RENEWAL
Smith M BriddickFranceBernardo Dominic UNQUALIFIED
Aruna U FlosiFranceIoni Bowcher UNQUALIFIED
Jefferson I MaletJapanIoni Bowcher PROPOSAL
Mujtaba U RulapaughSpainIvan Magalhaes RENEWAL
Jennifer O WaycottSpainAsiya Javayant NEW
Nicolas Z ShinkoFranceAmy Elsner NEW
Isabel G TollnerArgentinaElwin Sharvill UNQUALIFIED
Jefferson L SlusarskiAustraliaIvan Magalhaes RENEWAL
Octavia F WieserAustraliaOnyama Limba NEW
Jennifer P DilliardItalyStephen Shaw NEW
Francesco R KolmetzArgentinaOnyama Limba PROPOSAL
Greenwood U InouyeIndiaAsiya Javayant RENEWAL
Darci N CampainFranceXuxue Feng NEGOTIATION
Morrow J BowleySpainElwin Sharvill UNQUALIFIED
Rodrigues U VocelkaCanadaXuxue Feng NEGOTIATION
Francesco F WaycottIndiaStephen Shaw RENEWAL
Misaki W ButtRussiaBernardo Dominic NEW
Alejandro J MaletSpainAmy Elsner RENEWAL
Mujtaba C GauchoAustraliaXuxue Feng QUALIFIED
Jones H AmigonGermanyAnna Fali QUALIFIED
Jefferson L IturbideAustraliaElwin Sharvill RENEWAL
Kaitlin B WieserIndiaAmy Elsner PROPOSAL
Jeanfrancois H RimItalyXuxue Feng UNQUALIFIED
Tony Z AlbaresUnited KingdomElwin Sharvill PROPOSAL

<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>