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
Jefferson N CaldareraItalyIvan Magalhaes QUALIFIED
Kadeem A MacleadBrazilAmy Elsner UNQUALIFIED
Jeanfrancois A StensethFranceAnna Fali NEW
Francesco A RimRussiaAmy Elsner UNQUALIFIED
Cody Y GlickItalyXuxue Feng NEW
Alejandro M FigeroaCanadaIoni Bowcher QUALIFIED
Mayumi Y VocelkaAustraliaXuxue Feng NEGOTIATION
Wickens G MarrierGermanyAsiya Javayant PROPOSAL
Johnson F RulapaughRussiaAmy Elsner QUALIFIED
Ivar F CampainSpainAnna Fali QUALIFIED
Antonio V NickaArgentinaIoni Bowcher QUALIFIED
Kaitlin F DarakjyAustraliaIoni Bowcher NEGOTIATION
Murillo G MaletArgentinaElwin Sharvill RENEWAL
Julie I NickaRussiaIoni Bowcher PROPOSAL
David B WaycottGermanyAsiya Javayant RENEWAL
Johnson R ChuiAustraliaAnna Fali PROPOSAL
Cody W TollnerJapanStephen Shaw QUALIFIED
Salvatore L RimRussiaIvan Magalhaes NEGOTIATION
Munro X GlickUnited KingdomOnyama Limba RENEWAL
Ashley Z GlickJapanStephen Shaw NEW
Leon D PaprockiArgentinaBernardo Dominic NEW
David W InouyeSpainAsiya Javayant RENEWAL
Deepesh T OstroskyGermanyElwin Sharvill PROPOSAL
Leja X RimIndiaAmy Elsner PROPOSAL
Cody T OstroskyIndiaAmy Elsner NEGOTIATION
Misaki Z IturbideArgentinaStephen Shaw PROPOSAL
Maria G DilliardSpainIvan Magalhaes NEW
Leja K CaudyArgentinaAnna Fali UNQUALIFIED
Aditya O RimCanadaElwin Sharvill UNQUALIFIED
Juan Z MaletUnited KingdomAnna Fali NEW
Smith Z WaycottArgentinaAnna Fali UNQUALIFIED
Juan C MaletJapanIvan Magalhaes NEW
Johnson J GlickCanadaAnna Fali QUALIFIED
Stacey I SlusarskiJapanStephen Shaw NEGOTIATION
Jeanfrancois L KuskoAustraliaStephen Shaw QUALIFIED
Rodrigues U FigeroaItalyAsiya Javayant UNQUALIFIED
Aruna T GarufiAustraliaOnyama Limba NEW
Stacey U OstroskyIndiaXuxue Feng QUALIFIED
Maisha K NickaSpainBernardo Dominic QUALIFIED
Darci G PaprockiJapanStephen Shaw UNQUALIFIED
Morrow Y WaycottItalyElwin Sharvill QUALIFIED
Francesco A KuskoArgentinaXuxue Feng RENEWAL
Aditya H ButtUnited KingdomBernardo Dominic NEGOTIATION
Johnson K WaycottFranceStephen Shaw PROPOSAL
Kadeem I MacleadAustraliaStephen Shaw RENEWAL
Tony O MacleadFranceElwin Sharvill RENEWAL
Morrow L PoquetteArgentinaXuxue Feng QUALIFIED
Jennifer R WieserBrazilElwin Sharvill UNQUALIFIED
Deepesh G GauchoCanadaXuxue Feng NEGOTIATION
Ashley T InouyeAustraliaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon D GauchoFranceBernardo Dominic NEW
Arvin S FigeroaItalyBernardo Dominic NEGOTIATION
Alejandro W TollnerIndiaAsiya Javayant NEGOTIATION
Maisha Q FollerGermanyXuxue Feng RENEWAL
David C FerenczJapanXuxue Feng RENEWAL
Izzy M GarufiGermanyAsiya Javayant NEGOTIATION
Faith A SaylorsIndiaOnyama Limba QUALIFIED
Leon Z BologniaBrazilIoni Bowcher RENEWAL
Juan G MorascaGermanyAnna Fali NEGOTIATION
Maisha A CaudyAustraliaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon K SlusarskiArgentina2024-05-25Buckley Miller Wright NEW74Ivan Magalhaes
1001Darci Z CaudyAustralia2024-05-28Commercial Press RENEWAL19Onyama Limba
1002Nicolas M FerenczItaly2024-05-30Chanay, Jeffrey A Esq PROPOSAL93Ivan Magalhaes
1003Mujtaba U BowleyFrance2024-05-29Chemel, James L Cpa RENEWAL73Xuxue Feng
1004Salvatore T VenereIndia2024-06-16Rousseaux, Michael Esq PROPOSAL45Onyama Limba
1005Rodrigues P RoysterFrance2024-06-05Buckley Miller Wright NEW9Ioni Bowcher
1006Kadeem S KuskoSpain2024-06-17Benton, John B Jr UNQUALIFIED21Ivan Magalhaes
1007Morrow T MarrierItaly2024-05-28Dorl, James J Esq QUALIFIED56Bernardo Dominic
1008Mayumi D BowleyIndia2024-06-16Morlong Associates QUALIFIED4Stephen Shaw
1009Maria O DilliardFrance2024-05-22Rousseaux, Michael Esq RENEWAL26Onyama Limba
1010Johnson U BowleyBrazil2024-05-28Rangoni Of Florence NEW15Elwin Sharvill
1011Johnson S MorascaAustralia2024-06-02Chanay, Jeffrey A Esq PROPOSAL16Stephen Shaw
1012Arvin V SaylorsCanada2024-06-17Benton, John B Jr UNQUALIFIED8Elwin Sharvill
1013Mujtaba R MarrierRussia2024-05-31Commercial Press NEW37Xuxue Feng
1014Stacey G FerenczCanada2024-05-31Chemel, James L Cpa UNQUALIFIED13Anna Fali
1015Arvin R KuskoItaly2024-05-29Chemel, James L Cpa QUALIFIED36Elwin Sharvill
1016Rodrigues G AlbaresFrance2024-05-20Chanay, Jeffrey A Esq QUALIFIED3Ioni Bowcher
1017Mayumi J FlosiItaly2024-05-21Morlong Associates NEW65Xuxue Feng
1018Leon R FigeroaFrance2024-05-26Buckley Miller Wright UNQUALIFIED58Bernardo Dominic
1019David C BologniaArgentina2024-05-22Feltz Printing Service RENEWAL3Amy Elsner
1020Leja L CaldareraGermany2024-06-18Chapman, Ross E Esq UNQUALIFIED25Elwin Sharvill
1021Izzy P FerenczCanada2024-05-29King, Christopher A Esq RENEWAL48Ivan Magalhaes
1022Mayumi R DilliardUnited Kingdom2024-05-21Dorl, James J Esq RENEWAL49Asiya Javayant
1023Rodrigues J DilliardItaly2024-05-30Rousseaux, Michael Esq PROPOSAL72Amy Elsner
1024Faith I SchemmerIndia2024-05-23Dorl, James J Esq NEW89Asiya Javayant
1025Kaitlin K RoysterSpain2024-06-15Benton, John B Jr NEW38Anna Fali
1026Ivar H SchemmerRussia2024-05-29Commercial Press RENEWAL29Ioni Bowcher
1027Adams H GauchoIndia2024-06-04Chemel, James L Cpa UNQUALIFIED88Amy Elsner
1028Julie A GarufiSpain2024-05-26Rousseaux, Michael Esq UNQUALIFIED25Xuxue Feng
1029Julie J MarrierJapan2024-05-22Feiner Bros RENEWAL36Stephen Shaw
1030Murillo N RoysterGermany2024-05-25Chemel, James L Cpa UNQUALIFIED25Asiya Javayant
1031Alejandro X FigeroaAustralia2024-05-27Feltz Printing Service PROPOSAL66Stephen Shaw
1032Silvio Z PoquetteBrazil2024-06-02Commercial Press NEW48Stephen Shaw
1033Tony S MacleadUnited Kingdom2024-05-24Chanay, Jeffrey A Esq NEW11Stephen Shaw
1034Isabel M KolmetzArgentina2024-06-10Printing Dimensions UNQUALIFIED93Amy Elsner
1035Isabel B PaprockiRussia2024-06-08Buckley Miller Wright NEGOTIATION97Anna Fali
1036Arvin L WaycottCanada2024-06-14Morlong Associates RENEWAL58Bernardo Dominic
1037Claire K ChuiFrance2024-06-14Chemel, James L Cpa RENEWAL88Onyama Limba
1038Silvio S RutaCanada2024-06-18King, Christopher A Esq NEGOTIATION59Amy Elsner
1039Munro B FigeroaArgentina2024-06-08Feiner Bros NEW21Stephen Shaw
1040Nicolas C MaletRussia2024-06-05Commercial Press NEGOTIATION53Elwin Sharvill
1041Greenwood E StockhamGermany2024-05-27Dorl, James J Esq PROPOSAL77Onyama Limba
1042Kaitlin X TollnerIndia2024-06-09Chapman, Ross E Esq NEGOTIATION86Bernardo Dominic
1043Ivar R IturbideSpain2024-06-03Morlong Associates UNQUALIFIED95Bernardo Dominic
1044David S CaudyItaly2024-06-03Truhlar And Truhlar Attys NEW26Bernardo Dominic
1045Aditya M RulapaughAustralia2024-05-29Chapman, Ross E Esq NEGOTIATION74Ivan Magalhaes
1046Aruna I WieserUnited Kingdom2024-05-25Chemel, James L Cpa NEW52Xuxue Feng
1047Arvin H CampainAustralia2024-06-01Buckley Miller Wright QUALIFIED74Ioni Bowcher
1048Ricardo C WaycottSpain2024-06-13Truhlar And Truhlar Attys RENEWAL60Onyama Limba
1049Izzy I OstroskyCanada2024-05-28Feiner Bros NEGOTIATION23Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Q TollnerJapanElwin Sharvill NEGOTIATION
Jones L BriddickCanadaOnyama Limba NEW
Cody V StockhamItalyStephen Shaw RENEWAL
Ricardo C VocelkaUnited KingdomAnna Fali QUALIFIED
Mayumi P IturbideRussiaIoni Bowcher PROPOSAL
Clifford W SchemmerJapanAmy Elsner NEGOTIATION
Clifford N CaldareraIndiaElwin Sharvill RENEWAL
Kaitlin R StockhamGermanyElwin Sharvill RENEWAL
James H DoeCanadaXuxue Feng PROPOSAL
Julie X PoquetteSpainIvan Magalhaes NEW
Izzy P VenereSpainBernardo Dominic PROPOSAL
Salvatore Z MaletUnited KingdomAsiya Javayant RENEWAL
Aika X BowleyGermanyXuxue Feng QUALIFIED
Arvin G FlosiBrazilBernardo Dominic QUALIFIED
Emily T GauchoGermanyXuxue Feng PROPOSAL
Greenwood M RoysterItalyStephen Shaw NEW
Aruna U MarrierAustraliaAnna Fali NEGOTIATION
James O WieserIndiaIvan Magalhaes UNQUALIFIED
Morrow L VocelkaCanadaBernardo Dominic QUALIFIED
Juan N GillianUnited KingdomIvan Magalhaes RENEWAL
Izzy V StockhamJapanXuxue Feng RENEWAL
Ivar L BowleyCanadaIoni Bowcher NEW
Izzy B GarufiCanadaIoni Bowcher QUALIFIED
Jones C ChuiAustraliaStephen Shaw PROPOSAL
Sinclair D SergiSpainAmy Elsner QUALIFIED
Aditya W GillianIndiaAmy Elsner UNQUALIFIED
Maria Y NickaFranceAmy Elsner RENEWAL
David T CaldareraGermanyOnyama Limba QUALIFIED
Ashley I NickaIndiaStephen Shaw QUALIFIED
Rodrigues N ButtGermanyIvan Magalhaes RENEWAL
Jennifer J TollnerRussiaBernardo Dominic PROPOSAL
Jefferson W RoysterRussiaStephen Shaw NEGOTIATION
David F StockhamIndiaAnna Fali UNQUALIFIED
Salvatore E MorascaArgentinaXuxue Feng QUALIFIED
Costa J WieserUnited KingdomAnna Fali QUALIFIED
Arvin Z OldroydSpainIoni Bowcher RENEWAL
Deepesh Q StensethCanadaAsiya Javayant NEW
Leja K RutaJapanXuxue Feng NEGOTIATION
Jennifer V DilliardUnited KingdomStephen Shaw RENEWAL
Jefferson C TollnerArgentinaBernardo Dominic UNQUALIFIED
Darci S DilliardItalyAsiya Javayant NEGOTIATION
Deepesh Q KolmetzBrazilIoni Bowcher NEW
Jefferson I ShinkoGermanyElwin Sharvill QUALIFIED
Munro K ButtIndiaIvan Magalhaes RENEWAL
Morrow G MaletArgentinaAmy Elsner NEGOTIATION
Isabel X TollnerJapanAmy Elsner PROPOSAL
Julie G SchemmerGermanyElwin Sharvill UNQUALIFIED
Jones V DarakjyGermanyAsiya Javayant NEGOTIATION
Octavia O NestleCanadaAsiya Javayant NEW
Ivar U AmigonCanadaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Maisha S Wieser
Deepesh Y Amigon
Aditya Q Chui
Julie N Shinko
Wickens H Vocelka
Jeanfrancois V Ruta
Stacey J Bolognia
Maisha L Nestle
Darci Q Iturbide
Kaitlin F Foller
Jones M Malet
Julie H Vocelka
Silvio Q Nestle
Darci I Oldroyd
Greenwood Y Rulapaugh
Smith A Nestle
Jeanfrancois A Perin
Sinclair S Schemmer
Ashley G Nestle
Ivar C Caldarera
David O Caudy
Sinclair U Caldarera
Jefferson R Glick
Maisha Y Figeroa
Aruna I Morasca
Mujtaba R Rim
Antonio J Morasca
Sinclair N Ostrosky
Clifford K Rulapaugh
Leja B Maclead
Costa G Albares
Jefferson Z Paprocki
Clifford D Vocelka
Arvin L Perin
Costa B Darakjy
Ashley M Kusko
Johnson X Figeroa
Silvio K Vocelka
Murillo J Poquette
Johnson R Albares
Costa A Paprocki
Francesco S Glick
Mujtaba R Malet
Costa F Gillian
Octavia E Marrier
Sinclair A Stenseth
James Q Wieser
Murillo I Paprocki
Aditya Y Royster
Chavez U Wieser
IdCountryDate
1000Italy2024-06-16
1001Russia2024-05-26
1002Spain2024-06-17
1003Australia2024-05-28
1004Germany2024-06-01
1005Canada2024-05-30
1006Brazil2024-05-23
1007Australia2024-05-22
1008United Kingdom2024-05-22
1009Argentina2024-05-31
1010Japan2024-05-22
1011Canada2024-06-16
1012Italy2024-06-06
1013Germany2024-06-01
1014Russia2024-06-09
1015France2024-05-25
1016Australia2024-05-25
1017France2024-05-31
1018France2024-06-17
1019Brazil2024-06-13
1020Canada2024-06-11
1021Japan2024-06-11
1022Spain2024-05-26
1023Japan2024-05-30
1024United Kingdom2024-05-26
1025France2024-06-14
1026Canada2024-06-07
1027Japan2024-05-22
1028India2024-05-29
1029Brazil2024-06-08
1030Canada2024-05-24
1031Italy2024-06-04
1032Italy2024-05-30
1033Germany2024-05-28
1034Germany2024-06-13
1035Italy2024-06-02
1036India2024-06-06
1037Russia2024-05-24
1038Argentina2024-06-18
1039Argentina2024-06-05
1040Spain2024-06-09
1041Canada2024-06-06
1042Italy2024-06-06
1043Australia2024-06-11
1044Italy2024-06-14
1045Brazil2024-06-16
1046Australia2024-05-25
1047Argentina2024-06-12
1048Spain2024-06-09
1049France2024-05-24

