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
Chavez G PoquetteBrazilIvan Magalhaes UNQUALIFIED
Deepesh U NickaCanadaAmy Elsner NEW
Smith T OldroydGermanyIoni Bowcher PROPOSAL
Julie D RoysterUnited KingdomAsiya Javayant QUALIFIED
Johnson H BriddickArgentinaIvan Magalhaes QUALIFIED
Deepesh S StockhamItalyAsiya Javayant NEGOTIATION
Octavia M GlickJapanIvan Magalhaes NEGOTIATION
Murillo H FollerCanadaElwin Sharvill PROPOSAL
Aditya W SergiUnited KingdomAmy Elsner QUALIFIED
Mayumi C KolmetzUnited KingdomAnna Fali UNQUALIFIED
Cody O ButtIndiaAsiya Javayant NEW
Aruna N DoeRussiaElwin Sharvill PROPOSAL
Smith K GillianArgentinaAnna Fali QUALIFIED
Arvin Z DilliardAustraliaElwin Sharvill UNQUALIFIED
Arvin L RutaIndiaStephen Shaw UNQUALIFIED
Ricardo U DarakjyBrazilStephen Shaw NEW
Mujtaba E MaletItalyIoni Bowcher NEGOTIATION
Juan R ChuiSpainAmy Elsner NEGOTIATION
Darci B StockhamBrazilBernardo Dominic QUALIFIED
Maisha H RimCanadaAnna Fali NEGOTIATION
Alejandro M RoysterFranceIoni Bowcher NEW
Nicolas F InouyeRussiaOnyama Limba RENEWAL
Isabel E RulapaughJapanOnyama Limba PROPOSAL
David S GauchoFranceStephen Shaw RENEWAL
Leon P RutaArgentinaOnyama Limba QUALIFIED
Claire N KolmetzItalyStephen Shaw UNQUALIFIED
Silvio C GlickItalyStephen Shaw NEGOTIATION
Francesco W ButtArgentinaStephen Shaw NEW
Ricardo E CampainSpainIoni Bowcher PROPOSAL
Francesco R BriddickGermanyIoni Bowcher NEGOTIATION
Stacey V CaudyItalyElwin Sharvill NEGOTIATION
Jefferson S SergiCanadaOnyama Limba NEW
Jones G BowleyBrazilAmy Elsner NEW
Emily O DoeSpainElwin Sharvill QUALIFIED
Darci G RimIndiaStephen Shaw NEGOTIATION
Deepesh C NickaAustraliaAsiya Javayant QUALIFIED
Smith B BriddickBrazilAsiya Javayant RENEWAL
Faith C RimBrazilBernardo Dominic NEW
Julie X GarufiUnited KingdomXuxue Feng PROPOSAL
Leja H CampainFranceElwin Sharvill NEGOTIATION
Julie T GauchoSpainBernardo Dominic PROPOSAL
Kadeem Y FlosiUnited KingdomAmy Elsner NEGOTIATION
James D DoeBrazilElwin Sharvill UNQUALIFIED
Ashley A IturbideSpainIoni Bowcher NEGOTIATION
Juan E TollnerUnited KingdomStephen Shaw RENEWAL
Aditya L IturbideArgentinaIoni Bowcher NEGOTIATION
Ivar Q RutaArgentinaAsiya Javayant QUALIFIED
Nicolas C CampainRussiaElwin Sharvill PROPOSAL
Sinclair P AlbaresBrazilXuxue Feng PROPOSAL
Kadeem F FollerRussiaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya G CaldareraItalyBernardo Dominic PROPOSAL
Jefferson V InouyeSpainIvan Magalhaes NEW
Maria D FollerCanadaXuxue Feng PROPOSAL
Juan F RulapaughAustraliaStephen Shaw NEW
Jennifer T SaylorsFranceAmy Elsner RENEWAL
Isabel Z ChuiArgentinaOnyama Limba UNQUALIFIED
Kaitlin F ChuiJapanAnna Fali PROPOSAL
Francesco O RutaGermanyAsiya Javayant QUALIFIED
Aditya I AlbaresItalyStephen Shaw QUALIFIED
Juan G RutaCanadaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo Z PaprockiGermany2024-06-15Rousseaux, Michael Esq NEW78Onyama Limba
1001Jeanfrancois J OldroydJapan2024-06-20Chanay, Jeffrey A Esq NEGOTIATION20Xuxue Feng
1002Costa U FerenczCanada2024-06-10Feiner Bros PROPOSAL32Bernardo Dominic
1003Jefferson G MarrierFrance2024-06-01Commercial Press RENEWAL19Ioni Bowcher
1004Cody G CaudyBrazil2024-05-30Chemel, James L Cpa QUALIFIED24Ioni Bowcher
1005Munro Q KuskoAustralia2024-06-16King, Christopher A Esq UNQUALIFIED15Ioni Bowcher
1006Kaitlin I NickaJapan2024-06-11Commercial Press NEGOTIATION3Asiya Javayant
1007Costa C RulapaughIndia2024-06-07Truhlar And Truhlar Attys UNQUALIFIED46Anna Fali
1008Johnson F KolmetzGermany2024-05-30Printing Dimensions NEGOTIATION48Ioni Bowcher
1009Misaki Q KuskoArgentina2024-06-13Chapman, Ross E Esq NEW76Stephen Shaw
1010Faith G BowleyArgentina2024-06-18Feiner Bros RENEWAL73Onyama Limba
1011Arvin U GillianGermany2024-06-09Printing Dimensions PROPOSAL54Xuxue Feng
1012Costa W OstroskyFrance2024-06-06Chemel, James L Cpa NEW63Bernardo Dominic
1013Morrow I GarufiArgentina2024-05-24Feltz Printing Service UNQUALIFIED15Elwin Sharvill
1014Jennifer S RoysterItaly2024-06-14Printing Dimensions NEW56Anna Fali
1015Kadeem O CaldareraJapan2024-06-14Feiner Bros NEW3Anna Fali
1016Nicolas O BriddickIndia2024-06-19Morlong Associates QUALIFIED16Elwin Sharvill
1017Leon T BriddickAustralia2024-05-28Feltz Printing Service UNQUALIFIED55Bernardo Dominic
1018Ashley B GarufiBrazil2024-06-06Feiner Bros QUALIFIED34Bernardo Dominic
1019Faith V PaprockiGermany2024-06-10Rangoni Of Florence UNQUALIFIED60Asiya Javayant
1020Sinclair O StockhamIndia2024-06-04Feltz Printing Service NEW37Asiya Javayant
1021Octavia Q SlusarskiArgentina2024-06-01Chanay, Jeffrey A Esq PROPOSAL69Stephen Shaw
1022Salvatore F FigeroaAustralia2024-05-23Chanay, Jeffrey A Esq PROPOSAL59Asiya Javayant
1023Tony L StensethFrance2024-05-30Chapman, Ross E Esq RENEWAL10Bernardo Dominic
1024Claire L BologniaArgentina2024-05-25King, Christopher A Esq PROPOSAL33Elwin Sharvill
1025Wickens R StockhamAustralia2024-05-26Dorl, James J Esq RENEWAL38Ivan Magalhaes
1026Maria X GlickGermany2024-05-28Truhlar And Truhlar Attys UNQUALIFIED46Anna Fali
1027Kaitlin Q CaudyBrazil2024-06-10Feiner Bros UNQUALIFIED68Ioni Bowcher
1028Arvin V RimBrazil2024-05-25Truhlar And Truhlar Attys NEW35Anna Fali
1029James C PerinUnited Kingdom2024-06-15Benton, John B Jr NEGOTIATION36Ivan Magalhaes
1030Murillo D KuskoAustralia2024-06-11King, Christopher A Esq PROPOSAL28Onyama Limba
1031Faith I GarufiCanada2024-06-11Benton, John B Jr NEW24Xuxue Feng
1032Aika G GlickFrance2024-06-01Feltz Printing Service RENEWAL67Anna Fali
1033Stacey N VenereCanada2024-06-16Truhlar And Truhlar Attys RENEWAL4Ivan Magalhaes
1034Adams O FlosiItaly2024-06-17Rangoni Of Florence NEW37Amy Elsner
1035Francesco Z SaylorsBrazil2024-05-23Feltz Printing Service NEW35Ioni Bowcher
1036James L RoysterRussia2024-06-13Rangoni Of Florence NEW48Stephen Shaw
1037Costa G OldroydItaly2024-06-10Benton, John B Jr RENEWAL51Stephen Shaw
1038Mayumi R ShinkoAustralia2024-06-09Benton, John B Jr NEW53Stephen Shaw
1039Chavez V RoysterFrance2024-05-26Feltz Printing Service NEW29Xuxue Feng
1040Johnson C FigeroaCanada2024-06-18Feltz Printing Service QUALIFIED60Ivan Magalhaes
1041James P BriddickRussia2024-06-16Rangoni Of Florence QUALIFIED57Anna Fali
1042Smith C PoquetteFrance2024-06-20Rousseaux, Michael Esq QUALIFIED51Stephen Shaw
1043Jones B SergiCanada2024-06-15Buckley Miller Wright NEGOTIATION8Ivan Magalhaes
1044Sinclair D MaletItaly2024-06-05Rousseaux, Michael Esq RENEWAL7Ivan Magalhaes
1045Greenwood B CaudySpain2024-05-28Printing Dimensions PROPOSAL30Asiya Javayant
1046Izzy U OstroskyCanada2024-06-14Rousseaux, Michael Esq NEGOTIATION45Asiya Javayant
1047Juan F ButtIndia2024-06-09King, Christopher A Esq NEW83Ioni Bowcher
1048Murillo H BologniaBrazil2024-05-28Buckley Miller Wright NEGOTIATION56Elwin Sharvill
1049David Q DilliardAustralia2024-06-07Commercial Press UNQUALIFIED83Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones Y GillianCanadaAmy Elsner RENEWAL
Claire W ButtRussiaAsiya Javayant NEGOTIATION
Costa N MarrierArgentinaStephen Shaw NEW
Silvio I CaudyGermanyAmy Elsner PROPOSAL
Cody M OstroskyArgentinaStephen Shaw QUALIFIED
Aika S PerinFranceAnna Fali PROPOSAL
David N PaprockiGermanyAnna Fali NEGOTIATION
Clifford B FlosiAustraliaIoni Bowcher NEGOTIATION
Kadeem L IturbideBrazilStephen Shaw QUALIFIED
Chavez T CaudyFranceAsiya Javayant PROPOSAL
Isabel A GarufiIndiaOnyama Limba NEGOTIATION
Nicolas Y RutaAustraliaAsiya Javayant RENEWAL
Deepesh N NestleRussiaIoni Bowcher UNQUALIFIED
Stacey V PoquetteJapanAsiya Javayant PROPOSAL
Octavia X NickaBrazilAsiya Javayant RENEWAL
Deepesh C InouyeUnited KingdomOnyama Limba NEGOTIATION
Aditya Z OldroydRussiaBernardo Dominic NEGOTIATION
Jefferson J NickaUnited KingdomBernardo Dominic QUALIFIED
Rodrigues I ButtFranceElwin Sharvill PROPOSAL
Jennifer W ChuiRussiaAmy Elsner PROPOSAL
Morrow C FigeroaJapanIvan Magalhaes PROPOSAL
Munro D OldroydBrazilAmy Elsner NEGOTIATION
James P FlosiArgentinaAsiya Javayant NEGOTIATION
Aditya W StockhamArgentinaAsiya Javayant RENEWAL
Salvatore U PaprockiCanadaIvan Magalhaes NEGOTIATION
Costa F PoquetteFranceAmy Elsner RENEWAL
Morrow Y NestleJapanIvan Magalhaes QUALIFIED
Octavia A GarufiCanadaXuxue Feng RENEWAL
Octavia H CampainAustraliaXuxue Feng RENEWAL
Smith G MaletSpainStephen Shaw PROPOSAL
Jeanfrancois S InouyeSpainAnna Fali UNQUALIFIED
Kaitlin W StockhamRussiaXuxue Feng QUALIFIED
Aditya P WaycottBrazilIvan Magalhaes RENEWAL
Aditya S DilliardBrazilAsiya Javayant UNQUALIFIED
Antonio V GarufiRussiaIvan Magalhaes QUALIFIED
Isabel C StensethJapanAmy Elsner QUALIFIED
Leon D RutaArgentinaStephen Shaw PROPOSAL
Ricardo Y SchemmerRussiaOnyama Limba PROPOSAL
Mayumi X AlbaresBrazilAmy Elsner PROPOSAL
Faith M SlusarskiItalyIoni Bowcher RENEWAL
Jones D DarakjyJapanElwin Sharvill NEGOTIATION
Leon I SergiRussiaAnna Fali QUALIFIED
Misaki L CaldareraCanadaStephen Shaw RENEWAL
Juan S DilliardRussiaAnna Fali RENEWAL
Johnson B MorascaUnited KingdomElwin Sharvill PROPOSAL
Greenwood D PoquetteRussiaXuxue Feng NEW
Ricardo P CampainUnited KingdomXuxue Feng NEW
Wickens R CampainGermanyAsiya Javayant NEGOTIATION
Claire L WieserUnited KingdomIvan Magalhaes UNQUALIFIED
Cody S RoysterJapanAsiya Javayant NEGOTIATION
Frozen Columns
Name
Clifford V Nicka
Aditya Z Maclead
Aika Z Campain
Aditya G Marrier
Jones V Vocelka
David H Campain
Julie Q Glick
Aika W Inouye
Julie S Stenseth
Kaitlin P Paprocki
Ashley B Foller
Jefferson L Ostrosky
Claire C Rim
Leja U Garufi
Wickens F Malet
Nicolas M Saylors
Isabel D Kusko
Morrow G Venere
Arvin C Saylors
Deepesh V Malet
Faith S Chui
Antonio G Glick
Leja G Malet
Ashley J Briddick
Jennifer E Maclead
Mayumi T Slusarski
Munro Y Bolognia
Maria Y Gillian
Misaki H Paprocki
Tony W Stockham
Isabel N Amigon
Isabel H Caudy
Darci O Malet
Kaitlin K Royster
Aditya X Bowley
Silvio J Dilliard
Ivar W Bolognia
Jeanfrancois U Morasca
Arvin N Bolognia
Kadeem I Kolmetz
Darci P Whobrey
Munro Z Schemmer
Ricardo P Saylors
Kadeem T Kolmetz
Aruna Z Maclead
Chavez B Vocelka
Smith O Kolmetz
Leon L Stockham
Johnson B Dilliard
Ivar D Royster
IdCountryDate
1000Argentina2024-06-05
1001Australia2024-06-19
1002India2024-05-30
1003United Kingdom2024-06-10
1004Italy2024-05-30
1005France2024-06-03
1006Argentina2024-06-14
1007United Kingdom2024-05-24
1008Spain2024-06-13
1009India2024-06-07
1010Japan2024-06-07
1011Spain2024-05-30
1012Australia2024-05-23
1013France2024-06-18
1014Australia2024-05-23
1015Japan2024-05-26
1016India2024-05-31
1017Russia2024-05-24
1018France2024-06-03
1019Australia2024-06-07
1020France2024-06-07
1021Russia2024-05-29
1022Japan2024-06-15
1023Germany2024-05-27
1024India2024-06-03
1025Spain2024-06-08
1026United Kingdom2024-06-14
1027Canada2024-06-20
1028Spain2024-06-19
1029France2024-06-19
1030Spain2024-05-25
1031Australia2024-06-13
1032Brazil2024-06-04
1033Canada2024-06-12
1034Russia2024-06-12
1035Canada2024-06-07
1036India2024-06-16
1037Brazil2024-06-11
1038Germany2024-06-01
1039Russia2024-06-04
1040Argentina2024-05-24
1041Spain2024-05-28
1042France2024-05-29
1043Brazil2024-06-08
1044India2024-05-23
1045Japan2024-05-28
1046Canada2024-06-19
1047Argentina2024-05-22
1048Australia2024-06-09
1049Russia2024-05-24

