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
Mujtaba J RutaSpainAsiya Javayant NEW
Murillo Q WieserUnited KingdomOnyama Limba QUALIFIED
Cody O AmigonIndiaAsiya Javayant NEW
Alejandro L GillianCanadaIoni Bowcher NEGOTIATION
Jennifer U GarufiAustraliaIvan Magalhaes QUALIFIED
Leon C FollerJapanOnyama Limba NEW
Izzy S SchemmerFranceIvan Magalhaes PROPOSAL
Mayumi E MacleadItalyStephen Shaw NEW
Francesco W FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Julie A SaylorsCanadaAnna Fali QUALIFIED
Isabel L SergiSpainBernardo Dominic NEGOTIATION
Jefferson E FlosiFranceStephen Shaw NEGOTIATION
Antonio R StensethBrazilXuxue Feng UNQUALIFIED
Izzy U StensethBrazilAnna Fali QUALIFIED
Aruna S ButtFranceBernardo Dominic NEGOTIATION
Greenwood V MaletArgentinaAsiya Javayant NEGOTIATION
Aruna N DilliardFranceStephen Shaw UNQUALIFIED
Octavia R NickaUnited KingdomOnyama Limba NEW
Stacey W MaletSpainAmy Elsner QUALIFIED
Costa Y BowleyFranceXuxue Feng QUALIFIED
Wickens Q PerinRussiaIoni Bowcher PROPOSAL
Kaitlin U TollnerFranceXuxue Feng RENEWAL
Isabel G MacleadItalyAnna Fali NEGOTIATION
Clifford C ChuiRussiaOnyama Limba UNQUALIFIED
Tony R RutaArgentinaIoni Bowcher PROPOSAL
Jennifer T PoquetteBrazilAsiya Javayant PROPOSAL
Costa M PaprockiAustraliaAsiya Javayant RENEWAL
Costa J SchemmerArgentinaIoni Bowcher UNQUALIFIED
Emily V GauchoUnited KingdomAnna Fali NEW
Smith X VocelkaItalyAmy Elsner QUALIFIED
Chavez I DarakjyUnited KingdomElwin Sharvill QUALIFIED
Morrow O SergiSpainAmy Elsner PROPOSAL
Tony N DilliardUnited KingdomElwin Sharvill NEGOTIATION
Chavez B MorascaSpainXuxue Feng QUALIFIED
Murillo D GillianItalyAnna Fali QUALIFIED
Jones D DoeBrazilXuxue Feng NEGOTIATION
Morrow A VocelkaJapanAsiya Javayant PROPOSAL
Johnson E DoeItalyElwin Sharvill QUALIFIED
Chavez Z CaudySpainOnyama Limba RENEWAL
Julie G SaylorsArgentinaAsiya Javayant UNQUALIFIED
Nicolas T ShinkoCanadaBernardo Dominic NEW
Sinclair C RutaArgentinaElwin Sharvill NEW
Smith G OldroydFranceAsiya Javayant RENEWAL
Izzy N GillianBrazilAmy Elsner UNQUALIFIED
Morrow X RutaUnited KingdomStephen Shaw NEW
Aika V CaudyCanadaElwin Sharvill NEGOTIATION
Leon K CampainArgentinaAnna Fali NEW
Jennifer W PoquetteJapanBernardo Dominic PROPOSAL
Munro S RoysterGermanyBernardo Dominic QUALIFIED
Murillo I SaylorsItalyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan B PaprockiItalyStephen Shaw PROPOSAL
Nicolas U WaycottArgentinaAnna Fali UNQUALIFIED
Smith N SlusarskiJapanAnna Fali QUALIFIED
Ashley J ButtBrazilAsiya Javayant QUALIFIED
Darci X MaletBrazilOnyama Limba PROPOSAL
Murillo M OstroskyJapanAnna Fali NEGOTIATION
Juan E TollnerAustraliaIoni Bowcher NEGOTIATION
Morrow F BologniaAustraliaElwin Sharvill NEW
Jefferson T WieserGermanyAnna Fali PROPOSAL
Deepesh M IturbideArgentinaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood I RoysterBrazil2024-06-02Dorl, James J Esq RENEWAL91Amy Elsner
1001Silvio G ChuiArgentina2024-06-06Rousseaux, Michael Esq NEW33Bernardo Dominic
1002Johnson D SergiFrance2024-06-06Printing Dimensions UNQUALIFIED8Amy Elsner
1003Kaitlin L MacleadUnited Kingdom2024-06-02Commercial Press RENEWAL0Elwin Sharvill
1004Jeanfrancois B NickaGermany2024-05-24King, Christopher A Esq PROPOSAL87Anna Fali
1005Chavez D KuskoArgentina2024-06-21Commercial Press PROPOSAL41Ioni Bowcher
1006Claire D IturbideArgentina2024-06-02Chapman, Ross E Esq NEW27Ioni Bowcher
1007Nicolas Q SaylorsUnited Kingdom2024-06-08Rousseaux, Michael Esq NEGOTIATION90Ivan Magalhaes
1008Julie R ButtIndia2024-06-14Morlong Associates RENEWAL58Ivan Magalhaes
1009Leja S CaldareraUnited Kingdom2024-06-19Printing Dimensions UNQUALIFIED65Onyama Limba
1010Ivar M FollerCanada2024-05-29Rangoni Of Florence PROPOSAL98Bernardo Dominic
1011Sinclair Y InouyeSpain2024-05-26Commercial Press QUALIFIED70Onyama Limba
1012Chavez N BologniaGermany2024-06-08Feltz Printing Service NEW37Amy Elsner
1013Emily B MaletJapan2024-05-26Printing Dimensions NEW76Bernardo Dominic
1014Cody M PoquetteCanada2024-06-09Benton, John B Jr UNQUALIFIED74Ivan Magalhaes
1015Maisha F MaletSpain2024-06-02Truhlar And Truhlar Attys PROPOSAL48Elwin Sharvill
1016Silvio B KuskoArgentina2024-06-22Morlong Associates UNQUALIFIED23Asiya Javayant
1017Munro Q SchemmerItaly2024-06-09Benton, John B Jr NEGOTIATION29Amy Elsner
1018Jones Y RulapaughSpain2024-05-27King, Christopher A Esq PROPOSAL95Onyama Limba
1019Ivar N StockhamCanada2024-06-15Feltz Printing Service QUALIFIED25Stephen Shaw
1020Ivar K BologniaRussia2024-06-21Dorl, James J Esq QUALIFIED89Stephen Shaw
1021Tony I MaletItaly2024-06-01Morlong Associates NEW68Asiya Javayant
1022Cody Y StensethAustralia2024-06-09Morlong Associates RENEWAL57Asiya Javayant
1023Kadeem N GarufiJapan2024-06-05Rousseaux, Michael Esq NEGOTIATION78Elwin Sharvill
1024Clifford P CampainBrazil2024-06-13King, Christopher A Esq NEGOTIATION31Bernardo Dominic
1025David J VocelkaSpain2024-06-09Rousseaux, Michael Esq UNQUALIFIED99Elwin Sharvill
1026Isabel G ButtItaly2024-06-11Printing Dimensions NEW57Stephen Shaw
1027Mayumi G GillianCanada2024-06-21Morlong Associates NEW58Amy Elsner
1028Maisha I GlickIndia2024-06-20Chemel, James L Cpa UNQUALIFIED20Bernardo Dominic
1029Ricardo D MacleadGermany2024-06-18Chemel, James L Cpa UNQUALIFIED15Ioni Bowcher
1030Morrow U VocelkaGermany2024-06-22Chapman, Ross E Esq NEGOTIATION53Amy Elsner
1031Darci I RimIndia2024-06-10Chanay, Jeffrey A Esq NEW87Elwin Sharvill
1032Alejandro M FerenczItaly2024-05-24Chemel, James L Cpa UNQUALIFIED79Amy Elsner
1033Tony B FigeroaArgentina2024-06-21Feltz Printing Service NEW53Stephen Shaw
1034Faith Q BologniaRussia2024-06-04Chapman, Ross E Esq UNQUALIFIED45Bernardo Dominic
1035Sinclair N MaletIndia2024-06-03Printing Dimensions NEGOTIATION73Onyama Limba
1036Stacey Q VocelkaSpain2024-06-06Chemel, James L Cpa PROPOSAL27Anna Fali
1037Juan Z GauchoArgentina2024-06-04Chemel, James L Cpa RENEWAL80Asiya Javayant
1038Johnson S PoquetteSpain2024-06-13Chapman, Ross E Esq NEGOTIATION67Onyama Limba
1039Murillo K RimGermany2024-06-10Buckley Miller Wright UNQUALIFIED30Bernardo Dominic
1040Chavez J MaletItaly2024-06-20Rangoni Of Florence NEGOTIATION85Amy Elsner
1041Murillo T SlusarskiJapan2024-05-31Feiner Bros RENEWAL8Amy Elsner
1042Cody P NickaAustralia2024-06-01Printing Dimensions NEGOTIATION8Ivan Magalhaes
1043Tony L PoquetteBrazil2024-06-17Buckley Miller Wright UNQUALIFIED37Xuxue Feng
1044Leon A GauchoSpain2024-06-12Chapman, Ross E Esq RENEWAL63Anna Fali
1045Jones F OldroydRussia2024-06-03Rousseaux, Michael Esq RENEWAL55Onyama Limba
1046Nicolas F GarufiSpain2024-06-04Chapman, Ross E Esq RENEWAL46Elwin Sharvill
1047Leja C BowleyRussia2024-05-29Feiner Bros UNQUALIFIED0Onyama Limba
1048Greenwood X StockhamUnited Kingdom2024-05-26Benton, John B Jr PROPOSAL56Xuxue Feng
1049Rodrigues H KuskoItaly2024-05-27Dorl, James J Esq QUALIFIED86Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues E SergiIndiaAnna Fali PROPOSAL
Maria I CampainIndiaAnna Fali NEW
Kadeem J WieserArgentinaOnyama Limba NEW
Jeanfrancois E StockhamFranceAsiya Javayant NEW
Mayumi X VenereFranceIvan Magalhaes NEW
Costa Q MacleadArgentinaIoni Bowcher RENEWAL
Smith Z CaldareraUnited KingdomIvan Magalhaes RENEWAL
Kaitlin P SchemmerAustraliaXuxue Feng NEW
Kadeem F PoquetteBrazilIoni Bowcher NEW
Isabel E ShinkoBrazilXuxue Feng QUALIFIED
Kadeem Z DilliardGermanyAmy Elsner QUALIFIED
Silvio P GillianUnited KingdomXuxue Feng UNQUALIFIED
James U StensethItalyAmy Elsner NEW
Jones J StensethArgentinaAsiya Javayant UNQUALIFIED
Wickens F NestleJapanAnna Fali PROPOSAL
Juan O GlickUnited KingdomBernardo Dominic NEGOTIATION
Chavez X RoysterRussiaIoni Bowcher NEW
Salvatore F DarakjyItalyOnyama Limba UNQUALIFIED
Izzy H MorascaFranceXuxue Feng NEGOTIATION
Maria H OldroydGermanyIvan Magalhaes UNQUALIFIED
Morrow E NestleBrazilStephen Shaw QUALIFIED
Silvio Q MacleadBrazilAmy Elsner NEW
Nicolas B CaldareraRussiaIvan Magalhaes RENEWAL
Alejandro U NickaAustraliaAnna Fali RENEWAL
Jones J FollerArgentinaBernardo Dominic NEW
Maisha G GlickAustraliaAsiya Javayant RENEWAL
Jennifer N CampainUnited KingdomStephen Shaw RENEWAL
Costa D WieserArgentinaStephen Shaw UNQUALIFIED
Alejandro S RulapaughGermanyElwin Sharvill NEGOTIATION
Kaitlin Z NestleSpainElwin Sharvill PROPOSAL
Ivar N NestleArgentinaAmy Elsner PROPOSAL
Izzy M WieserCanadaAmy Elsner RENEWAL
Jeanfrancois O MarrierCanadaXuxue Feng NEGOTIATION
Leja C IturbideIndiaXuxue Feng UNQUALIFIED
Jefferson P IturbideIndiaXuxue Feng NEW
Jefferson S GillianSpainOnyama Limba NEW
Aika K MaletItalyElwin Sharvill QUALIFIED
Jones C ShinkoItalyBernardo Dominic QUALIFIED
Murillo T WaycottGermanyAnna Fali RENEWAL
Francesco N MarrierRussiaAmy Elsner QUALIFIED
Antonio I SaylorsRussiaIvan Magalhaes UNQUALIFIED
Arvin P MarrierAustraliaBernardo Dominic RENEWAL
Jefferson J PoquetteAustraliaXuxue Feng QUALIFIED
Alejandro Y DilliardGermanyStephen Shaw RENEWAL
Silvio S ButtRussiaXuxue Feng RENEWAL
Alejandro R GarufiJapanAmy Elsner NEGOTIATION
Murillo Q FlosiCanadaAsiya Javayant PROPOSAL
Mujtaba J AlbaresBrazilStephen Shaw QUALIFIED
Wickens H RimSpainOnyama Limba UNQUALIFIED
Ricardo L SchemmerSpainElwin Sharvill RENEWAL
Frozen Columns
Name
Tony V Iturbide
Jefferson S Darakjy
Kadeem O Albares
Ricardo Y Gillian
Francesco A Ferencz
Aditya N Bowley
Munro A Stenseth
Octavia Z Caudy
Johnson J Tollner
Antonio T Foller
Isabel Y Perin
Jefferson E Wieser
Deepesh W Foller
Cody V Poquette
Ricardo X Darakjy
Jefferson L Foller
Maria X Ruta
Ashley X Amigon
Wickens W Malet
Morrow O Oldroyd
Juan P Shinko
Johnson B Campain
Faith R Morasca
Salvatore I Doe
Ricardo B Caldarera
Emily V Malet
Jones Q Oldroyd
Smith Y Vocelka
Clifford H Caldarera
Isabel O Shinko
David O Campain
Rodrigues J Venere
Adams Y Royster
Johnson O Campain
Murillo G Stockham
Jeanfrancois C Marrier
Nicolas F Vocelka
Murillo O Vocelka
Salvatore N Nestle
Wickens G Paprocki
Octavia F Glick
David Z Shinko
Leja J Shinko
Johnson B Butt
Johnson V Kusko
Salvatore G Poquette
Kaitlin E Poquette
Aruna B Doe
Jennifer N Glick
Murillo W Rim
IdCountryDate
1000Argentina2024-06-13
1001Italy2024-06-13
1002Australia2024-06-01
1003Russia2024-05-26
1004Spain2024-05-31
1005Spain2024-06-02
1006Australia2024-06-19
1007Brazil2024-06-17
1008Germany2024-06-05
1009United Kingdom2024-06-01
1010Brazil2024-06-13
1011Germany2024-06-09
1012United Kingdom2024-05-31
1013Germany2024-06-22
1014United Kingdom2024-05-25
1015Brazil2024-06-21
1016Spain2024-06-17
1017Canada2024-05-25
1018France2024-06-05
1019Canada2024-06-04
1020Argentina2024-06-03
1021Australia2024-05-27
1022Italy2024-06-22
1023Brazil2024-06-10
1024Germany2024-06-02
1025Germany2024-06-11
1026Spain2024-06-12
1027India2024-06-06
1028France2024-06-08
1029Australia2024-06-12
1030Germany2024-06-04
1031Spain2024-06-18
1032India2024-06-11
1033Canada2024-06-05
1034Argentina2024-05-27
1035France2024-06-16
1036Argentina2024-06-18
1037United Kingdom2024-06-16
1038Germany2024-06-05
1039Italy2024-06-12
1040Australia2024-06-12
1041United Kingdom2024-06-15
1042Australia2024-06-18
1043Brazil2024-05-29
1044Brazil2024-06-17
1045France2024-06-12
1046Italy2024-06-15
1047Russia2024-06-10
1048France2024-06-02
1049Italy2024-06-07