On-Demand Data

NameIdCountryDate
Maria N Sergi1000Canada2024-05-24
Ashley Y Briddick1001Australia2024-06-15
Tony M Kusko1002Brazil2024-06-08
Maisha I Kusko1003Canada2024-06-14
Maria Z Rim1004Russia2024-05-24
Adams U Flosi1005Canada2024-05-25
Johnson J Caldarera1006Brazil2024-05-20
Smith C Briddick1007Canada2024-05-23
Mujtaba M Foller1008India2024-05-27
Maria W Bolognia1009Russia2024-06-07
Cody I Garufi1010Russia2024-06-03
Arvin Z Albares1011Russia2024-06-17
David G Butt1012Australia2024-05-24
Jennifer W Stockham1013Italy2024-05-29
Mujtaba G Amigon1014Russia2024-06-03
Munro F Stockham1015Argentina2024-06-08
Juan W Nicka1016Brazil2024-06-13
Adams X Nestle1017India2024-06-15
Francesco P Garufi1018Spain2024-06-15
Izzy Q Foller1019France2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin N WieserCanadaAnna Fali RENEWAL
Antonio T GlickRussiaAmy Elsner RENEWAL
James X OstroskyFranceOnyama Limba RENEWAL
Munro U BologniaGermanyBernardo Dominic RENEWAL
Wickens J ChuiItalyIoni Bowcher RENEWAL
Smith V DarakjyCanadaIoni Bowcher PROPOSAL
Leon Y StensethBrazilIoni Bowcher QUALIFIED
Silvio A RimFranceAnna Fali PROPOSAL
Isabel R CaldareraBrazilIvan Magalhaes RENEWAL
Sinclair P SchemmerCanadaStephen Shaw UNQUALIFIED
Kaitlin O DarakjyBrazilXuxue Feng PROPOSAL
Kaitlin L PaprockiUnited KingdomIoni Bowcher PROPOSAL
Antonio G PoquetteRussiaAnna Fali RENEWAL
Adams A MarrierCanadaAnna Fali RENEWAL
Isabel J SchemmerGermanyAnna Fali UNQUALIFIED
Wickens L WhobreyIndiaStephen Shaw PROPOSAL
Izzy G MaletAustraliaOnyama Limba PROPOSAL
Tony O PerinGermanyAnna Fali RENEWAL
Wickens W ChuiFranceAsiya Javayant RENEWAL
Wickens I OldroydFranceAmy Elsner UNQUALIFIED
Greenwood R KuskoSpainXuxue Feng RENEWAL
Jennifer R WieserIndiaIvan Magalhaes NEW
Adams B NickaJapanBernardo Dominic NEW
Mayumi H WaycottBrazilIoni Bowcher NEGOTIATION
Nicolas Q TollnerRussiaIvan Magalhaes RENEWAL
Morrow L GauchoIndiaOnyama Limba UNQUALIFIED
Alejandro U GillianBrazilBernardo Dominic UNQUALIFIED
Mayumi U DarakjyUnited KingdomIoni Bowcher RENEWAL
Wickens U CaudyBrazilXuxue Feng NEW
Stacey H KolmetzUnited KingdomStephen Shaw RENEWAL
Leon B ShinkoGermanyXuxue Feng RENEWAL
Chavez U PerinArgentinaIvan Magalhaes UNQUALIFIED
Aditya E BowleyItalyIoni Bowcher NEW
James L AmigonUnited KingdomIvan Magalhaes NEW
Costa Y SergiGermanyElwin Sharvill UNQUALIFIED
Ivar E MaletIndiaIvan Magalhaes NEW
Wickens M FollerRussiaStephen Shaw RENEWAL
Julie K NestleCanadaXuxue Feng UNQUALIFIED
Stacey I GarufiItalyElwin Sharvill NEGOTIATION
Silvio O RimUnited KingdomOnyama Limba 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>