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
Stacey K GauchoJapanIoni Bowcher RENEWAL
Mayumi A MarrierIndiaAnna Fali PROPOSAL
Julie M PaprockiJapanBernardo Dominic UNQUALIFIED
Isabel D BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson W GauchoFranceBernardo Dominic RENEWAL
Costa T MaletItalyAmy Elsner RENEWAL
James J PerinJapanAsiya Javayant NEGOTIATION
Rodrigues Y MaletSpainIvan Magalhaes QUALIFIED
Octavia H SaylorsRussiaXuxue Feng PROPOSAL
James B StensethRussiaIoni Bowcher QUALIFIED
David G DilliardRussiaOnyama Limba NEGOTIATION
Claire Z DilliardGermanyOnyama Limba NEGOTIATION
Cody O ShinkoAustraliaStephen Shaw PROPOSAL
James H DoeBrazilElwin Sharvill UNQUALIFIED
Izzy N CampainArgentinaIvan Magalhaes NEW
Smith A RimCanadaXuxue Feng RENEWAL
Antonio Y MaletIndiaAnna Fali PROPOSAL
Adams A BowleyAustraliaIvan Magalhaes NEW
Faith E BriddickItalyXuxue Feng NEW
Aika R DarakjyFranceStephen Shaw NEW
Antonio B ShinkoGermanyIvan Magalhaes PROPOSAL
Francesco H BologniaItalyAmy Elsner PROPOSAL
Stacey T FollerGermanyOnyama Limba NEW
Misaki T ChuiRussiaElwin Sharvill QUALIFIED
Alejandro I FollerJapanAnna Fali RENEWAL
Misaki L StensethAustraliaIvan Magalhaes UNQUALIFIED
Emily P DilliardFranceAmy Elsner NEGOTIATION
Jefferson G WaycottRussiaStephen Shaw RENEWAL
Faith T BologniaBrazilAnna Fali UNQUALIFIED
Alejandro F TollnerItalyElwin Sharvill NEGOTIATION
Chavez Q FlosiAustraliaAmy Elsner NEGOTIATION
Sinclair Z SergiItalyElwin Sharvill NEW
Jennifer O TollnerUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois Y CampainRussiaAsiya Javayant PROPOSAL
Rodrigues F WhobreyArgentinaElwin Sharvill QUALIFIED
Emily Q VocelkaItalyIoni Bowcher UNQUALIFIED
Jones G FigeroaRussiaAsiya Javayant RENEWAL
Aruna A WhobreyRussiaBernardo Dominic NEW
Chavez Y PaprockiItalyOnyama Limba NEGOTIATION
Emily G SlusarskiAustraliaXuxue Feng RENEWAL
Greenwood K RoysterBrazilAsiya Javayant NEGOTIATION
Misaki M RulapaughAustraliaAsiya Javayant NEW
Ivar Y ButtJapanIoni Bowcher PROPOSAL
Ivar Q SlusarskiFranceBernardo Dominic QUALIFIED
Antonio T InouyeItalyAsiya Javayant NEW
Jones S PoquetteUnited KingdomStephen Shaw PROPOSAL
James G OstroskyUnited KingdomIvan Magalhaes RENEWAL
Emily G MaletAustraliaIvan Magalhaes UNQUALIFIED
Alejandro I WaycottUnited KingdomIoni Bowcher NEW
Juan C ChuiItalyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia U SergiSpainOnyama Limba RENEWAL
Aditya W GlickSpainIoni Bowcher NEGOTIATION
Mayumi Z PerinSpainStephen Shaw RENEWAL
Izzy P WaycottIndiaElwin Sharvill PROPOSAL
Leja D MorascaGermanyAmy Elsner PROPOSAL
Silvio O NickaIndiaStephen Shaw UNQUALIFIED
Julie Q SaylorsSpainXuxue Feng UNQUALIFIED
Leon T IturbideRussiaElwin Sharvill NEGOTIATION
Murillo M RoysterItalyOnyama Limba PROPOSAL
Tony S PerinSpainAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro Z BriddickBrazil2024-06-11Rangoni Of Florence UNQUALIFIED26Amy Elsner
1001Kadeem F KolmetzJapan2024-06-10Feltz Printing Service NEW5Anna Fali
1002Octavia I PerinArgentina2024-06-16Rangoni Of Florence QUALIFIED81Bernardo Dominic
1003Tony L ButtJapan2024-06-06Feiner Bros RENEWAL15Ivan Magalhaes
1004Aditya I GauchoSpain2024-06-20Rousseaux, Michael Esq NEGOTIATION71Stephen Shaw
1005Faith Z FigeroaJapan2024-06-01Chemel, James L Cpa NEW70Asiya Javayant
1006Leon O PaprockiArgentina2024-05-25Dorl, James J Esq UNQUALIFIED13Xuxue Feng
1007James Z PaprockiAustralia2024-06-11Morlong Associates RENEWAL72Amy Elsner
1008David R FigeroaIndia2024-05-23Benton, John B Jr NEW98Anna Fali
1009Murillo R MaletAustralia2024-06-15Truhlar And Truhlar Attys NEW52Onyama Limba
1010Deepesh B ButtItaly2024-06-09Benton, John B Jr PROPOSAL68Asiya Javayant
1011Darci Q MaletItaly2024-05-29Rousseaux, Michael Esq NEGOTIATION2Stephen Shaw
1012Maria B DoeAustralia2024-06-11Chemel, James L Cpa QUALIFIED33Xuxue Feng
1013Sinclair X SchemmerGermany2024-06-19King, Christopher A Esq QUALIFIED24Anna Fali
1014Jones K InouyeBrazil2024-05-30Morlong Associates NEW29Onyama Limba
1015Munro P GlickArgentina2024-06-11Truhlar And Truhlar Attys NEW6Bernardo Dominic
1016Jennifer Z CaldareraBrazil2024-05-26King, Christopher A Esq NEGOTIATION68Ioni Bowcher
1017Maria I FollerBrazil2024-06-12Chanay, Jeffrey A Esq NEW61Xuxue Feng
1018Leja I StensethIndia2024-05-30King, Christopher A Esq QUALIFIED98Onyama Limba
1019Chavez E IturbideItaly2024-06-11Dorl, James J Esq NEW28Amy Elsner
1020Mujtaba R FollerUnited Kingdom2024-05-25Rangoni Of Florence RENEWAL62Bernardo Dominic
1021Maisha E OstroskyUnited Kingdom2024-06-03King, Christopher A Esq NEGOTIATION35Stephen Shaw
1022Maisha J FigeroaUnited Kingdom2024-05-30Feltz Printing Service NEGOTIATION72Onyama Limba
1023Ricardo I RoysterIndia2024-06-17Commercial Press QUALIFIED82Asiya Javayant
1024Salvatore J BriddickIndia2024-06-13Chanay, Jeffrey A Esq NEW84Amy Elsner
1025Izzy I DarakjyItaly2024-06-20Feiner Bros RENEWAL20Bernardo Dominic
1026Isabel D WaycottGermany2024-06-09Chapman, Ross E Esq NEW58Anna Fali
1027Clifford J FigeroaArgentina2024-06-16Printing Dimensions QUALIFIED36Ioni Bowcher
1028Greenwood I PoquetteGermany2024-06-11Morlong Associates UNQUALIFIED67Ivan Magalhaes
1029Sinclair C DoeRussia2024-05-25Feltz Printing Service NEGOTIATION15Bernardo Dominic
1030Maria C OldroydGermany2024-06-18Dorl, James J Esq PROPOSAL26Bernardo Dominic
1031Aruna F VenereItaly2024-06-06Feltz Printing Service NEGOTIATION50Stephen Shaw
1032Jones N KolmetzBrazil2024-05-28Feiner Bros PROPOSAL96Bernardo Dominic
1033Mayumi A MarrierUnited Kingdom2024-06-10Commercial Press QUALIFIED79Asiya Javayant
1034Tony Z DarakjyFrance2024-06-14Feiner Bros PROPOSAL38Amy Elsner
1035Ricardo A ChuiAustralia2024-06-15Rangoni Of Florence RENEWAL56Ivan Magalhaes
1036Faith I FlosiSpain2024-06-10Commercial Press QUALIFIED89Bernardo Dominic
1037Tony E SaylorsGermany2024-05-28Chemel, James L Cpa PROPOSAL87Amy Elsner
1038Jefferson N GillianSpain2024-05-28Buckley Miller Wright NEW27Asiya Javayant
1039Aditya E SlusarskiArgentina2024-06-15Benton, John B Jr QUALIFIED25Ivan Magalhaes
1040Kadeem G VocelkaJapan2024-05-30Benton, John B Jr QUALIFIED26Stephen Shaw
1041Ivar N RoysterFrance2024-06-12Chanay, Jeffrey A Esq PROPOSAL1Xuxue Feng
1042Aruna B TollnerFrance2024-06-03Chemel, James L Cpa QUALIFIED96Ivan Magalhaes
1043Johnson N MaletGermany2024-05-26Buckley Miller Wright NEW71Ivan Magalhaes
1044Claire Q PoquetteBrazil2024-06-04Printing Dimensions QUALIFIED90Ivan Magalhaes
1045Jeanfrancois F BriddickRussia2024-06-02Rousseaux, Michael Esq PROPOSAL55Anna Fali
1046Johnson Q DarakjyItaly2024-06-09Commercial Press RENEWAL34Bernardo Dominic
1047Emily J KuskoFrance2024-06-12Chanay, Jeffrey A Esq PROPOSAL78Bernardo Dominic
1048Tony T NickaFrance2024-06-20Rangoni Of Florence QUALIFIED50Xuxue Feng
1049Salvatore E KuskoUnited Kingdom2024-06-13Printing Dimensions PROPOSAL43Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aditya L KolmetzFranceAmy Elsner NEGOTIATION
Jefferson Z ChuiAustraliaBernardo Dominic RENEWAL
Rodrigues C DilliardArgentinaOnyama Limba QUALIFIED
Octavia H VocelkaFranceAnna Fali NEW
Arvin K WaycottFranceBernardo Dominic NEW
Stacey A InouyeIndiaXuxue Feng QUALIFIED
Francesco G CaldareraFranceStephen Shaw PROPOSAL
Aditya K PaprockiBrazilAsiya Javayant PROPOSAL
Jones V WieserArgentinaElwin Sharvill PROPOSAL
David A MacleadUnited KingdomAsiya Javayant QUALIFIED
Deepesh U InouyeCanadaXuxue Feng NEW
Deepesh N BologniaRussiaAsiya Javayant PROPOSAL
James F FerenczArgentinaIvan Magalhaes UNQUALIFIED
Faith V PoquetteBrazilStephen Shaw NEW
Maria N OldroydIndiaAsiya Javayant NEGOTIATION
Adams S CampainItalyAmy Elsner QUALIFIED
Sinclair C CaldareraItalyElwin Sharvill RENEWAL
Ivar D ShinkoItalyAsiya Javayant NEW
Antonio S GillianCanadaBernardo Dominic PROPOSAL
Ricardo U MaletSpainAsiya Javayant NEW
Jennifer Q RimGermanyXuxue Feng NEW
Kaitlin M BologniaJapanAnna Fali RENEWAL
Juan F KolmetzGermanyElwin Sharvill NEW
Izzy U SergiRussiaBernardo Dominic NEW
Costa J SchemmerGermanyIoni Bowcher UNQUALIFIED
Juan E AmigonBrazilStephen Shaw QUALIFIED
Aruna K AlbaresGermanyAmy Elsner PROPOSAL
Julie D RimArgentinaOnyama Limba RENEWAL
Mujtaba F StockhamArgentinaAsiya Javayant PROPOSAL
Octavia L NestleItalyOnyama Limba NEW
Aika S MaletSpainAsiya Javayant QUALIFIED
Silvio T InouyeIndiaAsiya Javayant QUALIFIED
Misaki H NestleUnited KingdomOnyama Limba NEW
Jefferson F ShinkoSpainStephen Shaw NEW
Costa F VenereJapanIoni Bowcher QUALIFIED
Sinclair E CaudyIndiaIoni Bowcher QUALIFIED
Leja C CaldareraArgentinaAmy Elsner QUALIFIED
David D WhobreyJapanOnyama Limba NEGOTIATION
Claire G StensethAustraliaStephen Shaw PROPOSAL
Octavia V CampainJapanIvan Magalhaes RENEWAL
Sinclair C KuskoCanadaBernardo Dominic QUALIFIED
Julie G FlosiGermanyIoni Bowcher UNQUALIFIED
Rodrigues M FollerRussiaAsiya Javayant UNQUALIFIED
Kaitlin D MarrierAustraliaAsiya Javayant QUALIFIED
Ashley R CaudyUnited KingdomAsiya Javayant RENEWAL
Johnson R ChuiIndiaAnna Fali NEW
Darci L OstroskyIndiaElwin Sharvill NEW
Octavia V MaletFranceStephen Shaw NEGOTIATION
Misaki A WieserBrazilIoni Bowcher UNQUALIFIED
Deepesh N CaudyJapanOnyama Limba QUALIFIED
Frozen Columns
Name
Adams V Briddick
Francesco V Morasca
Smith W Ruta
Kaitlin Z Briddick
Ivar K Saylors
Silvio Z Wieser
Jones P Dilliard
Claire N Stockham
Nicolas I Slusarski
Munro P Inouye
Murillo J Waycott
Kadeem X Figeroa
Stacey V Dilliard
Mujtaba O Stenseth
Maisha R Dilliard
Costa H Tollner
Tony A Butt
Isabel F Royster
Julie Y Rulapaugh
Maisha S Maclead
Deepesh T Wieser
Kaitlin Q Royster
Salvatore J Glick
Julie H Figeroa
Kadeem V Maclead
Morrow G Gillian
David U Sergi
Nicolas J Figeroa
David I Flosi
Aika Y Wieser
Alejandro G Glick
Rodrigues B Garufi
Jeanfrancois I Kolmetz
Emily F Royster
Leja R Stockham
Aika T Foller
Emily U Bowley
Darci Z Iturbide
Darci U Marrier
Maisha G Dilliard
Wickens H Nicka
Morrow Z Nicka
Ashley M Schemmer
Morrow V Nicka
Chavez O Campain
Arvin O Bowley
Francesco X Kusko
Ricardo P Malet
Antonio X Morasca
Salvatore O Butt
IdCountryDate
1000Japan2024-05-26
1001Spain2024-06-16
1002Spain2024-05-30
1003United Kingdom2024-06-10
1004Canada2024-05-26
1005Argentina2024-05-25
1006France2024-06-08
1007Canada2024-06-01
1008Spain2024-05-31
1009Spain2024-05-23
1010Spain2024-05-31
1011Brazil2024-06-08
1012Germany2024-06-17
1013Spain2024-06-21
1014Italy2024-06-15
1015France2024-05-27
1016Australia2024-05-27
1017Russia2024-06-15
1018Argentina2024-06-09
1019United Kingdom2024-05-27
1020Brazil2024-05-23
1021Brazil2024-05-28
1022United Kingdom2024-05-26
1023Italy2024-06-20
1024Australia2024-06-18
1025Japan2024-06-20
1026Italy2024-05-27
1027Canada2024-06-15
1028India2024-05-28
1029Argentina2024-06-09
1030France2024-06-16
1031United Kingdom2024-05-30
1032United Kingdom2024-06-02
1033Canada2024-05-28
1034Spain2024-06-06
1035India2024-05-31
1036Japan2024-06-11
1037Spain2024-06-11
1038Japan2024-06-10
1039Spain2024-06-17
1040India2024-06-06
1041Russia2024-05-31
1042Brazil2024-05-28
1043Argentina2024-06-12
1044Spain2024-06-09
1045Italy2024-06-14
1046Canada2024-05-31
1047Australia2024-06-06
1048Italy2024-05-23
1049Japan2024-06-05

