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
Octavia O RimUnited KingdomOnyama Limba NEGOTIATION
Costa O SchemmerGermanyStephen Shaw NEW
Arvin I SaylorsItalyStephen Shaw UNQUALIFIED
Smith V MacleadAustraliaElwin Sharvill NEW
Tony M FerenczArgentinaAnna Fali NEGOTIATION
Rodrigues S MorascaUnited KingdomOnyama Limba NEGOTIATION
Julie C DoeFranceBernardo Dominic NEGOTIATION
James K MacleadRussiaBernardo Dominic NEGOTIATION
Ivar H OstroskyGermanyElwin Sharvill QUALIFIED
Nicolas Q WhobreyJapanAsiya Javayant QUALIFIED
David U GlickAustraliaIoni Bowcher NEGOTIATION
Octavia P RutaIndiaIoni Bowcher QUALIFIED
Sinclair V FerenczItalyAsiya Javayant RENEWAL
Ashley H WaycottIndiaOnyama Limba QUALIFIED
Wickens O IturbideUnited KingdomElwin Sharvill RENEWAL
Chavez X OldroydGermanyAmy Elsner RENEWAL
Mujtaba B DilliardGermanyXuxue Feng RENEWAL
Mujtaba C PaprockiItalyStephen Shaw PROPOSAL
Rodrigues W OldroydIndiaAsiya Javayant UNQUALIFIED
Johnson D ShinkoCanadaOnyama Limba NEGOTIATION
Cody Y GlickItalyAsiya Javayant PROPOSAL
Mayumi D StensethSpainElwin Sharvill PROPOSAL
Octavia B CaldareraArgentinaStephen Shaw RENEWAL
Faith R CaudyAustraliaAsiya Javayant UNQUALIFIED
Juan F GauchoIndiaStephen Shaw QUALIFIED
Isabel U BowleyCanadaAnna Fali NEW
Leon B SchemmerArgentinaBernardo Dominic NEGOTIATION
Nicolas C KuskoFranceOnyama Limba NEGOTIATION
Ashley F DoeCanadaXuxue Feng NEW
Smith C BriddickSpainAmy Elsner QUALIFIED
James I ButtBrazilStephen Shaw NEGOTIATION
Antonio M DoeCanadaIoni Bowcher PROPOSAL
Julie C CaldareraFranceAnna Fali UNQUALIFIED
Greenwood B WhobreyAustraliaStephen Shaw NEGOTIATION
Ricardo L PoquetteArgentinaAsiya Javayant RENEWAL
Julie A GarufiFranceAnna Fali PROPOSAL
Ricardo O DoeAustraliaOnyama Limba PROPOSAL
Adams R KolmetzAustraliaIvan Magalhaes QUALIFIED
Tony X FollerSpainAmy Elsner QUALIFIED
Greenwood I BologniaGermanyIoni Bowcher RENEWAL
Ricardo W MaletGermanyBernardo Dominic PROPOSAL
Arvin I DoeIndiaIoni Bowcher UNQUALIFIED
Aruna R NickaSpainAnna Fali RENEWAL
Aruna N AlbaresSpainOnyama Limba QUALIFIED
Misaki P FigeroaUnited KingdomAnna Fali PROPOSAL
Cody U ChuiFranceElwin Sharvill UNQUALIFIED
Deepesh W NestleRussiaIoni Bowcher NEW
Arvin S InouyeJapanAnna Fali QUALIFIED
Juan V CaudyAustraliaIoni Bowcher RENEWAL
Mujtaba N BologniaBrazilAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily H MaletArgentinaStephen Shaw NEW
Isabel X InouyeUnited KingdomXuxue Feng RENEWAL
Wickens F FollerFranceBernardo Dominic UNQUALIFIED
Stacey F ButtUnited KingdomXuxue Feng NEW
Darci P OldroydUnited KingdomIvan Magalhaes NEW
Morrow V WhobreyGermanyOnyama Limba QUALIFIED
Tony U ChuiBrazilOnyama Limba NEGOTIATION
Maisha V BologniaIndiaAmy Elsner UNQUALIFIED
Stacey D BowleySpainElwin Sharvill PROPOSAL
Rodrigues Y GauchoIndiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow M StensethItaly2024-05-11Dorl, James J Esq UNQUALIFIED21Ivan Magalhaes
1001Maisha F StockhamUnited Kingdom2024-04-30Morlong Associates QUALIFIED93Elwin Sharvill
1002Cody N KuskoItaly2024-05-20Commercial Press NEGOTIATION47Elwin Sharvill
1003James P GauchoRussia2024-05-03Feiner Bros NEGOTIATION90Onyama Limba
1004Greenwood J BologniaRussia2024-04-28Feiner Bros QUALIFIED74Bernardo Dominic
1005Jefferson V GarufiArgentina2024-05-19King, Christopher A Esq RENEWAL75Ioni Bowcher
1006David W BowleyCanada2024-05-25Buckley Miller Wright NEGOTIATION1Ivan Magalhaes
1007Ricardo V PoquetteIndia2024-05-08Truhlar And Truhlar Attys NEW8Asiya Javayant
1008Silvio R MaletSpain2024-05-13Benton, John B Jr RENEWAL23Amy Elsner
1009Antonio P FollerIndia2024-05-21Buckley Miller Wright NEW28Ivan Magalhaes
1010Isabel Z StockhamItaly2024-04-29Feiner Bros NEW94Asiya Javayant
1011Mayumi N FerenczFrance2024-05-23Printing Dimensions NEGOTIATION76Elwin Sharvill
1012Clifford N PaprockiArgentina2024-05-11Chanay, Jeffrey A Esq QUALIFIED45Asiya Javayant
1013Julie C RulapaughBrazil2024-04-28Commercial Press NEGOTIATION98Onyama Limba
1014Alejandro H MorascaFrance2024-05-17Buckley Miller Wright NEW86Stephen Shaw
1015Cody E WaycottItaly2024-05-22Rangoni Of Florence QUALIFIED77Amy Elsner
1016Chavez G CaldareraIndia2024-05-26Rousseaux, Michael Esq NEW50Xuxue Feng
1017Isabel L OstroskySpain2024-05-05Chapman, Ross E Esq QUALIFIED0Onyama Limba
1018Rodrigues P MaletFrance2024-05-20Printing Dimensions NEGOTIATION64Anna Fali
1019Arvin G ButtCanada2024-05-10Chemel, James L Cpa PROPOSAL41Asiya Javayant
1020Claire C StensethUnited Kingdom2024-05-01Benton, John B Jr NEW56Stephen Shaw
1021Maisha V StensethRussia2024-05-12Truhlar And Truhlar Attys NEW51Bernardo Dominic
1022Smith Q MaletGermany2024-05-15King, Christopher A Esq NEGOTIATION36Ioni Bowcher
1023Alejandro N TollnerItaly2024-05-08Chapman, Ross E Esq NEW60Asiya Javayant
1024Emily Y SchemmerSpain2024-05-15Feiner Bros NEGOTIATION90Ivan Magalhaes
1025Smith G SchemmerItaly2024-05-27Morlong Associates PROPOSAL99Bernardo Dominic
1026Arvin U WhobreyUnited Kingdom2024-05-01Buckley Miller Wright UNQUALIFIED37Anna Fali
1027Greenwood R StensethCanada2024-05-21Rangoni Of Florence NEGOTIATION44Anna Fali
1028Maisha H KuskoItaly2024-04-29Buckley Miller Wright NEW68Ivan Magalhaes
1029Murillo M BologniaCanada2024-05-04Rousseaux, Michael Esq NEW19Onyama Limba
1030Sinclair K VocelkaArgentina2024-05-22Commercial Press NEW35Elwin Sharvill
1031Jennifer D WhobreyRussia2024-05-15Chanay, Jeffrey A Esq NEW66Asiya Javayant
1032Deepesh F KolmetzArgentina2024-05-04Chanay, Jeffrey A Esq QUALIFIED43Bernardo Dominic
1033Mujtaba Y PerinItaly2024-05-20King, Christopher A Esq NEW62Anna Fali
1034Jennifer E ButtRussia2024-05-19Chapman, Ross E Esq PROPOSAL71Stephen Shaw
1035Isabel J AmigonCanada2024-05-15Buckley Miller Wright QUALIFIED60Elwin Sharvill
1036Aditya H InouyeAustralia2024-05-19Rangoni Of Florence RENEWAL26Elwin Sharvill
1037Tony O PoquetteAustralia2024-05-07Benton, John B Jr QUALIFIED17Asiya Javayant
1038Munro N WhobreyJapan2024-05-13Printing Dimensions NEGOTIATION39Elwin Sharvill
1039Leja W CaudyIndia2024-05-04King, Christopher A Esq NEW2Anna Fali
1040Silvio W TollnerJapan2024-05-14Truhlar And Truhlar Attys NEW55Anna Fali
1041Murillo F ButtRussia2024-05-04Benton, John B Jr UNQUALIFIED12Ioni Bowcher
1042Deepesh C MaletCanada2024-05-08Chanay, Jeffrey A Esq NEW34Anna Fali
1043Faith F SergiBrazil2024-05-06Dorl, James J Esq UNQUALIFIED18Ivan Magalhaes
1044Francesco S BriddickFrance2024-05-13Buckley Miller Wright NEW87Stephen Shaw
1045Izzy W FerenczGermany2024-04-28Feiner Bros PROPOSAL79Amy Elsner
1046David C TollnerRussia2024-05-01Rangoni Of Florence UNQUALIFIED38Stephen Shaw
1047Misaki M VenereSpain2024-05-15Buckley Miller Wright PROPOSAL99Amy Elsner
1048Silvio S ChuiItaly2024-05-07Feiner Bros QUALIFIED69Bernardo Dominic
1049Jones Q FigeroaUnited Kingdom2024-05-15Rousseaux, Michael Esq UNQUALIFIED9Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Adams C VenereJapanElwin Sharvill QUALIFIED
Rodrigues S RimCanadaAmy Elsner NEGOTIATION
Octavia B MorascaFranceAsiya Javayant RENEWAL
Mayumi S GauchoGermanyOnyama Limba PROPOSAL
Aruna N FollerSpainIvan Magalhaes QUALIFIED
Arvin Q InouyeAustraliaElwin Sharvill QUALIFIED
Clifford C SergiUnited KingdomAsiya Javayant UNQUALIFIED
Clifford T KuskoItalyAmy Elsner NEW
Murillo O FigeroaAustraliaAnna Fali NEW
Stacey Y SaylorsJapanAsiya Javayant RENEWAL
Wickens T MaletBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois J FlosiIndiaIvan Magalhaes QUALIFIED
Darci B ChuiGermanyStephen Shaw PROPOSAL
Alejandro S IturbideItalyAmy Elsner UNQUALIFIED
Maria E CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Misaki L MaletSpainStephen Shaw NEW
Julie X DoeSpainIoni Bowcher RENEWAL
Emily C PoquetteItalyAnna Fali PROPOSAL
Smith E RoysterArgentinaAmy Elsner RENEWAL
Cody L WieserIndiaAsiya Javayant RENEWAL
Stacey B DilliardIndiaIvan Magalhaes QUALIFIED
Adams J BowleyAustraliaIoni Bowcher PROPOSAL
Nicolas L MaletUnited KingdomBernardo Dominic NEW
Deepesh F FigeroaIndiaIoni Bowcher NEGOTIATION
Clifford R RimSpainElwin Sharvill NEW
Chavez I RulapaughRussiaXuxue Feng RENEWAL
Jones K GarufiBrazilStephen Shaw PROPOSAL
Kadeem B VenereCanadaOnyama Limba RENEWAL
Tony M StensethBrazilAsiya Javayant NEW
Julie Z MaletCanadaBernardo Dominic RENEWAL
Jefferson L StensethJapanIoni Bowcher UNQUALIFIED
Izzy I ButtJapanBernardo Dominic UNQUALIFIED
Wickens S ChuiUnited KingdomAsiya Javayant UNQUALIFIED
Chavez P GarufiBrazilBernardo Dominic NEGOTIATION
Greenwood V MacleadIndiaAmy Elsner QUALIFIED
Chavez O ButtSpainAsiya Javayant UNQUALIFIED
Kadeem E SchemmerArgentinaAmy Elsner NEW
Greenwood B BowleyBrazilOnyama Limba UNQUALIFIED
Leon V KolmetzGermanyIvan Magalhaes NEW
Stacey B CampainJapanIoni Bowcher PROPOSAL
Deepesh N SlusarskiBrazilXuxue Feng NEW
Maria M FerenczItalyIoni Bowcher NEGOTIATION
Nicolas Z PerinUnited KingdomElwin Sharvill QUALIFIED
Salvatore J SlusarskiArgentinaAnna Fali PROPOSAL
Ricardo K MaletAustraliaBernardo Dominic QUALIFIED
Octavia G MaletCanadaXuxue Feng UNQUALIFIED
Jefferson U AmigonRussiaAsiya Javayant NEW
Aika F AlbaresSpainOnyama Limba QUALIFIED
Faith Z StensethCanadaStephen Shaw UNQUALIFIED
Jones I FollerRussiaXuxue Feng RENEWAL
Frozen Columns
Name
Maisha Q Bolognia
Octavia W Schemmer
Deepesh Z Gaucho
Isabel S Gaucho
Alejandro P Nestle
Darci I Caudy
Rodrigues N Inouye
Tony S Amigon
Chavez C Maclead
Maria R Ostrosky
Murillo X Briddick
Silvio U Kolmetz
Alejandro U Flosi
Murillo B Nicka
Misaki C Dilliard
Darci Y Malet
Kaitlin O Whobrey
Juan F Stenseth
Johnson Z Butt
Costa F Dilliard
Sinclair I Vocelka
Isabel R Royster
Johnson D Schemmer
Izzy E Glick
Ricardo P Saylors
Aditya A Butt
Juan B Gaucho
Kadeem D Venere
Sinclair S Dilliard
Cody W Bowley
Juan X Kolmetz
Wickens P Ruta
Faith V Iturbide
Mayumi N Rim
Cody C Saylors
Jeanfrancois O Ruta
Sinclair J Darakjy
Arvin V Doe
Kaitlin D Caudy
Faith D Stockham
Ricardo I Saylors
James S Nestle
Wickens M Kolmetz
Antonio R Schemmer
Greenwood U Stockham
Claire K Shinko
Wickens X Kolmetz
Ricardo T Butt
Aruna R Caudy
Mayumi X Bolognia
IdCountryDate
1000Canada2024-05-05
1001India2024-05-05
1002Canada2024-05-02
1003Brazil2024-05-13
1004Russia2024-05-24
1005Australia2024-05-07
1006France2024-05-19
1007United Kingdom2024-05-05
1008Germany2024-05-03
1009United Kingdom2024-05-17
1010Argentina2024-05-11
1011Brazil2024-05-02
1012Germany2024-05-04
1013Germany2024-05-17
1014Japan2024-05-05
1015Brazil2024-04-29
1016Argentina2024-05-06
1017Spain2024-05-24
1018Spain2024-05-04
1019Russia2024-05-24
1020Canada2024-04-28
1021India2024-05-20
1022Japan2024-05-05
1023Canada2024-05-17
1024Germany2024-05-11
1025India2024-05-24
1026Italy2024-05-06
1027Argentina2024-05-27
1028Brazil2024-04-29
1029Argentina2024-05-09
1030Spain2024-05-13
1031France2024-05-09
1032India2024-05-01
1033Brazil2024-05-05
1034Australia2024-04-29
1035France2024-05-25
1036Australia2024-05-09
1037France2024-05-05
1038Japan2024-05-22
1039Germany2024-05-21
1040Japan2024-05-24
1041Canada2024-05-20
1042Australia2024-05-16
1043Italy2024-05-08
1044Australia2024-05-11
1045Canada2024-05-15
1046Argentina2024-05-19
1047Russia2024-05-08
1048Argentina2024-05-19
1049Brazil2024-04-28

