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
Tony V AlbaresJapanIvan Magalhaes QUALIFIED
Silvio W VenereFranceIvan Magalhaes NEGOTIATION
Darci I FigeroaBrazilIoni Bowcher NEW
Kaitlin U DoeFranceElwin Sharvill QUALIFIED
Salvatore P VocelkaGermanyIvan Magalhaes RENEWAL
James E VocelkaAustraliaIoni Bowcher PROPOSAL
Darci N SergiArgentinaAnna Fali NEGOTIATION
Faith F RoysterItalyAnna Fali UNQUALIFIED
James T StensethJapanAmy Elsner UNQUALIFIED
Darci W ButtItalyIoni Bowcher RENEWAL
Smith W ShinkoUnited KingdomIvan Magalhaes NEW
Salvatore L ButtRussiaAmy Elsner NEW
Munro R FigeroaFranceElwin Sharvill NEW
Ivar C RulapaughCanadaXuxue Feng NEW
Rodrigues I DilliardJapanOnyama Limba RENEWAL
Faith V AmigonCanadaXuxue Feng NEGOTIATION
Mujtaba D BriddickJapanAmy Elsner NEGOTIATION
Julie E RutaRussiaAsiya Javayant QUALIFIED
Isabel T BriddickItalyAmy Elsner QUALIFIED
Leja B CaldareraRussiaStephen Shaw PROPOSAL
Morrow I MarrierFranceAsiya Javayant UNQUALIFIED
Maria H BologniaArgentinaAnna Fali UNQUALIFIED
Aika T FerenczGermanyIvan Magalhaes UNQUALIFIED
Wickens Y NickaAustraliaAsiya Javayant NEGOTIATION
Tony P DarakjyArgentinaAsiya Javayant PROPOSAL
Deepesh H BologniaCanadaBernardo Dominic RENEWAL
Tony W TollnerRussiaStephen Shaw NEGOTIATION
Julie P MaletJapanIoni Bowcher RENEWAL
David T SergiIndiaElwin Sharvill NEW
Kadeem J ChuiBrazilAnna Fali QUALIFIED
Mujtaba O FollerJapanStephen Shaw QUALIFIED
Silvio R DoeGermanyAnna Fali UNQUALIFIED
Jennifer K ChuiBrazilElwin Sharvill NEGOTIATION
Murillo I BriddickFranceElwin Sharvill PROPOSAL
Kaitlin L FerenczSpainIoni Bowcher RENEWAL
Isabel K MaletArgentinaAnna Fali UNQUALIFIED
Alejandro H KuskoCanadaIvan Magalhaes UNQUALIFIED
Francesco X MorascaJapanOnyama Limba UNQUALIFIED
Maria I WhobreySpainIoni Bowcher UNQUALIFIED
Adams N OstroskyBrazilAnna Fali QUALIFIED
Maisha U AmigonSpainOnyama Limba UNQUALIFIED
Greenwood F GlickArgentinaXuxue Feng UNQUALIFIED
Aika Z DoeAustraliaElwin Sharvill RENEWAL
Misaki J PoquetteJapanAmy Elsner UNQUALIFIED
Aruna A AmigonJapanBernardo Dominic NEW
Isabel H OstroskyBrazilIvan Magalhaes PROPOSAL
Arvin J StensethFranceXuxue Feng RENEWAL
Darci Q VenereUnited KingdomAmy Elsner RENEWAL
Munro B GlickArgentinaBernardo Dominic UNQUALIFIED
Antonio Z OldroydBrazilBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maisha K VenereJapanIvan Magalhaes QUALIFIED
Clifford U IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya O BriddickItalyStephen Shaw PROPOSAL
Aika W FerenczArgentinaIoni Bowcher NEGOTIATION
Mujtaba Z AlbaresJapanAsiya Javayant QUALIFIED
Maisha O GillianIndiaStephen Shaw NEW
Kadeem I VenereFranceIoni Bowcher NEGOTIATION
Clifford O GauchoSpainAmy Elsner QUALIFIED
Murillo A MacleadAustraliaIvan Magalhaes RENEWAL
Tony L RulapaughUnited KingdomIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily T CaldareraRussia2024-06-04Dorl, James J Esq NEW10Ioni Bowcher
1001Kaitlin U MarrierUnited Kingdom2024-06-03Chemel, James L Cpa QUALIFIED71Onyama Limba
1002Kadeem Q RulapaughFrance2024-05-19Chemel, James L Cpa NEW18Asiya Javayant
1003Maria Q GarufiFrance2024-05-18Rousseaux, Michael Esq QUALIFIED94Stephen Shaw
1004Isabel M BowleyGermany2024-06-12King, Christopher A Esq NEGOTIATION6Asiya Javayant
1005Aruna B BriddickRussia2024-05-22Chemel, James L Cpa UNQUALIFIED80Amy Elsner
1006Ashley M MorascaItaly2024-06-06Feiner Bros QUALIFIED37Stephen Shaw
1007Smith Q KolmetzItaly2024-05-21Truhlar And Truhlar Attys RENEWAL69Onyama Limba
1008David B RulapaughItaly2024-06-07Feltz Printing Service RENEWAL2Ioni Bowcher
1009Silvio U AmigonArgentina2024-05-16Buckley Miller Wright UNQUALIFIED92Anna Fali
1010Claire N InouyeIndia2024-06-01King, Christopher A Esq UNQUALIFIED9Xuxue Feng
1011Kadeem S RulapaughItaly2024-05-26Printing Dimensions RENEWAL84Elwin Sharvill
1012Emily U SlusarskiCanada2024-06-11Buckley Miller Wright QUALIFIED81Ivan Magalhaes
1013Julie M VenereAustralia2024-05-23King, Christopher A Esq RENEWAL75Asiya Javayant
1014Kadeem J MaletBrazil2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED12Xuxue Feng
1015Jones C BowleyFrance2024-05-24Feltz Printing Service NEGOTIATION27Ivan Magalhaes
1016Clifford Q FollerBrazil2024-06-04Truhlar And Truhlar Attys NEW54Ioni Bowcher
1017Jefferson Q DarakjyUnited Kingdom2024-05-23Commercial Press QUALIFIED53Amy Elsner
1018Jennifer V PerinRussia2024-05-25Truhlar And Truhlar Attys PROPOSAL32Anna Fali
1019Izzy S WieserFrance2024-05-27Feiner Bros NEW0Ioni Bowcher
1020Mujtaba A BowleyUnited Kingdom2024-05-21Buckley Miller Wright UNQUALIFIED50Anna Fali
1021Greenwood U WaycottAustralia2024-06-13Dorl, James J Esq QUALIFIED48Elwin Sharvill
1022Julie K MacleadSpain2024-06-08Feiner Bros UNQUALIFIED87Stephen Shaw
1023Smith L StensethJapan2024-05-25Printing Dimensions QUALIFIED15Elwin Sharvill
1024Arvin G KuskoIndia2024-05-30Truhlar And Truhlar Attys PROPOSAL13Amy Elsner
1025Faith P GarufiJapan2024-06-11Rangoni Of Florence PROPOSAL51Ioni Bowcher
1026Chavez C DarakjyArgentina2024-06-02Morlong Associates NEW31Bernardo Dominic
1027Rodrigues M RutaItaly2024-05-21Morlong Associates PROPOSAL2Ioni Bowcher
1028Arvin I MorascaUnited Kingdom2024-05-24Feiner Bros QUALIFIED90Ivan Magalhaes
1029Cody K BriddickSpain2024-06-01Chemel, James L Cpa QUALIFIED90Onyama Limba
1030Kaitlin D WhobreyGermany2024-06-02Chemel, James L Cpa UNQUALIFIED58Xuxue Feng
1031Antonio L MaletJapan2024-05-16Feiner Bros PROPOSAL81Stephen Shaw
1032Tony K DilliardFrance2024-06-02Morlong Associates RENEWAL20Xuxue Feng
1033Nicolas Z GarufiSpain2024-05-26Chemel, James L Cpa UNQUALIFIED44Bernardo Dominic
1034Arvin J VenereGermany2024-06-10Benton, John B Jr NEGOTIATION45Elwin Sharvill
1035Morrow X WieserSpain2024-06-13Chanay, Jeffrey A Esq QUALIFIED90Onyama Limba
1036Mujtaba R VocelkaFrance2024-05-16Chanay, Jeffrey A Esq NEGOTIATION10Ioni Bowcher
1037Alejandro K SaylorsRussia2024-05-17Truhlar And Truhlar Attys NEW79Stephen Shaw
1038Wickens N NickaAustralia2024-06-06Feiner Bros QUALIFIED60Ioni Bowcher
1039Costa M FollerRussia2024-06-06Rousseaux, Michael Esq PROPOSAL77Bernardo Dominic
1040Ivar V MorascaAustralia2024-05-15Chapman, Ross E Esq NEW40Asiya Javayant
1041Kadeem I FigeroaFrance2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED62Asiya Javayant
1042Izzy I RoysterFrance2024-05-30Rangoni Of Florence QUALIFIED24Asiya Javayant
1043Jefferson T VenereBrazil2024-05-20Dorl, James J Esq RENEWAL2Onyama Limba
1044Smith K GillianGermany2024-06-06Buckley Miller Wright NEW99Elwin Sharvill
1045David L GauchoArgentina2024-06-06Buckley Miller Wright NEGOTIATION79Onyama Limba
1046Alejandro B ChuiUnited Kingdom2024-06-12Truhlar And Truhlar Attys NEGOTIATION24Amy Elsner
1047Deepesh O FigeroaGermany2024-05-29Dorl, James J Esq UNQUALIFIED67Anna Fali
1048Francesco Z RimUnited Kingdom2024-06-13Buckley Miller Wright RENEWAL22Onyama Limba
1049Adams A BriddickCanada2024-05-16Feltz Printing Service NEW66Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Kadeem D FerenczUnited KingdomIoni Bowcher RENEWAL
Munro E ButtGermanyXuxue Feng NEGOTIATION
Aruna O BologniaFranceStephen Shaw RENEWAL
Tony E FigeroaArgentinaOnyama Limba QUALIFIED
Julie C PaprockiFranceIoni Bowcher NEGOTIATION
Rodrigues H CampainAustraliaAnna Fali RENEWAL
Jennifer H NickaArgentinaElwin Sharvill UNQUALIFIED
Claire G RoysterGermanyAsiya Javayant NEW
Mayumi F BologniaUnited KingdomIvan Magalhaes NEW
James R BriddickAustraliaAmy Elsner RENEWAL
Salvatore M VocelkaIndiaXuxue Feng NEGOTIATION
Deepesh G FigeroaFranceStephen Shaw UNQUALIFIED
Aditya G GlickArgentinaOnyama Limba NEW
Chavez V GillianJapanIvan Magalhaes QUALIFIED
Greenwood Y WhobreyAustraliaStephen Shaw UNQUALIFIED
Alejandro K OldroydJapanElwin Sharvill NEW
Faith K StockhamFranceBernardo Dominic UNQUALIFIED
Alejandro Z BologniaUnited KingdomXuxue Feng PROPOSAL
Smith I GlickGermanyElwin Sharvill RENEWAL
Leja F PaprockiJapanIvan Magalhaes RENEWAL
Ivar Y DilliardRussiaAmy Elsner NEGOTIATION
James E GauchoItalyOnyama Limba PROPOSAL
Salvatore B ButtBrazilAsiya Javayant QUALIFIED
Claire R NestleAustraliaAmy Elsner NEGOTIATION
Mujtaba M KuskoFranceAsiya Javayant PROPOSAL
Faith B InouyeBrazilIvan Magalhaes NEGOTIATION
Leja U BowleyArgentinaAnna Fali NEW
Ricardo N StockhamFranceIvan Magalhaes NEGOTIATION
Isabel V DilliardUnited KingdomXuxue Feng NEGOTIATION
Greenwood E BologniaRussiaElwin Sharvill NEGOTIATION
Leon S GlickJapanAmy Elsner UNQUALIFIED
Sinclair U PoquetteUnited KingdomBernardo Dominic RENEWAL
Misaki P SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Misaki A DarakjySpainStephen Shaw UNQUALIFIED
Ivar D VocelkaGermanyOnyama Limba RENEWAL
Faith I AmigonIndiaIoni Bowcher NEW
Jeanfrancois G GlickItalyElwin Sharvill NEW
Costa E SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Antonio Y MarrierBrazilElwin Sharvill QUALIFIED
Claire V VocelkaArgentinaXuxue Feng RENEWAL
Izzy I SaylorsArgentinaAsiya Javayant NEW
Faith M DarakjyIndiaStephen Shaw QUALIFIED
James A BologniaArgentinaIvan Magalhaes NEW
Chavez O IturbideAustraliaBernardo Dominic NEW
Maria S InouyeFranceIvan Magalhaes NEGOTIATION
Antonio S GillianUnited KingdomIoni Bowcher NEW
Darci F KuskoGermanyXuxue Feng PROPOSAL
Rodrigues F ButtJapanIoni Bowcher NEW
Chavez M ShinkoUnited KingdomStephen Shaw NEGOTIATION
Nicolas V AlbaresFranceElwin Sharvill RENEWAL
Frozen Columns
Name
Morrow X Campain
Murillo Z Briddick
Sinclair K Slusarski
Aruna M Amigon
Ashley K Caudy
Leja L Briddick
Darci V Whobrey
Ricardo U Amigon
Mujtaba P Doe
Munro N Paprocki
Kadeem L Stenseth
Octavia K Campain
Faith Z Maclead
Smith T Stockham
Antonio Z Slusarski
Jefferson T Iturbide
Mayumi D Gaucho
Izzy R Kusko
Smith U Paprocki
James U Shinko
Leon S Doe
Claire A Ferencz
Nicolas P Wieser
Kadeem R Poquette
Darci W Nicka
Misaki B Paprocki
Wickens V Whobrey
Misaki B Kolmetz
Murillo W Nicka
Costa C Poquette
David J Royster
Rodrigues R Gaucho
Isabel D Waycott
Morrow B Tollner
Isabel O Campain
Ricardo Q Oldroyd
Misaki G Royster
Francesco V Waycott
Morrow S Whobrey
Morrow J Venere
David U Butt
Adams K Foller
Murillo K Darakjy
Deepesh E Ostrosky
Adams L Kusko
Adams W Whobrey
Morrow C Shinko
Deepesh N Chui
Smith Y Bowley
Francesco V Caldarera
IdCountryDate
1000Russia2024-06-05
1001India2024-05-19
1002India2024-05-16
1003Argentina2024-05-22
1004Japan2024-05-18
1005Germany2024-05-24
1006United Kingdom2024-05-24
1007Germany2024-06-03
1008Brazil2024-06-07
1009Japan2024-05-21
1010India2024-05-25
1011Brazil2024-05-29
1012Germany2024-06-10
1013Spain2024-05-22
1014United Kingdom2024-06-07
1015Brazil2024-05-21
1016Japan2024-05-25
1017India2024-06-04
1018Japan2024-05-23
1019Italy2024-05-18
1020Argentina2024-06-13
1021Brazil2024-05-27
1022Spain2024-06-01
1023United Kingdom2024-05-31
1024Australia2024-05-18
1025Russia2024-05-26
1026India2024-06-11
1027Spain2024-06-03
1028India2024-06-13
1029Brazil2024-06-12
1030Russia2024-06-07
1031Canada2024-06-13
1032Argentina2024-05-25
1033Japan2024-05-29
1034Argentina2024-05-17
1035India2024-05-23
1036Australia2024-06-03
1037Germany2024-06-08
1038Argentina2024-05-21
1039Italy2024-06-05
1040Australia2024-05-20
1041Brazil2024-06-13
1042Australia2024-05-20
1043Argentina2024-05-18
1044India2024-05-26
1045France2024-06-02
1046France2024-06-04
1047Italy2024-05-17
1048Argentina2024-05-24
1049Australia2024-06-02