On-Demand Data

NameIdCountryDate
Emily Y Waycott1000India2024-06-17
Jennifer E Flosi1001Brazil2024-05-30
Octavia Y Royster1002Japan2024-06-15
Ricardo L Briddick1003India2024-05-27
Francesco Q Darakjy1004Italy2024-05-31
Rodrigues B Campain1005Germany2024-06-13
Antonio D Waycott1006Russia2024-06-13
Smith H Inouye1007Brazil2024-06-04
Murillo L Kolmetz1008Germany2024-06-17
Misaki C Iturbide1009India2024-06-16
Sinclair R Foller1010Brazil2024-06-05
Emily G Stockham1011United Kingdom2024-06-17
Alejandro B Poquette1012Argentina2024-05-29
Faith S Oldroyd1013Japan2024-05-31
Darci I Saylors1014Argentina2024-06-09
Juan N Slusarski1015Canada2024-06-09
Mujtaba D Bolognia1016France2024-06-06
Jefferson L Nestle1017Italy2024-06-11
Maria B Slusarski1018Canada2024-06-06
Murillo F Morasca1019Germany2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair F SergiItalyBernardo Dominic RENEWAL
Aika L FlosiBrazilAsiya Javayant NEW
Maisha R InouyeIndiaAnna Fali RENEWAL
Antonio R DarakjyFranceAsiya Javayant UNQUALIFIED
Darci S KuskoItalyIvan Magalhaes UNQUALIFIED
Claire K FollerSpainElwin Sharvill RENEWAL
Arvin X NestleFranceBernardo Dominic UNQUALIFIED
Rodrigues W RoysterAustraliaElwin Sharvill UNQUALIFIED
Ricardo B InouyeAustraliaAsiya Javayant UNQUALIFIED
Stacey A MorascaAustraliaIvan Magalhaes PROPOSAL
Mujtaba J CampainFranceElwin Sharvill QUALIFIED
Francesco Q CampainFranceStephen Shaw NEW
Julie O FigeroaFranceAnna Fali UNQUALIFIED
Clifford W AlbaresBrazilIoni Bowcher QUALIFIED
Mayumi D FerenczAustraliaOnyama Limba NEGOTIATION
Adams Y MaletIndiaElwin Sharvill NEW
Chavez L ButtUnited KingdomIvan Magalhaes NEW
Tony M SlusarskiCanadaStephen Shaw QUALIFIED
Deepesh M StockhamItalyElwin Sharvill UNQUALIFIED
Smith L AlbaresBrazilElwin Sharvill RENEWAL
Alejandro P RutaAustraliaAnna Fali NEGOTIATION
Jefferson C RoysterIndiaBernardo Dominic PROPOSAL
Nicolas O NestleItalyAnna Fali PROPOSAL
Leon U MorascaArgentinaXuxue Feng QUALIFIED
Alejandro Z GauchoUnited KingdomIvan Magalhaes QUALIFIED
Antonio O NickaItalyIvan Magalhaes NEW
Maria N RutaUnited KingdomAsiya Javayant NEW
David L AmigonUnited KingdomAsiya Javayant NEW
Misaki E CaldareraRussiaXuxue Feng PROPOSAL
Jefferson E ButtJapanIvan Magalhaes UNQUALIFIED
Chavez W RoysterRussiaIvan Magalhaes RENEWAL
Francesco D KolmetzArgentinaIvan Magalhaes QUALIFIED
Mayumi N IturbideBrazilAnna Fali UNQUALIFIED
Kadeem C VenereJapanXuxue Feng PROPOSAL
Misaki Z IturbideSpainElwin Sharvill NEGOTIATION
Mujtaba L WhobreyCanadaIoni Bowcher PROPOSAL
Antonio L ButtJapanOnyama Limba RENEWAL
David H MarrierGermanyIvan Magalhaes PROPOSAL
Smith H NickaGermanyBernardo Dominic UNQUALIFIED
Greenwood B IturbideItalyStephen Shaw 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>