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
Jones A BowleyJapanIvan Magalhaes QUALIFIED
Johnson Q FlosiFranceElwin Sharvill RENEWAL
Jones M DoeArgentinaIoni Bowcher PROPOSAL
Aruna G BriddickItalyAsiya Javayant UNQUALIFIED
Smith G VocelkaFranceIoni Bowcher PROPOSAL
Salvatore L InouyeGermanyAsiya Javayant NEW
Darci W MorascaSpainBernardo Dominic NEGOTIATION
Antonio J NestleSpainXuxue Feng NEW
Juan S PoquetteUnited KingdomXuxue Feng PROPOSAL
Smith H SaylorsArgentinaBernardo Dominic NEGOTIATION
Morrow A MaletGermanyAnna Fali NEGOTIATION
Deepesh Z TollnerCanadaBernardo Dominic PROPOSAL
Mujtaba P InouyeUnited KingdomAnna Fali RENEWAL
Jones J StockhamGermanyXuxue Feng RENEWAL
Stacey J MarrierSpainElwin Sharvill UNQUALIFIED
Mujtaba X BowleyArgentinaBernardo Dominic UNQUALIFIED
Stacey F GauchoFranceStephen Shaw PROPOSAL
Kaitlin F KuskoCanadaAsiya Javayant UNQUALIFIED
Maisha P OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Johnson A RimSpainAmy Elsner UNQUALIFIED
Greenwood U GillianAustraliaIvan Magalhaes UNQUALIFIED
Ivar O MaletJapanBernardo Dominic NEGOTIATION
Francesco H OldroydGermanyAsiya Javayant QUALIFIED
Mayumi L AmigonBrazilIvan Magalhaes QUALIFIED
Antonio W CampainSpainAmy Elsner NEW
Morrow O DarakjyIndiaIoni Bowcher RENEWAL
Darci F FollerBrazilBernardo Dominic NEGOTIATION
Wickens C MacleadRussiaXuxue Feng RENEWAL
Deepesh E GillianGermanyIvan Magalhaes QUALIFIED
Jones E KuskoFranceStephen Shaw QUALIFIED
Jeanfrancois T WieserJapanIoni Bowcher UNQUALIFIED
Jeanfrancois T BowleyUnited KingdomOnyama Limba RENEWAL
Cody B DoeCanadaIvan Magalhaes RENEWAL
Faith S WhobreyCanadaOnyama Limba QUALIFIED
Smith H StockhamIndiaXuxue Feng UNQUALIFIED
David L RulapaughIndiaIvan Magalhaes RENEWAL
Silvio F MaletSpainIoni Bowcher UNQUALIFIED
Ivar O SaylorsSpainIvan Magalhaes NEGOTIATION
Jeanfrancois E FollerBrazilIoni Bowcher NEW
Aruna E CaudyItalyIoni Bowcher UNQUALIFIED
Mujtaba A MaletAustraliaIvan Magalhaes UNQUALIFIED
Wickens K VocelkaCanadaAmy Elsner PROPOSAL
Aruna H DilliardUnited KingdomAsiya Javayant NEW
Faith I MaletFranceBernardo Dominic NEGOTIATION
Silvio A RoysterCanadaIvan Magalhaes NEGOTIATION
Izzy H WieserJapanElwin Sharvill QUALIFIED
Ashley A PerinRussiaBernardo Dominic QUALIFIED
Julie Z AmigonAustraliaIvan Magalhaes QUALIFIED
Salvatore O FigeroaJapanAnna Fali UNQUALIFIED
Julie C MacleadAustraliaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa Z PaprockiBrazilAsiya Javayant NEGOTIATION
Leon G MarrierSpainIoni Bowcher RENEWAL
Leon K AmigonGermanyElwin Sharvill NEW
Nicolas N OldroydJapanIvan Magalhaes PROPOSAL
Antonio A TollnerArgentinaAnna Fali PROPOSAL
Leja D TollnerAustraliaAmy Elsner NEGOTIATION
Salvatore U GauchoItalyBernardo Dominic QUALIFIED
Kadeem Z RoysterBrazilIvan Magalhaes QUALIFIED
Clifford R SaylorsIndiaIvan Magalhaes RENEWAL
Tony R NestleJapanOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer Y SlusarskiArgentina2024-05-31Rangoni Of Florence QUALIFIED33Asiya Javayant
1001Johnson O BriddickItaly2024-05-28Chemel, James L Cpa RENEWAL91Xuxue Feng
1002Nicolas N BowleyAustralia2024-06-08Chanay, Jeffrey A Esq NEGOTIATION54Amy Elsner
1003Aruna P KolmetzItaly2024-05-24Chapman, Ross E Esq PROPOSAL25Amy Elsner
1004Kaitlin E AmigonBrazil2024-05-30Buckley Miller Wright QUALIFIED25Ivan Magalhaes
1005Clifford U OstroskyFrance2024-06-11Benton, John B Jr UNQUALIFIED43Amy Elsner
1006Arvin Y MacleadGermany2024-05-28Rousseaux, Michael Esq RENEWAL18Anna Fali
1007Arvin B WieserCanada2024-06-07Rangoni Of Florence UNQUALIFIED59Elwin Sharvill
1008Julie L MaletGermany2024-05-24Benton, John B Jr NEGOTIATION47Ivan Magalhaes
1009Maisha D ChuiGermany2024-05-27Feltz Printing Service NEGOTIATION68Ivan Magalhaes
1010Ashley P GarufiSpain2024-06-07Chemel, James L Cpa PROPOSAL30Xuxue Feng
1011Alejandro R SergiBrazil2024-06-05Feiner Bros PROPOSAL65Stephen Shaw
1012Ricardo N PoquetteSpain2024-05-26King, Christopher A Esq NEGOTIATION63Asiya Javayant
1013Johnson U StockhamBrazil2024-06-10Rousseaux, Michael Esq NEW7Amy Elsner
1014Munro Q WhobreyGermany2024-06-13Commercial Press NEGOTIATION23Elwin Sharvill
1015Wickens L VocelkaCanada2024-05-25Truhlar And Truhlar Attys PROPOSAL16Xuxue Feng
1016Ivar P MaletAustralia2024-05-29Feltz Printing Service UNQUALIFIED98Elwin Sharvill
1017Greenwood H OldroydIndia2024-05-26Commercial Press QUALIFIED49Elwin Sharvill
1018Julie F OstroskyJapan2024-06-22Printing Dimensions PROPOSAL8Onyama Limba
1019Francesco O BowleyBrazil2024-05-28Morlong Associates NEGOTIATION93Elwin Sharvill
1020Francesco T FerenczSpain2024-06-11Rousseaux, Michael Esq UNQUALIFIED8Onyama Limba
1021Jefferson G NickaGermany2024-05-31Feltz Printing Service RENEWAL46Anna Fali
1022Ricardo T GlickAustralia2024-06-14Rangoni Of Florence NEW51Xuxue Feng
1023David U WhobreySpain2024-06-05Buckley Miller Wright PROPOSAL25Anna Fali
1024Darci A WieserFrance2024-06-13Commercial Press QUALIFIED76Elwin Sharvill
1025Munro H ShinkoSpain2024-06-06Feltz Printing Service UNQUALIFIED20Anna Fali
1026Munro X ChuiUnited Kingdom2024-06-05Feiner Bros RENEWAL25Anna Fali
1027Smith D BriddickArgentina2024-06-07Rousseaux, Michael Esq NEW86Amy Elsner
1028Jennifer D FerenczItaly2024-05-24Feiner Bros NEGOTIATION2Elwin Sharvill
1029Nicolas M PaprockiItaly2024-05-27Benton, John B Jr NEGOTIATION31Bernardo Dominic
1030Salvatore F RoysterJapan2024-06-20Rangoni Of Florence PROPOSAL93Onyama Limba
1031Cody P SlusarskiBrazil2024-06-06Commercial Press RENEWAL96Bernardo Dominic
1032Jennifer J VenereSpain2024-06-10Dorl, James J Esq NEGOTIATION82Anna Fali
1033Aditya D SlusarskiBrazil2024-06-07Printing Dimensions NEGOTIATION62Amy Elsner
1034Octavia P GarufiItaly2024-06-08Dorl, James J Esq RENEWAL6Asiya Javayant
1035Stacey Y SaylorsItaly2024-05-25Chapman, Ross E Esq QUALIFIED12Anna Fali
1036Deepesh V CaudyCanada2024-06-15Buckley Miller Wright RENEWAL88Ivan Magalhaes
1037Juan M DarakjyBrazil2024-06-11Rousseaux, Michael Esq PROPOSAL38Ioni Bowcher
1038Clifford K SlusarskiBrazil2024-05-27Chapman, Ross E Esq UNQUALIFIED7Anna Fali
1039Wickens J OstroskySpain2024-06-04Chapman, Ross E Esq NEW40Onyama Limba
1040Ivar I SlusarskiFrance2024-06-12Feltz Printing Service RENEWAL43Anna Fali
1041Izzy T DarakjyIndia2024-06-16Truhlar And Truhlar Attys QUALIFIED74Xuxue Feng
1042Ricardo O AmigonCanada2024-06-20Feltz Printing Service NEW33Asiya Javayant
1043Octavia H MarrierSpain2024-06-14Rousseaux, Michael Esq UNQUALIFIED83Asiya Javayant
1044Julie L VenereIndia2024-06-02Benton, John B Jr PROPOSAL92Ioni Bowcher
1045Clifford I StensethBrazil2024-06-22Rousseaux, Michael Esq RENEWAL75Ivan Magalhaes
1046Aditya T StensethJapan2024-06-03Feltz Printing Service PROPOSAL82Stephen Shaw
1047David L RutaIndia2024-06-01Dorl, James J Esq NEGOTIATION65Asiya Javayant
1048David O TollnerGermany2024-06-03Rangoni Of Florence PROPOSAL10Onyama Limba
1049Leon U GarufiFrance2024-05-27Feltz Printing Service RENEWAL10Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Antonio C DoeIndiaAnna Fali NEGOTIATION
Ashley T MaletArgentinaBernardo Dominic QUALIFIED
Munro Z RulapaughArgentinaBernardo Dominic PROPOSAL
Emily A SchemmerAustraliaStephen Shaw RENEWAL
Greenwood Q KuskoJapanAnna Fali PROPOSAL
Jefferson D KuskoSpainAnna Fali PROPOSAL
Adams L DilliardRussiaAnna Fali NEW
Aika M KuskoSpainStephen Shaw RENEWAL
Rodrigues Q ShinkoArgentinaIvan Magalhaes PROPOSAL
Leon R CampainUnited KingdomAsiya Javayant QUALIFIED
Wickens Y MaletFranceAnna Fali RENEWAL
Julie S StensethCanadaAsiya Javayant NEGOTIATION
Maisha W WaycottUnited KingdomElwin Sharvill NEGOTIATION
Faith V OstroskyUnited KingdomIvan Magalhaes RENEWAL
Ivar G DarakjyJapanAmy Elsner NEGOTIATION
Smith X StensethSpainStephen Shaw PROPOSAL
Claire S SchemmerUnited KingdomAsiya Javayant PROPOSAL
Aruna I CaudyJapanXuxue Feng UNQUALIFIED
Murillo Z MaletRussiaAnna Fali PROPOSAL
Francesco T FerenczUnited KingdomElwin Sharvill PROPOSAL
Silvio Y BologniaBrazilIoni Bowcher NEW
Wickens P RulapaughItalyIoni Bowcher NEW
Jones B WieserIndiaBernardo Dominic UNQUALIFIED
Maria Y VenereUnited KingdomAmy Elsner NEGOTIATION
Smith P RulapaughArgentinaAsiya Javayant RENEWAL
Kadeem U OldroydBrazilAnna Fali UNQUALIFIED
Aika A OstroskyItalyIvan Magalhaes NEW
Greenwood C InouyeArgentinaElwin Sharvill NEW
Kadeem F PaprockiItalyXuxue Feng RENEWAL
Kaitlin P DarakjyBrazilOnyama Limba RENEWAL
Jennifer Z BriddickIndiaBernardo Dominic UNQUALIFIED
Ricardo M GauchoJapanBernardo Dominic QUALIFIED
Claire X RutaUnited KingdomIvan Magalhaes QUALIFIED
James B RulapaughAustraliaXuxue Feng UNQUALIFIED
Aika L CaldareraArgentinaXuxue Feng QUALIFIED
Faith T RoysterFranceAnna Fali UNQUALIFIED
James I TollnerFranceElwin Sharvill NEGOTIATION
Julie L CaldareraRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois F MaletArgentinaOnyama Limba NEGOTIATION
Misaki Z StockhamUnited KingdomAnna Fali QUALIFIED
Jefferson K CaldareraUnited KingdomStephen Shaw PROPOSAL
Leon C WhobreyArgentinaElwin Sharvill NEW
Clifford I VenereItalyAnna Fali NEW
Clifford I RutaGermanyElwin Sharvill UNQUALIFIED
James N FlosiItalyXuxue Feng UNQUALIFIED
Greenwood H MacleadItalyAsiya Javayant PROPOSAL
Greenwood G GlickIndiaOnyama Limba QUALIFIED
Antonio B TollnerIndiaAnna Fali RENEWAL
Francesco Z ChuiRussiaIvan Magalhaes PROPOSAL
Antonio L GarufiJapanAsiya Javayant QUALIFIED
Frozen Columns
Name
Jones C Kolmetz
Faith H Bolognia
Silvio B Malet
Maisha T Iturbide
Jefferson U Inouye
Cody K Tollner
Tony C Flosi
Darci J Inouye
Clifford Z Stenseth
Isabel X Marrier
Sinclair O Sergi
Smith Q Flosi
Emily J Rim
Rodrigues N Venere
Rodrigues G Kolmetz
Smith D Butt
Octavia N Malet
Leon S Poquette
Greenwood T Whobrey
David V Rim
Deepesh B Saylors
Leon I Caldarera
Tony W Ruta
Deepesh Y Stockham
Alejandro N Briddick
Jeanfrancois H Oldroyd
Murillo G Ruta
Claire B Ruta
Sinclair R Vocelka
Ashley P Saylors
Smith H Marrier
David I Marrier
Izzy H Rim
Morrow M Kolmetz
Ivar B Amigon
David J Slusarski
Stacey F Whobrey
Tony F Gillian
Emily D Foller
Stacey T Albares
Izzy I Ruta
Arvin F Sergi
Octavia H Royster
Leja E Dilliard
Julie A Slusarski
Leon D Briddick
Deepesh B Doe
Antonio T Tollner
Mayumi K Waycott
Stacey Q Rim
IdCountryDate
1000India2024-06-12
1001India2024-05-26
1002Canada2024-06-09
1003Spain2024-06-04
1004United Kingdom2024-06-15
1005Russia2024-06-16
1006United Kingdom2024-05-27
1007Japan2024-06-13
1008Russia2024-06-17
1009Australia2024-05-31
1010Germany2024-06-18
1011Canada2024-06-12
1012Canada2024-06-11
1013France2024-06-16
1014India2024-06-02
1015Brazil2024-05-24
1016Japan2024-06-22
1017Canada2024-06-16
1018France2024-05-29
1019Italy2024-06-15
1020Spain2024-06-08
1021Germany2024-06-03
1022Japan2024-06-06
1023United Kingdom2024-06-05
1024France2024-06-12
1025Canada2024-06-20
1026Spain2024-06-04
1027Brazil2024-05-25
1028Canada2024-06-01
1029Brazil2024-06-12
1030Italy2024-06-04
1031Brazil2024-05-31
1032Russia2024-05-26
1033France2024-06-02
1034United Kingdom2024-06-13
1035Argentina2024-05-28
1036Spain2024-06-22
1037United Kingdom2024-06-10
1038Argentina2024-06-03
1039United Kingdom2024-06-10
1040Japan2024-05-24
1041Brazil2024-06-11
1042United Kingdom2024-06-15
1043Canada2024-05-27
1044Spain2024-06-08
1045United Kingdom2024-06-20
1046Italy2024-06-17
1047Germany2024-06-22
1048Argentina2024-06-12
1049Italy2024-05-26