On-Demand Data

NameIdCountryDate
Rodrigues S Slusarski1000France2024-06-09
Stacey Z Rulapaugh1001Argentina2024-05-15
Misaki M Shinko1002Japan2024-06-13
Jennifer V Darakjy1003Russia2024-06-12
Juan T Nestle1004India2024-05-20
Aika Q Marrier1005Russia2024-06-12
Kaitlin D Inouye1006Germany2024-05-28
Jefferson U Dilliard1007United Kingdom2024-05-20
Stacey Z Doe1008Canada2024-06-02
Mujtaba W Foller1009Brazil2024-06-09
Aruna F Ostrosky1010United Kingdom2024-05-22
Arvin E Saylors1011Germany2024-06-05
Johnson L Glick1012Germany2024-06-12
Faith K Kolmetz1013United Kingdom2024-05-24
Chavez F Caldarera1014Russia2024-06-04
Deepesh M Rulapaugh1015France2024-06-09
Ricardo T Morasca1016Japan2024-06-09
Claire Z Poquette1017Japan2024-05-21
Ivar L Amigon1018Australia2024-06-05
Nicolas R Butt1019Japan2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James J KuskoFranceIoni Bowcher QUALIFIED
Deepesh Q RutaItalyElwin Sharvill NEGOTIATION
Mayumi W RulapaughRussiaAnna Fali PROPOSAL
Costa C PerinJapanAsiya Javayant QUALIFIED
Claire L AlbaresSpainAnna Fali PROPOSAL
Izzy G StensethArgentinaAmy Elsner QUALIFIED
David U GarufiSpainXuxue Feng UNQUALIFIED
Jennifer S NestleRussiaOnyama Limba UNQUALIFIED
Deepesh N VocelkaItalyAnna Fali RENEWAL
Mujtaba C DilliardRussiaXuxue Feng UNQUALIFIED
Clifford Q PerinUnited KingdomElwin Sharvill PROPOSAL
Rodrigues V RutaAustraliaAmy Elsner QUALIFIED
Leon E DilliardGermanyAsiya Javayant UNQUALIFIED
Salvatore I FollerSpainIvan Magalhaes UNQUALIFIED
Darci Y FigeroaArgentinaStephen Shaw UNQUALIFIED
Adams O SaylorsBrazilAnna Fali RENEWAL
Kaitlin D FerenczItalyAmy Elsner UNQUALIFIED
Isabel Q AlbaresGermanyOnyama Limba QUALIFIED
Aika C DarakjyAustraliaBernardo Dominic PROPOSAL
Izzy T KuskoAustraliaIoni Bowcher RENEWAL
Stacey H KuskoJapanAnna Fali PROPOSAL
Ashley Y RutaIndiaAsiya Javayant RENEWAL
Stacey Y DoeSpainStephen Shaw NEGOTIATION
Darci R PerinFranceIvan Magalhaes QUALIFIED
Clifford K ShinkoUnited KingdomStephen Shaw NEGOTIATION
Kaitlin O IturbideSpainIvan Magalhaes RENEWAL
David B WieserBrazilStephen Shaw UNQUALIFIED
Leja P MorascaSpainAsiya Javayant QUALIFIED
Jefferson D TollnerBrazilAnna Fali NEGOTIATION
Sinclair L ButtArgentinaOnyama Limba PROPOSAL
Cody G RoysterRussiaIvan Magalhaes RENEWAL
Darci J GauchoBrazilAsiya Javayant NEGOTIATION
Johnson L SergiArgentinaAsiya Javayant NEGOTIATION
Julie S RoysterArgentinaBernardo Dominic NEW
Antonio B PerinAustraliaStephen Shaw PROPOSAL
Smith X OldroydFranceElwin Sharvill NEGOTIATION
Francesco V ChuiJapanIvan Magalhaes NEW
Stacey U MacleadGermanyXuxue Feng QUALIFIED
Izzy I BriddickBrazilXuxue Feng RENEWAL
Leon G AlbaresUnited KingdomStephen Shaw NEW

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