On-Demand Data

NameIdCountryDate
Julie M Whobrey1000Canada2024-05-05
Mayumi I Sergi1001Australia2024-05-07
Costa L Wieser1002France2024-05-03
Maria N Amigon1003France2024-05-26
Deepesh B Marrier1004Spain2024-05-07
Cody J Malet1005Canada2024-04-28
Johnson M Shinko1006Canada2024-05-17
Aika W Garufi1007Japan2024-05-15
Leja S Campain1008India2024-05-16
Alejandro R Albares1009Spain2024-05-13
Faith C Dilliard1010Germany2024-05-14
Claire B Morasca1011Spain2024-05-01
Antonio L Venere1012Canada2024-05-08
Nicolas V Kusko1013Japan2024-05-07
Jones N Oldroyd1014United Kingdom2024-05-10
Costa A Garufi1015Canada2024-05-20
Jones D Glick1016Australia2024-05-18
Arvin U Iturbide1017Argentina2024-05-08
Julie G Gillian1018Canada2024-04-28
Leon M Poquette1019Japan2024-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan X FerenczBrazilXuxue Feng QUALIFIED
Antonio W AmigonGermanyIvan Magalhaes NEW
Wickens K PerinUnited KingdomBernardo Dominic NEW
Stacey M TollnerJapanIvan Magalhaes UNQUALIFIED
Darci O ShinkoSpainIvan Magalhaes UNQUALIFIED
Mayumi P MaletFranceElwin Sharvill NEW
Murillo E ChuiAustraliaOnyama Limba RENEWAL
Emily Z StockhamFranceAsiya Javayant NEGOTIATION
Ricardo I OldroydBrazilIoni Bowcher RENEWAL
Mujtaba O WaycottCanadaBernardo Dominic NEW
Deepesh M KuskoItalyIoni Bowcher NEGOTIATION
Francesco H StensethUnited KingdomAsiya Javayant QUALIFIED
Stacey P MorascaIndiaAnna Fali NEGOTIATION
Jefferson C PerinFranceAsiya Javayant RENEWAL
Octavia W WaycottItalyAnna Fali PROPOSAL
David Y FerenczJapanAmy Elsner QUALIFIED
Kadeem I AlbaresAustraliaIvan Magalhaes PROPOSAL
Jennifer E VenereArgentinaIoni Bowcher NEGOTIATION
Ricardo H CampainGermanyAnna Fali UNQUALIFIED
Costa Y GauchoUnited KingdomIvan Magalhaes NEW
Ivar Y MarrierUnited KingdomOnyama Limba PROPOSAL
Arvin S CaldareraSpainIvan Magalhaes RENEWAL
Rodrigues F CaldareraItalyElwin Sharvill NEW
Salvatore C BowleySpainAmy Elsner PROPOSAL
Mayumi F VocelkaUnited KingdomIoni Bowcher QUALIFIED
Darci C PaprockiAustraliaElwin Sharvill PROPOSAL
Morrow H CampainRussiaBernardo Dominic NEW
Leja B IturbideAustraliaAsiya Javayant PROPOSAL
Darci S DarakjyGermanyIoni Bowcher QUALIFIED
James S BowleyIndiaAmy Elsner NEGOTIATION
Antonio P NestleArgentinaAnna Fali RENEWAL
Adams N MaletArgentinaBernardo Dominic PROPOSAL
Murillo T DilliardRussiaAnna Fali NEGOTIATION
Aika U GillianAustraliaIoni Bowcher UNQUALIFIED
Tony P GauchoIndiaXuxue Feng NEW
Murillo Z RoysterAustraliaAnna Fali NEGOTIATION
Smith Y MorascaArgentinaStephen Shaw UNQUALIFIED
Aika K PerinGermanyStephen Shaw NEW
Emily U AmigonRussiaBernardo Dominic RENEWAL
Mujtaba Q ButtBrazilIoni Bowcher 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>