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
Mayumi E RoysterUnited KingdomAnna Fali NEGOTIATION
Faith L GarufiItalyStephen Shaw NEGOTIATION
Ricardo C RimBrazilStephen Shaw QUALIFIED
Faith F MorascaSpainXuxue Feng NEGOTIATION
Deepesh L IturbideGermanyBernardo Dominic QUALIFIED
Nicolas S BriddickCanadaIvan Magalhaes UNQUALIFIED
Alejandro H OldroydRussiaAmy Elsner UNQUALIFIED
Maria R DilliardItalyAmy Elsner UNQUALIFIED
Alejandro M GarufiRussiaBernardo Dominic NEW
Adams G VenereRussiaIvan Magalhaes QUALIFIED
Arvin E InouyeCanadaIvan Magalhaes NEGOTIATION
Ricardo N CampainUnited KingdomBernardo Dominic PROPOSAL
Faith W RoysterGermanyXuxue Feng NEW
Aditya S InouyeCanadaOnyama Limba PROPOSAL
Cody J DilliardArgentinaElwin Sharvill NEW
Ashley D FigeroaUnited KingdomIoni Bowcher NEW
Rodrigues D WieserFranceOnyama Limba NEGOTIATION
Costa I GillianFranceElwin Sharvill QUALIFIED
Chavez M NestleSpainXuxue Feng RENEWAL
Emily P NickaCanadaIvan Magalhaes UNQUALIFIED
Kaitlin D BologniaSpainOnyama Limba NEGOTIATION
Tony E CampainUnited KingdomAmy Elsner PROPOSAL
Faith B SergiArgentinaAsiya Javayant PROPOSAL
Mujtaba W RulapaughItalyBernardo Dominic QUALIFIED
Claire E GarufiCanadaXuxue Feng PROPOSAL
Jeanfrancois A SlusarskiAustraliaAsiya Javayant NEGOTIATION
Munro L VenereFranceIvan Magalhaes NEGOTIATION
Clifford J OstroskySpainBernardo Dominic RENEWAL
Izzy C PerinUnited KingdomAnna Fali NEW
Emily L MaletCanadaIoni Bowcher QUALIFIED
Jefferson V RutaGermanyAnna Fali UNQUALIFIED
Faith S ShinkoCanadaAmy Elsner NEW
Chavez V DoeSpainIoni Bowcher NEGOTIATION
Johnson E VenereSpainIvan Magalhaes RENEWAL
Silvio A GlickIndiaAmy Elsner PROPOSAL
Salvatore I AlbaresRussiaBernardo Dominic QUALIFIED
David Q KolmetzCanadaOnyama Limba QUALIFIED
Clifford H ChuiGermanyAnna Fali PROPOSAL
Kaitlin L SergiGermanyAsiya Javayant PROPOSAL
Stacey P GlickIndiaIoni Bowcher PROPOSAL
Emily A SchemmerAustraliaElwin Sharvill QUALIFIED
Clifford L BowleyFranceIoni Bowcher NEW
Wickens V PoquetteFranceIvan Magalhaes NEW
Cody A WhobreyFranceAmy Elsner NEGOTIATION
Octavia E WieserCanadaXuxue Feng NEGOTIATION
Munro M NestleArgentinaBernardo Dominic PROPOSAL
Adams E FigeroaJapanIoni Bowcher UNQUALIFIED
Maisha N PoquetteItalyOnyama Limba RENEWAL
Chavez U SchemmerBrazilBernardo Dominic NEW
Kaitlin E AmigonAustraliaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem M GarufiRussiaIvan Magalhaes UNQUALIFIED
Murillo W ButtUnited KingdomOnyama Limba QUALIFIED
Deepesh J AmigonSpainIvan Magalhaes NEW
Clifford U MorascaUnited KingdomAsiya Javayant QUALIFIED
Isabel L BriddickRussiaBernardo Dominic UNQUALIFIED
Claire F SlusarskiUnited KingdomStephen Shaw PROPOSAL
Juan Z GarufiArgentinaBernardo Dominic NEGOTIATION
Greenwood F PaprockiCanadaIoni Bowcher NEW
Francesco L GlickIndiaXuxue Feng QUALIFIED
Juan O MacleadAustraliaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Y GillianCanada2024-05-26Chanay, Jeffrey A Esq NEGOTIATION42Onyama Limba
1001Adams F MaletItaly2024-06-17Truhlar And Truhlar Attys UNQUALIFIED49Ivan Magalhaes
1002Misaki D ShinkoGermany2024-06-21Buckley Miller Wright NEW91Bernardo Dominic
1003Aika D NestleArgentina2024-05-27Dorl, James J Esq PROPOSAL40Onyama Limba
1004Costa E ShinkoFrance2024-06-04Commercial Press UNQUALIFIED54Asiya Javayant
1005Chavez W ShinkoJapan2024-06-10Morlong Associates PROPOSAL87Ioni Bowcher
1006Julie Q GillianBrazil2024-06-04Chanay, Jeffrey A Esq PROPOSAL24Ioni Bowcher
1007Maisha Q AmigonIndia2024-06-24Dorl, James J Esq UNQUALIFIED27Asiya Javayant
1008Silvio E PoquetteSpain2024-05-27Printing Dimensions NEW28Bernardo Dominic
1009Ivar Z RimRussia2024-06-04Dorl, James J Esq NEGOTIATION7Elwin Sharvill
1010Mayumi U GauchoSpain2024-06-18Chapman, Ross E Esq UNQUALIFIED32Elwin Sharvill
1011Chavez O MorascaGermany2024-05-27Printing Dimensions RENEWAL70Stephen Shaw
1012Kadeem L DilliardSpain2024-06-21King, Christopher A Esq PROPOSAL83Anna Fali
1013Ashley G GillianUnited Kingdom2024-06-01King, Christopher A Esq UNQUALIFIED76Onyama Limba
1014Salvatore J MorascaGermany2024-06-17Chemel, James L Cpa NEW34Ivan Magalhaes
1015Mayumi B NickaSpain2024-06-12Rousseaux, Michael Esq NEGOTIATION81Ioni Bowcher
1016Jeanfrancois A FlosiArgentina2024-06-03Commercial Press UNQUALIFIED29Anna Fali
1017Misaki H NickaArgentina2024-06-15Chapman, Ross E Esq UNQUALIFIED56Ioni Bowcher
1018Sinclair W GauchoRussia2024-06-02Rousseaux, Michael Esq PROPOSAL18Elwin Sharvill
1019Ivar P BologniaAustralia2024-06-19Buckley Miller Wright UNQUALIFIED70Amy Elsner
1020Jones O GlickGermany2024-06-07Printing Dimensions PROPOSAL14Anna Fali
1021Murillo K BowleyBrazil2024-06-15Rangoni Of Florence PROPOSAL24Elwin Sharvill
1022Chavez Y GauchoCanada2024-05-29Feltz Printing Service RENEWAL57Anna Fali
1023David Y CaudySpain2024-06-04Truhlar And Truhlar Attys PROPOSAL87Elwin Sharvill
1024Morrow B RimUnited Kingdom2024-06-14Commercial Press NEW74Stephen Shaw
1025James H WieserBrazil2024-06-15Rousseaux, Michael Esq UNQUALIFIED79Xuxue Feng
1026Maisha V RulapaughUnited Kingdom2024-05-30Feltz Printing Service QUALIFIED33Ivan Magalhaes
1027Cody L ButtIndia2024-06-13Dorl, James J Esq UNQUALIFIED29Bernardo Dominic
1028Kadeem H MacleadAustralia2024-06-24Printing Dimensions NEW13Stephen Shaw
1029Chavez M MacleadGermany2024-06-18Rangoni Of Florence QUALIFIED96Asiya Javayant
1030Greenwood C WieserItaly2024-06-24Chapman, Ross E Esq RENEWAL46Stephen Shaw
1031Silvio Z VenereGermany2024-06-14Feiner Bros QUALIFIED95Bernardo Dominic
1032Ashley B ShinkoRussia2024-06-21Dorl, James J Esq NEW28Anna Fali
1033Misaki B WaycottBrazil2024-06-01Chemel, James L Cpa QUALIFIED57Stephen Shaw
1034Arvin O PoquetteArgentina2024-06-02Feiner Bros UNQUALIFIED2Xuxue Feng
1035Salvatore A FollerJapan2024-06-18Buckley Miller Wright QUALIFIED84Xuxue Feng
1036Greenwood S AlbaresItaly2024-06-10Commercial Press NEW33Asiya Javayant
1037Leja E GarufiIndia2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED65Elwin Sharvill
1038Ashley X MacleadGermany2024-06-14King, Christopher A Esq NEW94Anna Fali
1039Ricardo Q AlbaresUnited Kingdom2024-06-24Rangoni Of Florence NEW56Bernardo Dominic
1040Clifford T WhobreyArgentina2024-05-31King, Christopher A Esq RENEWAL81Onyama Limba
1041Wickens J AlbaresGermany2024-06-12Chemel, James L Cpa RENEWAL12Stephen Shaw
1042Aruna I VenereGermany2024-05-28Chapman, Ross E Esq NEW7Xuxue Feng
1043Wickens Y VenereJapan2024-06-10Feiner Bros PROPOSAL85Anna Fali
1044Misaki Y RutaArgentina2024-06-19Buckley Miller Wright UNQUALIFIED22Stephen Shaw
1045David G GauchoBrazil2024-05-28Morlong Associates QUALIFIED68Onyama Limba
1046Tony S SaylorsArgentina2024-05-29Benton, John B Jr UNQUALIFIED28Ioni Bowcher
1047Munro O RimFrance2024-06-07Rousseaux, Michael Esq NEGOTIATION92Asiya Javayant
1048Silvio L StockhamItaly2024-06-20Chemel, James L Cpa QUALIFIED53Ivan Magalhaes
1049Claire D MacleadUnited Kingdom2024-06-02Printing Dimensions NEGOTIATION4Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Leja B StockhamUnited KingdomBernardo Dominic RENEWAL
Nicolas P VocelkaArgentinaStephen Shaw UNQUALIFIED
David G SlusarskiGermanyIoni Bowcher NEGOTIATION
Chavez Y KolmetzCanadaIoni Bowcher NEGOTIATION
Tony Y ShinkoAustraliaIvan Magalhaes NEGOTIATION
Ricardo F WhobreyFranceOnyama Limba NEGOTIATION
Jennifer T MaletCanadaIoni Bowcher PROPOSAL
Misaki I TollnerGermanyIvan Magalhaes UNQUALIFIED
Arvin I PaprockiBrazilStephen Shaw QUALIFIED
Ashley O DarakjyArgentinaElwin Sharvill NEW
Smith B ChuiGermanyStephen Shaw PROPOSAL
Jefferson P CaudyGermanyElwin Sharvill NEW
Wickens Q OldroydGermanyStephen Shaw NEGOTIATION
Kaitlin W NickaArgentinaIvan Magalhaes NEW
Rodrigues Y RoysterCanadaAmy Elsner NEGOTIATION
Mujtaba P BriddickCanadaStephen Shaw QUALIFIED
Rodrigues A SlusarskiGermanyIoni Bowcher PROPOSAL
Greenwood I MacleadSpainAmy Elsner QUALIFIED
Misaki N CaudyCanadaAnna Fali NEW
Deepesh X TollnerUnited KingdomAnna Fali QUALIFIED
Izzy L SchemmerIndiaStephen Shaw NEW
Murillo F FigeroaBrazilStephen Shaw PROPOSAL
Silvio M KolmetzJapanIoni Bowcher QUALIFIED
Claire M MorascaSpainIvan Magalhaes PROPOSAL
Aruna E AlbaresFranceBernardo Dominic QUALIFIED
Izzy W WaycottJapanAnna Fali QUALIFIED
Kadeem H TollnerItalyOnyama Limba NEGOTIATION
Munro Q WaycottItalyBernardo Dominic UNQUALIFIED
David Q AmigonArgentinaOnyama Limba QUALIFIED
Aika J WaycottGermanyElwin Sharvill QUALIFIED
Jeanfrancois Q MarrierIndiaAnna Fali PROPOSAL
Leja W BologniaUnited KingdomIoni Bowcher RENEWAL
Mujtaba R CaldareraCanadaIvan Magalhaes RENEWAL
Stacey L CampainItalyElwin Sharvill QUALIFIED
Murillo V SchemmerFranceAsiya Javayant NEGOTIATION
Claire Q StockhamGermanyOnyama Limba UNQUALIFIED
Ashley F FerenczCanadaXuxue Feng RENEWAL
Maria M WieserItalyAsiya Javayant UNQUALIFIED
Jennifer N BologniaRussiaOnyama Limba PROPOSAL
Murillo B StensethCanadaXuxue Feng PROPOSAL
Leja W VocelkaRussiaAsiya Javayant RENEWAL
Alejandro F RulapaughAustraliaXuxue Feng NEGOTIATION
Silvio N CaudySpainElwin Sharvill NEGOTIATION
Morrow V NestleAustraliaAnna Fali NEGOTIATION
Leon C FlosiArgentinaAnna Fali QUALIFIED
Mayumi X AmigonItalyOnyama Limba UNQUALIFIED
Jones R MarrierIndiaAsiya Javayant NEGOTIATION
Chavez V FollerRussiaIvan Magalhaes QUALIFIED
Ivar F SchemmerRussiaAsiya Javayant NEGOTIATION
James Q StockhamGermanyIoni Bowcher PROPOSAL
Frozen Columns
Name
Leon J Marrier
Emily N Marrier
Francesco J Stockham
Johnson O Malet
Salvatore C Kusko
Faith I Chui
Juan M Malet
Kadeem Y Rulapaugh
Morrow P Ostrosky
Maria E Rulapaugh
Julie B Gillian
Morrow X Caldarera
James D Perin
Darci B Flosi
Kaitlin Q Bowley
Julie L Butt
Leja Y Shinko
Faith G Stockham
Johnson W Figeroa
Kadeem R Darakjy
James X Caudy
Cody I Slusarski
Aditya F Waycott
Deepesh O Saylors
Cody T Royster
Aika R Malet
Antonio H Dilliard
Maisha C Caudy
Jennifer F Iturbide
Octavia G Gillian
Octavia R Sergi
Johnson F Ostrosky
Tony C Figeroa
Claire F Doe
Kaitlin Y Albares
Maisha E Briddick
Ashley Q Glick
Jennifer N Vocelka
Salvatore D Maclead
Isabel F Bolognia
Smith M Butt
Rodrigues H Stockham
Maisha J Schemmer
Smith D Gaucho
Darci P Nicka
Leon E Doe
Munro M Malet
Jefferson Z Morasca
Rodrigues C Glick
Aika W Slusarski
IdCountryDate
1000Russia2024-06-24
1001United Kingdom2024-06-15
1002Argentina2024-06-01
1003United Kingdom2024-06-11
1004Germany2024-05-31
1005Russia2024-05-27
1006Canada2024-06-02
1007Russia2024-06-10
1008Germany2024-05-28
1009Russia2024-06-14
1010Germany2024-06-13
1011Italy2024-05-31
1012Spain2024-06-05
1013India2024-06-18
1014Canada2024-06-23
1015Spain2024-06-01
1016Argentina2024-05-30
1017Japan2024-06-17
1018France2024-05-29
1019Canada2024-06-06
1020France2024-05-27
1021Japan2024-06-11
1022Brazil2024-06-11
1023Argentina2024-06-13
1024France2024-06-05
1025Spain2024-06-06
1026Argentina2024-06-19
1027Russia2024-06-14
1028Australia2024-05-26
1029Germany2024-06-17
1030India2024-06-20
1031Spain2024-05-30
1032Italy2024-06-03
1033Brazil2024-06-11
1034France2024-06-06
1035India2024-06-24
1036Russia2024-06-04
1037Japan2024-06-12
1038United Kingdom2024-06-21
1039Brazil2024-06-18
1040Canada2024-06-16
1041Russia2024-06-07
1042Argentina2024-06-08
1043Canada2024-06-12
1044Spain2024-06-20
1045Japan2024-05-28
1046Australia2024-06-05
1047France2024-06-06
1048Brazil2024-06-15
1049Germany2024-06-16