On-Demand Data

NameIdCountryDate
Julie L Caudy1000France2024-06-17
Jones C Briddick1001India2024-06-16
Salvatore E Perin1002Japan2024-06-12
Ivar Q Garufi1003France2024-06-03
Aika J Albares1004Canada2024-06-08
Jones B Flosi1005Germany2024-06-04
Murillo H Stenseth1006Russia2024-06-17
Jones O Schemmer1007Spain2024-06-11
Greenwood L Iturbide1008France2024-05-28
Cody Y Bolognia1009France2024-06-17
Izzy C Darakjy1010Canada2024-06-11
Rodrigues I Briddick1011Australia2024-05-27
Greenwood X Campain1012Australia2024-06-21
Salvatore B Royster1013Japan2024-06-19
Sinclair L Maclead1014Germany2024-06-01
Claire X Ostrosky1015Germany2024-06-08
Antonio L Maclead1016United Kingdom2024-06-04
Greenwood V Vocelka1017Canada2024-06-17
Juan J Morasca1018Japan2024-05-25
Cody Y Malet1019Japan2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem U SergiRussiaIvan Magalhaes NEW
Arvin T RoysterJapanOnyama Limba RENEWAL
Isabel W RimFranceBernardo Dominic RENEWAL
Tony Q TollnerSpainIvan Magalhaes RENEWAL
Chavez O GlickCanadaIvan Magalhaes RENEWAL
Ivar R CaldareraCanadaOnyama Limba UNQUALIFIED
Costa F MarrierArgentinaAmy Elsner QUALIFIED
Tony V ShinkoJapanStephen Shaw UNQUALIFIED
Arvin N NestleFranceIvan Magalhaes NEW
Emily J MorascaJapanStephen Shaw NEGOTIATION
Aika K GauchoJapanStephen Shaw NEW
Aika O IturbideBrazilIoni Bowcher UNQUALIFIED
Jennifer P GillianAustraliaIvan Magalhaes RENEWAL
Costa B BriddickFranceAmy Elsner NEGOTIATION
Stacey X MaletCanadaAnna Fali NEW
Jefferson C GlickFranceElwin Sharvill NEGOTIATION
Sinclair Q RoysterCanadaAsiya Javayant NEGOTIATION
Greenwood T RutaGermanyXuxue Feng NEW
Johnson F SergiRussiaIvan Magalhaes QUALIFIED
Mujtaba Q StensethUnited KingdomElwin Sharvill UNQUALIFIED
Adams S RutaGermanyIvan Magalhaes NEGOTIATION
Aruna Z KuskoCanadaBernardo Dominic QUALIFIED
Leon J CaudyItalyAsiya Javayant UNQUALIFIED
Julie C MorascaRussiaOnyama Limba UNQUALIFIED
Faith J GarufiJapanAmy Elsner UNQUALIFIED
James J AmigonBrazilElwin Sharvill QUALIFIED
Francesco K GarufiAustraliaAnna Fali PROPOSAL
Alejandro D RimAustraliaOnyama Limba QUALIFIED
Francesco W FollerCanadaElwin Sharvill UNQUALIFIED
Ashley C MarrierArgentinaElwin Sharvill UNQUALIFIED
Izzy J CaldareraJapanOnyama Limba NEGOTIATION
Johnson U FigeroaCanadaOnyama Limba NEGOTIATION
Octavia R KuskoCanadaIvan Magalhaes PROPOSAL
Julie N FollerCanadaStephen Shaw QUALIFIED
David R BriddickRussiaElwin Sharvill NEW
Antonio Z MaletSpainIoni Bowcher QUALIFIED
Munro G ShinkoCanadaIvan Magalhaes QUALIFIED
Izzy M PerinUnited KingdomOnyama Limba NEGOTIATION
Claire W RutaArgentinaBernardo Dominic PROPOSAL
Mujtaba C SaylorsIndiaIvan Magalhaes NEGOTIATION

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