On-Demand Data

NameIdCountryDate
Octavia T Morasca1000Japan2024-05-24
Izzy R Inouye1001United Kingdom2024-06-16
Izzy Y Gillian1002Brazil2024-05-23
Ricardo W Foller1003United Kingdom2024-06-15
Leon V Inouye1004United Kingdom2024-06-09
Ashley Z Oldroyd1005United Kingdom2024-06-13
Ashley J Whobrey1006Italy2024-06-01
Antonio O Rim1007India2024-06-17
Aditya H Perin1008Spain2024-05-31
Ricardo X Albares1009Russia2024-06-08
Mujtaba Q Foller1010United Kingdom2024-06-17
Wickens P Doe1011India2024-06-15
Smith D Royster1012Australia2024-06-14
Maria M Whobrey1013Canada2024-05-23
Ivar S Nicka1014Japan2024-06-05
Aditya N Ferencz1015Japan2024-06-11
Costa S Slusarski1016Germany2024-06-11
Mayumi Z Stockham1017Canada2024-05-28
Sinclair L Vocelka1018Brazil2024-05-25
Salvatore J Chui1019United Kingdom2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio Z MarrierItalyAnna Fali QUALIFIED
Maria W MacleadSpainBernardo Dominic PROPOSAL
Sinclair L MorascaFranceBernardo Dominic QUALIFIED
Darci J RutaAustraliaIoni Bowcher NEW
Darci H MorascaUnited KingdomElwin Sharvill RENEWAL
Mujtaba N BowleyUnited KingdomOnyama Limba NEW
Maisha C ShinkoJapanAnna Fali NEGOTIATION
Chavez N StensethCanadaIvan Magalhaes PROPOSAL
Aruna Q NestleItalyAsiya Javayant RENEWAL
Salvatore N OstroskyBrazilXuxue Feng RENEWAL
Alejandro S AlbaresAustraliaStephen Shaw QUALIFIED
Chavez Y CaudyBrazilIvan Magalhaes QUALIFIED
Misaki D MacleadArgentinaAsiya Javayant RENEWAL
Clifford S MorascaBrazilStephen Shaw NEGOTIATION
David R SlusarskiRussiaIvan Magalhaes NEGOTIATION
Maria J MaletItalyStephen Shaw RENEWAL
Salvatore W DoeCanadaIvan Magalhaes RENEWAL
Emily P BowleySpainBernardo Dominic RENEWAL
Stacey B AlbaresIndiaOnyama Limba PROPOSAL
Chavez O RimSpainAsiya Javayant QUALIFIED
Francesco I ChuiJapanXuxue Feng NEGOTIATION
Salvatore P GlickFranceIvan Magalhaes NEGOTIATION
Izzy P MaletBrazilElwin Sharvill NEGOTIATION
Darci M NickaIndiaIvan Magalhaes RENEWAL
Misaki L SchemmerCanadaXuxue Feng NEGOTIATION
Emily G GauchoFranceStephen Shaw NEW
Stacey H OldroydSpainBernardo Dominic UNQUALIFIED
Wickens M FlosiAustraliaAsiya Javayant NEW
Tony E WieserItalyIoni Bowcher UNQUALIFIED
Salvatore H TollnerCanadaXuxue Feng NEGOTIATION
Clifford S MorascaJapanAsiya Javayant UNQUALIFIED
Misaki U DoeRussiaElwin Sharvill PROPOSAL
Salvatore Z TollnerItalyBernardo Dominic NEGOTIATION
Isabel U TollnerCanadaOnyama Limba NEW
Sinclair W InouyeUnited KingdomOnyama Limba NEW
Silvio W KolmetzGermanyXuxue Feng UNQUALIFIED
James K IturbideCanadaXuxue Feng NEGOTIATION
Aruna E WieserSpainXuxue Feng NEW
Izzy A KolmetzArgentinaBernardo Dominic NEGOTIATION
Izzy V SaylorsJapanIoni Bowcher 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>