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
Izzy R RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Adams G OldroydRussiaStephen Shaw PROPOSAL
Claire Y InouyeFranceAsiya Javayant NEW
Mujtaba X KolmetzUnited KingdomAmy Elsner NEGOTIATION
Jefferson W RoysterRussiaStephen Shaw RENEWAL
Ashley R OstroskyRussiaBernardo Dominic UNQUALIFIED
Ashley Y PerinItalyStephen Shaw RENEWAL
Smith R SaylorsBrazilIvan Magalhaes NEW
Rodrigues S OstroskyCanadaAsiya Javayant PROPOSAL
Aditya C DarakjyAustraliaElwin Sharvill NEGOTIATION
Aditya O GlickArgentinaAmy Elsner NEGOTIATION
Maisha D NestleBrazilAnna Fali NEW
Leja Z NickaIndiaOnyama Limba NEGOTIATION
Mujtaba K ChuiCanadaOnyama Limba UNQUALIFIED
Leon Q RoysterIndiaStephen Shaw RENEWAL
Murillo H FerenczCanadaAmy Elsner UNQUALIFIED
Juan X VocelkaItalyElwin Sharvill NEW
Deepesh Y WaycottIndiaAnna Fali RENEWAL
Wickens R FigeroaItalyXuxue Feng NEGOTIATION
Arvin R RoysterBrazilAmy Elsner NEW
Jones F GlickBrazilBernardo Dominic RENEWAL
Isabel W CaudyItalyIoni Bowcher NEGOTIATION
Rodrigues T WaycottIndiaAsiya Javayant UNQUALIFIED
Adams G StensethGermanyBernardo Dominic PROPOSAL
Leja H BriddickCanadaOnyama Limba NEW
Ashley O SlusarskiCanadaXuxue Feng PROPOSAL
Izzy Q WhobreyRussiaIoni Bowcher QUALIFIED
Isabel E RutaFranceIvan Magalhaes RENEWAL
Jennifer Y WhobreyCanadaAnna Fali NEGOTIATION
Jones T IturbideItalyXuxue Feng NEW
Maisha Q PerinArgentinaOnyama Limba QUALIFIED
Ricardo N MaletAustraliaStephen Shaw NEW
Munro E DilliardArgentinaElwin Sharvill QUALIFIED
Munro G AmigonRussiaXuxue Feng NEGOTIATION
Nicolas O WaycottBrazilAsiya Javayant UNQUALIFIED
Ricardo P StockhamFranceAnna Fali UNQUALIFIED
Faith X FerenczAustraliaAsiya Javayant NEGOTIATION
Juan B MaletSpainOnyama Limba QUALIFIED
Nicolas S GarufiFranceAmy Elsner RENEWAL
Chavez Q OstroskyArgentinaAnna Fali QUALIFIED
Aika N ShinkoJapanOnyama Limba QUALIFIED
Mujtaba U RutaSpainIvan Magalhaes NEGOTIATION
James Q KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Ricardo M PerinBrazilIvan Magalhaes QUALIFIED
Sinclair L SlusarskiFranceBernardo Dominic UNQUALIFIED
Adams R MacleadSpainBernardo Dominic UNQUALIFIED
Julie S BowleyIndiaStephen Shaw RENEWAL
Cody J CampainGermanyBernardo Dominic QUALIFIED
Chavez W ButtRussiaOnyama Limba PROPOSAL
Munro I GauchoItalyOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa B OstroskyFranceOnyama Limba UNQUALIFIED
Julie D PaprockiCanadaAsiya Javayant NEGOTIATION
Jennifer P BriddickItalyAnna Fali UNQUALIFIED
Leon Q StockhamArgentinaIvan Magalhaes RENEWAL
Cody G IturbideRussiaElwin Sharvill QUALIFIED
James J VenereUnited KingdomAsiya Javayant PROPOSAL
Chavez C MorascaUnited KingdomElwin Sharvill RENEWAL
Murillo E TollnerBrazilElwin Sharvill NEW
Mayumi G GlickUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois O PaprockiSpainIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon E FlosiRussia2024-06-02Benton, John B Jr NEW71Amy Elsner
1001Cody Z StockhamRussia2024-06-05Printing Dimensions UNQUALIFIED77Stephen Shaw
1002Morrow V MaletBrazil2024-06-14Printing Dimensions NEW88Ioni Bowcher
1003Costa Q NestleJapan2024-06-13Benton, John B Jr NEW87Anna Fali
1004Antonio S PaprockiCanada2024-06-03Printing Dimensions UNQUALIFIED26Asiya Javayant
1005Aika H AmigonUnited Kingdom2024-06-13Printing Dimensions UNQUALIFIED94Onyama Limba
1006Mayumi F GillianUnited Kingdom2024-06-17Dorl, James J Esq QUALIFIED98Stephen Shaw
1007Smith M MarrierItaly2024-06-05Buckley Miller Wright NEW24Anna Fali
1008Murillo P RutaUnited Kingdom2024-06-01Feltz Printing Service RENEWAL35Ioni Bowcher
1009Tony V AlbaresFrance2024-06-17Rangoni Of Florence UNQUALIFIED61Onyama Limba
1010Francesco L WieserGermany2024-06-09Morlong Associates NEGOTIATION84Elwin Sharvill
1011David X OldroydItaly2024-06-21Buckley Miller Wright RENEWAL96Ivan Magalhaes
1012Kaitlin H VenereBrazil2024-05-29Chanay, Jeffrey A Esq QUALIFIED20Onyama Limba
1013Murillo E WaycottFrance2024-06-04Chemel, James L Cpa NEW90Ivan Magalhaes
1014Adams D SlusarskiSpain2024-06-17Morlong Associates QUALIFIED25Ioni Bowcher
1015Adams A KolmetzCanada2024-06-11King, Christopher A Esq UNQUALIFIED30Bernardo Dominic
1016Isabel Q KolmetzCanada2024-06-11Dorl, James J Esq NEGOTIATION69Xuxue Feng
1017Wickens S WaycottSpain2024-06-18Chapman, Ross E Esq UNQUALIFIED30Ivan Magalhaes
1018Claire T MarrierBrazil2024-06-22Benton, John B Jr UNQUALIFIED41Xuxue Feng
1019Murillo G DarakjyCanada2024-06-01Rousseaux, Michael Esq NEW88Bernardo Dominic
1020Salvatore N PaprockiUnited Kingdom2024-06-10Feltz Printing Service RENEWAL37Anna Fali
1021Aruna X RutaItaly2024-06-22Commercial Press PROPOSAL70Onyama Limba
1022Maria F SchemmerCanada2024-05-31King, Christopher A Esq QUALIFIED38Xuxue Feng
1023Clifford V RimIndia2024-06-17Rousseaux, Michael Esq NEW31Stephen Shaw
1024Salvatore D MorascaFrance2024-06-22Rangoni Of Florence UNQUALIFIED15Amy Elsner
1025Greenwood J RoysterSpain2024-05-31Chemel, James L Cpa UNQUALIFIED56Ivan Magalhaes
1026Ivar L MarrierJapan2024-06-07King, Christopher A Esq RENEWAL77Asiya Javayant
1027Adams A StensethBrazil2024-06-08Buckley Miller Wright PROPOSAL49Xuxue Feng
1028Wickens K PoquetteSpain2024-06-10Benton, John B Jr UNQUALIFIED57Amy Elsner
1029Murillo W AlbaresItaly2024-06-01Rangoni Of Florence NEGOTIATION72Bernardo Dominic
1030Arvin L RutaCanada2024-06-01Chapman, Ross E Esq PROPOSAL87Bernardo Dominic
1031Morrow K BriddickAustralia2024-06-10Dorl, James J Esq PROPOSAL12Amy Elsner
1032Clifford C FigeroaGermany2024-06-20Benton, John B Jr UNQUALIFIED81Stephen Shaw
1033Adams Q BowleyJapan2024-05-30Chanay, Jeffrey A Esq NEGOTIATION25Elwin Sharvill
1034Nicolas K WaycottArgentina2024-06-01Commercial Press QUALIFIED1Xuxue Feng
1035Sinclair B FollerAustralia2024-05-24Feltz Printing Service PROPOSAL32Ioni Bowcher
1036Costa B MaletGermany2024-06-19Feltz Printing Service PROPOSAL30Elwin Sharvill
1037Antonio U RimCanada2024-06-15King, Christopher A Esq NEW58Asiya Javayant
1038James P SlusarskiFrance2024-06-09King, Christopher A Esq NEGOTIATION19Asiya Javayant
1039Octavia T RutaRussia2024-06-06Rousseaux, Michael Esq UNQUALIFIED30Stephen Shaw
1040Wickens U DarakjyBrazil2024-06-13Truhlar And Truhlar Attys PROPOSAL85Elwin Sharvill
1041Maisha R WhobreyAustralia2024-06-08Buckley Miller Wright RENEWAL81Ioni Bowcher
1042Mayumi H FlosiIndia2024-06-01Buckley Miller Wright NEGOTIATION71Ivan Magalhaes
1043Aika B NestleBrazil2024-06-04Benton, John B Jr QUALIFIED15Xuxue Feng
1044Sinclair Y GillianItaly2024-06-10Chapman, Ross E Esq RENEWAL80Onyama Limba
1045Nicolas C NickaIndia2024-05-25Rangoni Of Florence NEW32Amy Elsner
1046Arvin J StockhamBrazil2024-06-03Printing Dimensions UNQUALIFIED97Elwin Sharvill
1047Greenwood I ButtBrazil2024-05-25Chanay, Jeffrey A Esq NEW99Stephen Shaw
1048Jennifer L FigeroaItaly2024-06-16Rousseaux, Michael Esq RENEWAL9Bernardo Dominic
1049Francesco X StockhamFrance2024-06-17Truhlar And Truhlar Attys RENEWAL62Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin L SchemmerFranceOnyama Limba RENEWAL
Francesco P DilliardBrazilBernardo Dominic PROPOSAL
Isabel D CaldareraSpainIoni Bowcher UNQUALIFIED
Claire U InouyeRussiaAsiya Javayant QUALIFIED
Misaki A KuskoItalyElwin Sharvill UNQUALIFIED
Jones Z PerinItalyAsiya Javayant NEW
Ashley L BriddickCanadaIoni Bowcher QUALIFIED
Jennifer H PaprockiItalyIvan Magalhaes NEGOTIATION
Mujtaba C ShinkoRussiaOnyama Limba NEW
Silvio Q ShinkoArgentinaAmy Elsner NEW
Misaki C FerenczUnited KingdomAmy Elsner QUALIFIED
Johnson E FlosiFranceElwin Sharvill RENEWAL
Darci Q BologniaCanadaAsiya Javayant QUALIFIED
Leon D MorascaCanadaBernardo Dominic PROPOSAL
Octavia I MarrierCanadaAsiya Javayant NEW
Sinclair J RimIndiaAnna Fali NEW
Leja M DarakjyArgentinaElwin Sharvill QUALIFIED
Stacey V GlickAustraliaStephen Shaw NEGOTIATION
Emily L GlickAustraliaAsiya Javayant PROPOSAL
Aruna T FlosiBrazilXuxue Feng NEGOTIATION
Octavia D WhobreyGermanyAnna Fali NEW
Ivar J PoquetteRussiaAsiya Javayant PROPOSAL
Mujtaba S WaycottRussiaAnna Fali RENEWAL
Ricardo P StensethFranceIoni Bowcher PROPOSAL
Clifford C VocelkaIndiaOnyama Limba RENEWAL
Mayumi I WieserCanadaBernardo Dominic NEW
Maisha H CaldareraJapanAnna Fali QUALIFIED
David T CampainArgentinaXuxue Feng UNQUALIFIED
Izzy J SergiArgentinaXuxue Feng NEGOTIATION
Mujtaba H StensethItalyAsiya Javayant PROPOSAL
Juan F RulapaughSpainOnyama Limba RENEWAL
Salvatore U ButtUnited KingdomIvan Magalhaes RENEWAL
Morrow R BologniaSpainAsiya Javayant NEGOTIATION
Adams V FigeroaUnited KingdomBernardo Dominic NEW
Aika N TollnerIndiaBernardo Dominic RENEWAL
Jennifer Q ButtAustraliaStephen Shaw RENEWAL
Maria B ButtJapanStephen Shaw RENEWAL
Jennifer R AlbaresUnited KingdomAmy Elsner NEW
Jeanfrancois X BologniaSpainOnyama Limba PROPOSAL
Costa C DarakjyRussiaIoni Bowcher QUALIFIED
Smith K MorascaFranceAsiya Javayant QUALIFIED
Wickens Z InouyeUnited KingdomAmy Elsner RENEWAL
Aditya G GillianJapanBernardo Dominic NEGOTIATION
Jeanfrancois I FerenczFranceIvan Magalhaes QUALIFIED
Adams L AlbaresSpainXuxue Feng UNQUALIFIED
Leon Z StockhamSpainIoni Bowcher NEGOTIATION
Johnson N DarakjyJapanBernardo Dominic PROPOSAL
Misaki R KuskoItalyIvan Magalhaes PROPOSAL
Octavia P AmigonArgentinaAnna Fali RENEWAL
Maria H InouyeIndiaOnyama Limba PROPOSAL
Frozen Columns
Name
Aika E Shinko
Aditya B Dilliard
Smith A Vocelka
Claire M Glick
Emily G Paprocki
Ricardo Z Whobrey
Munro W Royster
Salvatore V Vocelka
Ricardo N Doe
Arvin P Bowley
Isabel C Nestle
Arvin W Malet
Clifford F Poquette
Aruna B Inouye
Kadeem L Schemmer
Aika P Albares
Izzy M Nestle
Aditya D Gillian
Stacey T Ostrosky
David P Caldarera
Jennifer R Wieser
Leon K Schemmer
Munro P Venere
Stacey W Nestle
Leon P Kusko
Julie H Iturbide
Morrow W Royster
Juan M Maclead
Emily E Wieser
Jones L Caldarera
Wickens T Kusko
James N Malet
Darci S Nestle
Jeanfrancois W Oldroyd
Wickens O Ferencz
Aditya P Kusko
Emily C Royster
Leon A Amigon
Maisha C Albares
Faith R Malet
Antonio N Nicka
Octavia M Malet
Jeanfrancois B Caldarera
Claire R Stockham
Aika N Caudy
Morrow W Perin
Morrow W Maclead
Chavez R Marrier
Ricardo C Figeroa
Darci R Caldarera
IdCountryDate
1000Germany2024-06-11
1001France2024-05-27
1002Russia2024-05-31
1003India2024-06-22
1004Germany2024-06-09
1005Germany2024-06-16
1006Germany2024-06-16
1007Russia2024-06-03
1008Italy2024-06-20
1009Germany2024-05-25
1010France2024-05-26
1011Brazil2024-06-06
1012Canada2024-05-30
1013France2024-06-03
1014United Kingdom2024-06-05
1015Italy2024-06-14
1016Italy2024-06-02
1017Brazil2024-06-20
1018Brazil2024-06-01
1019Brazil2024-06-10
1020Japan2024-06-18
1021Russia2024-05-24
1022Brazil2024-06-19
1023Spain2024-06-18
1024United Kingdom2024-06-03
1025Argentina2024-06-21
1026Argentina2024-06-02
1027Japan2024-06-05
1028India2024-06-12
1029India2024-06-17
1030India2024-05-30
1031Canada2024-06-12
1032Argentina2024-06-01
1033Italy2024-06-05
1034Italy2024-06-14
1035India2024-05-29
1036Brazil2024-05-29
1037Brazil2024-06-10
1038Japan2024-06-11
1039Brazil2024-05-26
1040Russia2024-06-19
1041Japan2024-06-10
1042Russia2024-06-15
1043United Kingdom2024-06-10
1044Canada2024-06-02
1045Spain2024-05-24
1046Canada2024-06-17
1047Canada2024-06-22
1048Italy2024-06-19
1049Germany2024-06-19