On-Demand Data

NameIdCountryDate
Cody H Perin1000Italy2024-05-30
Costa W Butt1001United Kingdom2024-06-06
Kadeem G Vocelka1002Spain2024-06-01
Antonio M Gillian1003Japan2024-06-15
Munro L Nicka1004United Kingdom2024-06-15
Stacey L Schemmer1005Spain2024-06-17
James S Rulapaugh1006Russia2024-06-13
Rodrigues W Nicka1007Japan2024-06-12
Ricardo U Caudy1008India2024-06-21
Morrow K Flosi1009Spain2024-06-03
Jefferson X Slusarski1010Argentina2024-05-28
Murillo M Morasca1011Japan2024-06-11
Misaki Y Royster1012Italy2024-05-26
Clifford J Iturbide1013Spain2024-06-18
Munro A Kolmetz1014United Kingdom2024-06-20
Smith P Glick1015Canada2024-06-23
Juan I Bowley1016Japan2024-05-27
Juan G Rulapaugh1017Italy2024-06-15
Mujtaba Q Butt1018Germany2024-05-30
Costa C Perin1019Germany2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley F TollnerIndiaAnna Fali QUALIFIED
Mayumi P IturbideAustraliaIvan Magalhaes QUALIFIED
Aditya G SchemmerJapanElwin Sharvill UNQUALIFIED
Munro M SchemmerSpainAmy Elsner NEW
Adams H WhobreyJapanAsiya Javayant UNQUALIFIED
Octavia A PerinUnited KingdomAmy Elsner RENEWAL
Greenwood V KolmetzRussiaIvan Magalhaes UNQUALIFIED
Jennifer G ButtFranceOnyama Limba NEW
Darci L MarrierItalyIoni Bowcher QUALIFIED
Morrow E GauchoItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois Y KuskoItalyAmy Elsner PROPOSAL
Smith X FigeroaGermanyXuxue Feng RENEWAL
Claire U PaprockiArgentinaAsiya Javayant QUALIFIED
Ricardo Y RoysterGermanyStephen Shaw NEGOTIATION
Alejandro X SaylorsSpainAsiya Javayant UNQUALIFIED
Ashley H OstroskyIndiaStephen Shaw RENEWAL
Silvio G AmigonGermanyElwin Sharvill RENEWAL
Silvio U BologniaJapanAmy Elsner PROPOSAL
Clifford M MarrierSpainIoni Bowcher UNQUALIFIED
Ashley G GlickGermanyAsiya Javayant NEGOTIATION
Maria A SchemmerRussiaIoni Bowcher RENEWAL
Nicolas L AmigonRussiaIoni Bowcher PROPOSAL
Nicolas U OldroydItalyElwin Sharvill PROPOSAL
Jennifer I BowleyIndiaElwin Sharvill NEGOTIATION
Murillo M ShinkoArgentinaAsiya Javayant QUALIFIED
Chavez Z SaylorsGermanyAsiya Javayant RENEWAL
Jeanfrancois G GarufiCanadaElwin Sharvill UNQUALIFIED
Deepesh Z GauchoAustraliaStephen Shaw NEW
Deepesh F CaldareraRussiaBernardo Dominic PROPOSAL
Juan O TollnerIndiaAmy Elsner UNQUALIFIED
Emily S NickaBrazilElwin Sharvill QUALIFIED
Murillo J OstroskyBrazilAsiya Javayant UNQUALIFIED
Ivar K NestleIndiaElwin Sharvill NEGOTIATION
Smith Y TollnerItalyOnyama Limba NEW
Arvin E FerenczRussiaAnna Fali NEW
Aika P ButtCanadaOnyama Limba NEW
Costa P BowleyItalyIvan Magalhaes NEW
Aditya V NestleFranceXuxue Feng NEW
Chavez P TollnerBrazilElwin Sharvill QUALIFIED
Ivar L IturbideAustraliaStephen Shaw PROPOSAL

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