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
Clifford S MaletAustraliaBernardo Dominic PROPOSAL
Deepesh J CampainIndiaIvan Magalhaes QUALIFIED
Tony H MarrierFranceXuxue Feng PROPOSAL
Kadeem P GillianFranceAsiya Javayant PROPOSAL
Ricardo G RoysterRussiaAmy Elsner RENEWAL
Darci Y SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Antonio Y MacleadSpainXuxue Feng UNQUALIFIED
Kadeem G InouyeItalyStephen Shaw NEW
Misaki Z NickaSpainAmy Elsner QUALIFIED
Mujtaba V DoeRussiaXuxue Feng QUALIFIED
Jefferson E RutaGermanyAsiya Javayant UNQUALIFIED
Aditya N OldroydGermanyElwin Sharvill NEGOTIATION
Jeanfrancois O OstroskyRussiaBernardo Dominic UNQUALIFIED
Adams N BriddickUnited KingdomXuxue Feng NEGOTIATION
Chavez M BowleyAustraliaAmy Elsner UNQUALIFIED
Cody P StockhamBrazilAmy Elsner NEW
Aika A SchemmerItalyXuxue Feng NEW
Isabel W ShinkoRussiaIvan Magalhaes UNQUALIFIED
Octavia P RutaAustraliaIoni Bowcher QUALIFIED
Aruna K RoysterUnited KingdomIoni Bowcher QUALIFIED
Francesco K DarakjyFranceOnyama Limba UNQUALIFIED
Mayumi W SaylorsBrazilOnyama Limba UNQUALIFIED
Mujtaba P MarrierBrazilXuxue Feng NEW
Darci Z MarrierGermanyStephen Shaw NEGOTIATION
Arvin Z OldroydRussiaOnyama Limba NEGOTIATION
Jeanfrancois F TollnerJapanXuxue Feng UNQUALIFIED
Greenwood Q FlosiCanadaAnna Fali NEW
Izzy L DarakjyJapanStephen Shaw NEW
Octavia H ShinkoCanadaBernardo Dominic NEW
Francesco L IturbideUnited KingdomElwin Sharvill RENEWAL
Ivar T WaycottArgentinaElwin Sharvill NEGOTIATION
Clifford U ShinkoArgentinaIoni Bowcher RENEWAL
Izzy Z StensethArgentinaIoni Bowcher NEGOTIATION
Misaki U OldroydArgentinaAnna Fali UNQUALIFIED
Wickens K AlbaresCanadaIvan Magalhaes QUALIFIED
Tony A GlickAustraliaAnna Fali NEGOTIATION
Isabel D ButtArgentinaOnyama Limba UNQUALIFIED
Aruna J NestleUnited KingdomAsiya Javayant NEW
Antonio J PaprockiCanadaAnna Fali QUALIFIED
Smith K MaletCanadaBernardo Dominic NEW
Nicolas J StensethItalyOnyama Limba UNQUALIFIED
Mayumi W TollnerIndiaStephen Shaw RENEWAL
Rodrigues F CampainFranceElwin Sharvill PROPOSAL
James D GillianArgentinaIoni Bowcher NEW
Adams I DoeFranceElwin Sharvill RENEWAL
Darci T MacleadItalyStephen Shaw NEW
Salvatore J ChuiFranceIoni Bowcher QUALIFIED
Emily R SchemmerArgentinaAmy Elsner RENEWAL
Smith M ShinkoItalyOnyama Limba RENEWAL
Johnson Y MacleadArgentinaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria K OstroskyJapanOnyama Limba RENEWAL
Sinclair Z RimRussiaAsiya Javayant RENEWAL
Arvin J FollerFranceIoni Bowcher RENEWAL
Claire K MarrierRussiaXuxue Feng NEGOTIATION
Aruna W MorascaCanadaOnyama Limba RENEWAL
Jeanfrancois Q VenereItalyAmy Elsner PROPOSAL
Mayumi I StensethSpainElwin Sharvill QUALIFIED
Clifford Y AlbaresArgentinaBernardo Dominic QUALIFIED
Juan N RutaUnited KingdomXuxue Feng UNQUALIFIED
Adams U KuskoBrazilAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki C AmigonIndia2025-06-05Benton, John B Jr NEGOTIATION38Elwin Sharvill
1001Ricardo T AmigonSpain2025-05-27Rangoni Of Florence RENEWAL70Ioni Bowcher
1002Jeanfrancois B RimUnited Kingdom2025-06-06King, Christopher A Esq NEGOTIATION22Ioni Bowcher
1003Rodrigues Y GlickCanada2025-06-13Printing Dimensions QUALIFIED89Bernardo Dominic
1004Leja D AlbaresSpain2025-05-25Commercial Press NEGOTIATION92Xuxue Feng
1005Juan R DarakjyFrance2025-06-04Buckley Miller Wright RENEWAL27Onyama Limba
1006Chavez I RoysterIndia2025-06-13King, Christopher A Esq NEGOTIATION0Elwin Sharvill
1007Claire Z FerenczUnited Kingdom2025-06-16Commercial Press QUALIFIED9Xuxue Feng
1008Maisha Y MaletBrazil2025-06-16Feiner Bros UNQUALIFIED2Bernardo Dominic
1009Aika O ShinkoArgentina2025-06-06Morlong Associates NEGOTIATION11Bernardo Dominic
1010Aika V ChuiArgentina2025-06-11Chemel, James L Cpa UNQUALIFIED38Asiya Javayant
1011Johnson J MorascaCanada2025-06-06Printing Dimensions NEW6Stephen Shaw
1012Nicolas F WaycottGermany2025-06-11King, Christopher A Esq QUALIFIED54Bernardo Dominic
1013David Q TollnerIndia2025-05-26Chemel, James L Cpa NEGOTIATION50Elwin Sharvill
1014Maria M CaldareraRussia2025-06-10Dorl, James J Esq QUALIFIED16Elwin Sharvill
1015Antonio W AmigonIndia2025-06-06Dorl, James J Esq PROPOSAL44Elwin Sharvill
1016Cody C SergiCanada2025-05-30Morlong Associates NEGOTIATION84Anna Fali
1017Jennifer S GlickSpain2025-06-04King, Christopher A Esq NEGOTIATION38Bernardo Dominic
1018Aditya F CampainSpain2025-05-29King, Christopher A Esq NEW12Onyama Limba
1019Wickens V VocelkaItaly2025-06-11Printing Dimensions NEGOTIATION49Anna Fali
1020Silvio B GlickRussia2025-06-07Rousseaux, Michael Esq NEGOTIATION7Anna Fali
1021Kaitlin C GlickAustralia2025-06-04Feiner Bros NEW85Xuxue Feng
1022Julie M FlosiAustralia2025-06-11Morlong Associates UNQUALIFIED10Onyama Limba
1023Misaki W BologniaArgentina2025-05-20Feltz Printing Service UNQUALIFIED72Ivan Magalhaes
1024Clifford H DarakjyArgentina2025-06-15Printing Dimensions NEW58Bernardo Dominic
1025Kaitlin K GillianItaly2025-06-10Rousseaux, Michael Esq UNQUALIFIED89Stephen Shaw
1026James P AmigonItaly2025-06-09Commercial Press RENEWAL96Xuxue Feng
1027Sinclair W CaldareraJapan2025-06-07Chapman, Ross E Esq RENEWAL10Ivan Magalhaes
1028Mujtaba K StensethFrance2025-05-19Truhlar And Truhlar Attys RENEWAL84Elwin Sharvill
1029Aditya H FigeroaUnited Kingdom2025-05-27Benton, John B Jr PROPOSAL79Asiya Javayant
1030Emily U SergiJapan2025-06-02Commercial Press QUALIFIED56Anna Fali
1031Maria R FollerIndia2025-06-07Feiner Bros QUALIFIED59Anna Fali
1032Adams I KolmetzArgentina2025-06-06Dorl, James J Esq NEW23Amy Elsner
1033Morrow Z GlickFrance2025-06-12Feltz Printing Service PROPOSAL55Anna Fali
1034Leon M MaletCanada2025-05-28Morlong Associates RENEWAL69Stephen Shaw
1035Wickens V MacleadJapan2025-06-05Chemel, James L Cpa QUALIFIED3Ioni Bowcher
1036Munro C DilliardGermany2025-05-21Feltz Printing Service NEW49Onyama Limba
1037Octavia S WieserGermany2025-05-31Benton, John B Jr NEW75Bernardo Dominic
1038Kaitlin L VenereUnited Kingdom2025-05-28Commercial Press QUALIFIED39Xuxue Feng
1039Jeanfrancois D GlickAustralia2025-05-23Buckley Miller Wright UNQUALIFIED29Onyama Limba
1040Aika D TollnerJapan2025-06-09King, Christopher A Esq PROPOSAL60Anna Fali
1041Ivar S VenereJapan2025-06-12Rousseaux, Michael Esq NEGOTIATION75Elwin Sharvill
1042Ricardo U PaprockiAustralia2025-06-13Feiner Bros RENEWAL56Elwin Sharvill
1043Faith O FlosiUnited Kingdom2025-05-27Truhlar And Truhlar Attys NEW64Stephen Shaw
1044Munro E IturbideIndia2025-06-01Benton, John B Jr RENEWAL2Elwin Sharvill
1045Alejandro P MacleadItaly2025-05-27Commercial Press NEW61Amy Elsner
1046Ivar F AmigonUnited Kingdom2025-05-30Buckley Miller Wright NEW8Ioni Bowcher
1047Arvin K DarakjyGermany2025-05-28Morlong Associates PROPOSAL36Xuxue Feng
1048Kadeem A AlbaresAustralia2025-06-10Chanay, Jeffrey A Esq UNQUALIFIED45Amy Elsner
1049Deepesh V PoquetteSpain2025-06-04Feltz Printing Service QUALIFIED66Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Greenwood V KuskoUnited KingdomAnna Fali RENEWAL
Jeanfrancois T OldroydBrazilAnna Fali QUALIFIED
Leja H PoquetteIndiaAsiya Javayant PROPOSAL
Adams A PoquetteFranceAsiya Javayant NEW
Salvatore O FlosiItalyXuxue Feng QUALIFIED
Aruna I PerinItalyAnna Fali NEW
Clifford V MaletAustraliaAsiya Javayant NEGOTIATION
Morrow R StensethUnited KingdomStephen Shaw NEW
Julie S RoysterSpainElwin Sharvill UNQUALIFIED
Aruna G FigeroaArgentinaStephen Shaw NEW
Octavia R PaprockiCanadaIoni Bowcher RENEWAL
James Z TollnerRussiaXuxue Feng QUALIFIED
Izzy Q InouyeIndiaIoni Bowcher NEGOTIATION
Ivar P StensethCanadaAmy Elsner QUALIFIED
Leja A FollerArgentinaAnna Fali NEGOTIATION
Chavez G WaycottIndiaIvan Magalhaes UNQUALIFIED
Murillo L FlosiGermanyAsiya Javayant RENEWAL
Nicolas B FollerAustraliaIoni Bowcher UNQUALIFIED
Rodrigues L WhobreyFranceBernardo Dominic NEGOTIATION
Alejandro A ButtFranceXuxue Feng PROPOSAL
Chavez E SchemmerBrazilIvan Magalhaes RENEWAL
Smith U BologniaAustraliaIvan Magalhaes RENEWAL
Wickens A KuskoSpainOnyama Limba NEGOTIATION
Leja X MacleadBrazilBernardo Dominic RENEWAL
Tony W BriddickAustraliaAsiya Javayant UNQUALIFIED
Mujtaba Z AmigonAustraliaAmy Elsner PROPOSAL
Wickens G MarrierFranceBernardo Dominic NEGOTIATION
Morrow S MorascaBrazilStephen Shaw RENEWAL
Emily V WhobreyGermanyIvan Magalhaes NEW
Kaitlin B PaprockiArgentinaAsiya Javayant PROPOSAL
Ivar W MorascaSpainAsiya Javayant QUALIFIED
Kaitlin T ShinkoIndiaStephen Shaw NEGOTIATION
James E NickaUnited KingdomIoni Bowcher QUALIFIED
Sinclair Q SlusarskiIndiaAsiya Javayant NEW
Wickens Z MarrierCanadaIoni Bowcher RENEWAL
Mujtaba I CampainIndiaAnna Fali NEGOTIATION
Sinclair S DilliardUnited KingdomBernardo Dominic PROPOSAL
Arvin C SergiUnited KingdomBernardo Dominic PROPOSAL
Nicolas V PaprockiBrazilOnyama Limba RENEWAL
Aruna M OstroskyJapanBernardo Dominic RENEWAL
Antonio E BologniaAustraliaAsiya Javayant PROPOSAL
James A MaletUnited KingdomIoni Bowcher PROPOSAL
Jennifer J DoeAustraliaIoni Bowcher NEW
Mayumi K PerinUnited KingdomIvan Magalhaes QUALIFIED
Greenwood C DilliardBrazilAmy Elsner NEW
Munro V InouyeRussiaAsiya Javayant UNQUALIFIED
Julie U GlickFranceAmy Elsner NEGOTIATION
Stacey T StockhamRussiaAnna Fali QUALIFIED
Leon F CaldareraArgentinaAnna Fali RENEWAL
Costa E MorascaCanadaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Emily D Amigon
Francesco Q Butt
Antonio O Ruta
Munro O Albares
Deepesh V Albares
Claire V Waycott
Costa B Foller
Juan Y Rulapaugh
Leon L Amigon
Francesco R Foller
Sinclair D Garufi
Smith H Malet
Misaki D Figeroa
Juan Q Kolmetz
Antonio L Perin
Aruna D Caldarera
Faith C Chui
Tony K Bowley
Juan O Kusko
Tony C Bowley
Antonio G Schemmer
Arvin Z Perin
Morrow Z Inouye
Maria Q Caldarera
Sinclair I Marrier
Cody B Stockham
Jeanfrancois B Iturbide
Cody Z Garufi
Kaitlin D Doe
Cody L Rulapaugh
Salvatore C Schemmer
Misaki Y Rim
Tony Z Amigon
Sinclair G Kusko
Silvio H Shinko
Greenwood Q Bowley
James N Ferencz
Mayumi I Tollner
Sinclair I Bowley
Faith P Nicka
Johnson T Tollner
Emily N Gaucho
Smith R Kusko
Nicolas T Rim
Antonio X Doe
Stacey D Gillian
Morrow F Royster
Jones D Bolognia
Jeanfrancois T Figeroa
Mayumi F Shinko
IdCountryDate
1000India2025-06-04
1001Russia2025-05-20
1002Spain2025-05-28
1003Brazil2025-06-08
1004India2025-06-05
1005Italy2025-05-27
1006Japan2025-05-24
1007India2025-05-28
1008India2025-05-31
1009Germany2025-05-26
1010Argentina2025-05-18
1011Argentina2025-05-27
1012Germany2025-06-01
1013Argentina2025-06-07
1014Spain2025-06-11
1015Argentina2025-06-01
1016Russia2025-05-30
1017Italy2025-06-13
1018Japan2025-06-14
1019France2025-05-18
1020Russia2025-06-08
1021United Kingdom2025-05-30
1022Russia2025-06-15
1023United Kingdom2025-05-20
1024Canada2025-05-19
1025France2025-05-22
1026Japan2025-05-30
1027India2025-05-30
1028Germany2025-05-25
1029Argentina2025-05-22
1030Japan2025-05-24
1031Argentina2025-05-24
1032Canada2025-05-22
1033Germany2025-06-08
1034Argentina2025-06-01
1035France2025-05-27
1036India2025-06-14
1037Brazil2025-06-14
1038Italy2025-06-05
1039Germany2025-06-02
1040United Kingdom2025-05-23
1041Spain2025-05-22
1042Germany2025-06-02
1043Japan2025-05-27
1044Brazil2025-06-14
1045Australia2025-06-16
1046United Kingdom2025-06-09
1047Russia2025-06-16
1048Canada2025-06-10
1049Italy2025-06-16