On-Demand Data

NameIdCountryDate
Aika U Marrier1000Brazil2024-06-04
Mujtaba X Sergi1001Australia2024-05-24
Leja F Saylors1002United Kingdom2024-06-21
Silvio N Wieser1003Italy2024-06-15
Cody I Wieser1004Argentina2024-06-02
Murillo Z Venere1005Germany2024-06-19
Kaitlin O Bowley1006Japan2024-06-01
Julie H Bolognia1007Australia2024-06-11
Julie H Slusarski1008Italy2024-06-12
Jennifer T Inouye1009Canada2024-05-25
Nicolas G Malet1010Japan2024-06-22
Wickens C Chui1011Australia2024-05-25
Misaki J Vocelka1012Germany2024-05-27
Faith Q Bowley1013Canada2024-06-17
Mujtaba T Albares1014Australia2024-05-27
Aika Y Garufi1015India2024-06-13
Chavez G Glick1016Germany2024-05-24
Alejandro A Amigon1017Japan2024-05-24
Morrow M Garufi1018France2024-06-04
Aika E Iturbide1019Italy2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio O DarakjyUnited KingdomXuxue Feng NEGOTIATION
Francesco L RulapaughAustraliaXuxue Feng RENEWAL
Johnson F BowleyCanadaAsiya Javayant QUALIFIED
Cody J MorascaBrazilOnyama Limba RENEWAL
Emily A BowleyItalyIvan Magalhaes UNQUALIFIED
Costa O SaylorsJapanStephen Shaw NEGOTIATION
Jones B BriddickRussiaAmy Elsner NEGOTIATION
Julie A SlusarskiRussiaElwin Sharvill NEW
Chavez Q BologniaArgentinaElwin Sharvill NEW
Octavia R WieserUnited KingdomStephen Shaw UNQUALIFIED
Izzy Y WieserArgentinaXuxue Feng PROPOSAL
Izzy M FerenczIndiaXuxue Feng PROPOSAL
James X TollnerSpainIoni Bowcher NEGOTIATION
Ivar D IturbideAustraliaAmy Elsner UNQUALIFIED
David X DoeUnited KingdomStephen Shaw NEW
Alejandro F SaylorsBrazilXuxue Feng PROPOSAL
Chavez V MaletItalyIoni Bowcher UNQUALIFIED
James A InouyeRussiaAnna Fali QUALIFIED
Misaki J NestleSpainAsiya Javayant UNQUALIFIED
Nicolas F InouyeSpainAmy Elsner NEGOTIATION
Jefferson X PaprockiSpainElwin Sharvill NEGOTIATION
Misaki A FlosiItalyStephen Shaw QUALIFIED
Rodrigues Z CampainJapanIoni Bowcher RENEWAL
Francesco R AmigonBrazilAsiya Javayant NEW
Maria W ButtItalyAsiya Javayant RENEWAL
David W DarakjySpainStephen Shaw UNQUALIFIED
Jones X VenereCanadaIoni Bowcher NEW
Salvatore Q DarakjyGermanyIvan Magalhaes UNQUALIFIED
Morrow V OstroskyIndiaAsiya Javayant UNQUALIFIED
Alejandro S StensethSpainAnna Fali UNQUALIFIED
Cody C ButtUnited KingdomAnna Fali QUALIFIED
Mujtaba G IturbideAustraliaOnyama Limba NEW
Juan J InouyeAustraliaOnyama Limba QUALIFIED
Kaitlin N SaylorsFranceXuxue Feng UNQUALIFIED
Maria M KuskoJapanAmy Elsner NEGOTIATION
Cody H InouyeUnited KingdomXuxue Feng RENEWAL
Juan Q VocelkaItalyAnna Fali RENEWAL
Tony N WhobreyAustraliaElwin Sharvill UNQUALIFIED
Munro J RoysterArgentinaIvan Magalhaes NEW
Murillo N FigeroaAustraliaAmy Elsner UNQUALIFIED

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