On-Demand Data

NameIdCountryDate
Sinclair V Tollner1000France2024-05-30
Aruna P Campain1001India2024-06-09
Juan Y Nestle1002Canada2024-06-08
Kadeem F Ruta1003France2024-06-02
James L Schemmer1004Germany2024-06-17
Murillo F Malet1005Spain2024-06-21
Julie U Stenseth1006Germany2024-05-27
Mayumi K Paprocki1007Canada2024-05-29
Munro R Foller1008France2024-06-19
Ivar G Slusarski1009Argentina2024-06-05
Tony P Darakjy1010United Kingdom2024-06-11
Aruna F Glick1011Italy2024-05-27
Kadeem O Oldroyd1012Germany2024-06-22
Octavia P Slusarski1013Spain2024-06-18
Sinclair Z Vocelka1014France2024-06-14
Sinclair J Morasca1015Argentina2024-05-24
Misaki F Malet1016United Kingdom2024-06-01
Darci T Nicka1017United Kingdom2024-06-05
Arvin H Amigon1018Germany2024-06-02
Darci E Shinko1019Russia2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja O SergiIndiaAnna Fali UNQUALIFIED
Isabel U PoquetteAustraliaXuxue Feng RENEWAL
Jones J FollerJapanStephen Shaw PROPOSAL
Maisha E RulapaughGermanyBernardo Dominic QUALIFIED
Jennifer X MacleadGermanyIvan Magalhaes NEGOTIATION
Sinclair G SaylorsJapanOnyama Limba PROPOSAL
Tony M AlbaresArgentinaAnna Fali RENEWAL
Alejandro S FerenczArgentinaOnyama Limba QUALIFIED
Francesco E GarufiBrazilElwin Sharvill RENEWAL
Rodrigues J StensethItalyAsiya Javayant NEGOTIATION
Costa J RimCanadaAsiya Javayant PROPOSAL
Maisha S DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Munro I FigeroaBrazilIoni Bowcher UNQUALIFIED
Izzy X FollerIndiaBernardo Dominic NEGOTIATION
Jones J WieserFranceIoni Bowcher PROPOSAL
James A DilliardFranceAnna Fali UNQUALIFIED
Johnson B CaldareraRussiaAnna Fali QUALIFIED
Aditya M ChuiItalyIvan Magalhaes UNQUALIFIED
Munro Z GlickArgentinaAmy Elsner NEW
Deepesh O StockhamIndiaAmy Elsner PROPOSAL
Aditya P MacleadFranceStephen Shaw QUALIFIED
David I VocelkaCanadaBernardo Dominic NEW
Stacey A StensethUnited KingdomStephen Shaw UNQUALIFIED
Juan Y IturbideArgentinaAsiya Javayant QUALIFIED
Juan T WaycottCanadaStephen Shaw NEW
Salvatore C GarufiCanadaAsiya Javayant RENEWAL
Izzy I BowleyGermanyIvan Magalhaes PROPOSAL
Aika E SchemmerAustraliaIoni Bowcher NEW
Julie C FerenczJapanAsiya Javayant PROPOSAL
Sinclair V DoeFranceXuxue Feng RENEWAL
Munro B WhobreySpainAnna Fali NEW
Alejandro C RulapaughAustraliaOnyama Limba QUALIFIED
Nicolas S InouyeItalyAnna Fali PROPOSAL
Misaki E KolmetzBrazilAnna Fali QUALIFIED
Adams I ShinkoFranceOnyama Limba UNQUALIFIED
Jefferson H BowleyBrazilAnna Fali PROPOSAL
Greenwood L ButtSpainIoni Bowcher NEW
Clifford U FlosiRussiaAsiya Javayant PROPOSAL
Emily H CampainUnited KingdomAnna Fali UNQUALIFIED
Deepesh B PoquetteBrazilIvan Magalhaes RENEWAL

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