On-Demand Data

NameIdCountryDate
Emily Y Saylors1000France2025-06-12
Tony D Doe1001Germany2025-06-16
Chavez T Bowley1002Italy2025-05-28
Wickens T Whobrey1003India2025-05-29
Ivar K Rulapaugh1004France2025-06-09
Wickens S Ferencz1005Canada2025-06-07
Cody I Whobrey1006India2025-06-09
Juan Y Bolognia1007Germany2025-05-31
Wickens X Dilliard1008Italy2025-06-16
Wickens E Caldarera1009Russia2025-05-24
Kaitlin A Darakjy1010Italy2025-05-22
Nicolas F Ruta1011Germany2025-06-10
Rodrigues X Schemmer1012Brazil2025-05-30
Kaitlin H Marrier1013India2025-06-06
Jefferson E Kusko1014India2025-05-19
Kaitlin H Bolognia1015Argentina2025-06-04
Silvio Q Glick1016Spain2025-06-03
Morrow S Glick1017Argentina2025-05-24
Jefferson H Malet1018Spain2025-06-09
Misaki Q Campain1019Spain2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James L MarrierBrazilXuxue Feng RENEWAL
Ricardo V RoysterFranceIvan Magalhaes UNQUALIFIED
Murillo F DilliardCanadaXuxue Feng QUALIFIED
Greenwood Y FollerBrazilAnna Fali PROPOSAL
Morrow D BriddickUnited KingdomOnyama Limba NEGOTIATION
Kadeem U CampainArgentinaElwin Sharvill QUALIFIED
Leon Z MacleadCanadaAnna Fali NEW
Tony D MaletArgentinaElwin Sharvill RENEWAL
Maria U BowleyJapanIoni Bowcher RENEWAL
Mayumi E KolmetzSpainStephen Shaw PROPOSAL
Jones P RutaItalyXuxue Feng UNQUALIFIED
Antonio K SaylorsFranceAnna Fali UNQUALIFIED
Sinclair K SaylorsGermanyOnyama Limba NEW
Greenwood K RoysterAustraliaXuxue Feng NEGOTIATION
Arvin X CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Morrow M VenereSpainXuxue Feng NEW
Leja W StensethJapanOnyama Limba PROPOSAL
Salvatore Y ChuiItalyXuxue Feng PROPOSAL
Mayumi N WhobreySpainAmy Elsner NEW
Adams B KuskoItalyAsiya Javayant RENEWAL
Greenwood Z MarrierCanadaAnna Fali NEW
Isabel L OstroskyRussiaElwin Sharvill PROPOSAL
Faith B IturbideFranceOnyama Limba NEW
Izzy O DoeIndiaBernardo Dominic UNQUALIFIED
Stacey O RoysterItalyStephen Shaw RENEWAL
Aruna N OstroskyJapanAmy Elsner QUALIFIED
Alejandro M GillianRussiaXuxue Feng NEW
James J DoeGermanyAsiya Javayant RENEWAL
Sinclair W DilliardSpainStephen Shaw PROPOSAL
Isabel Q MaletJapanBernardo Dominic PROPOSAL
Nicolas A BowleyIndiaStephen Shaw PROPOSAL
Deepesh D FigeroaJapanAsiya Javayant NEGOTIATION
Leon R WaycottSpainAmy Elsner RENEWAL
Juan T TollnerBrazilIoni Bowcher NEGOTIATION
Faith Q NickaBrazilAnna Fali NEW
Ashley G NickaArgentinaStephen Shaw NEW
Sinclair A VenereItalyStephen Shaw PROPOSAL
Costa L KolmetzSpainAsiya Javayant NEGOTIATION
Sinclair F SlusarskiGermanyBernardo Dominic NEGOTIATION
Leja J PaprockiIndiaAmy Elsner 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>