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
Ivar E GlickBrazilAmy Elsner NEW
Jennifer C DilliardIndiaIvan Magalhaes RENEWAL
Wickens U NickaFranceAsiya Javayant QUALIFIED
Murillo E TollnerAustraliaAsiya Javayant UNQUALIFIED
Antonio J BologniaCanadaIvan Magalhaes QUALIFIED
Adams A WieserJapanStephen Shaw RENEWAL
Wickens V OstroskyJapanAmy Elsner QUALIFIED
Greenwood X WaycottUnited KingdomElwin Sharvill QUALIFIED
Smith N WaycottAustraliaAmy Elsner QUALIFIED
Ivar B InouyeFranceBernardo Dominic UNQUALIFIED
Aruna K InouyeIndiaOnyama Limba NEW
Izzy E VenereBrazilIvan Magalhaes QUALIFIED
Ricardo Q OldroydFranceElwin Sharvill UNQUALIFIED
Ashley S FigeroaSpainElwin Sharvill UNQUALIFIED
Izzy D VenereRussiaBernardo Dominic UNQUALIFIED
Kadeem X RoysterFranceBernardo Dominic QUALIFIED
Jennifer H NickaItalyXuxue Feng RENEWAL
Cody S IturbideSpainAmy Elsner QUALIFIED
Chavez Y BologniaUnited KingdomAnna Fali NEGOTIATION
Jefferson F RulapaughIndiaAsiya Javayant QUALIFIED
Aika Q RulapaughIndiaOnyama Limba RENEWAL
Mujtaba Y MorascaGermanyIvan Magalhaes NEW
Leon E CampainAustraliaStephen Shaw NEW
Johnson X GarufiCanadaStephen Shaw NEW
Alejandro Z OldroydJapanXuxue Feng UNQUALIFIED
Faith D DarakjyItalyAsiya Javayant NEW
Salvatore J WieserArgentinaIoni Bowcher NEW
Kadeem Q IturbideArgentinaAnna Fali NEW
Arvin F CampainUnited KingdomOnyama Limba NEW
Emily R CaldareraGermanyAnna Fali QUALIFIED
Salvatore P RulapaughRussiaBernardo Dominic RENEWAL
Greenwood P GarufiRussiaElwin Sharvill UNQUALIFIED
Ashley T GauchoBrazilElwin Sharvill UNQUALIFIED
Deepesh O StensethBrazilAsiya Javayant UNQUALIFIED
Francesco V OldroydCanadaXuxue Feng NEW
Jeanfrancois V GarufiItalyIoni Bowcher UNQUALIFIED
Jennifer Q FollerGermanyStephen Shaw NEGOTIATION
Rodrigues W MarrierSpainStephen Shaw PROPOSAL
Ashley O ShinkoIndiaAmy Elsner UNQUALIFIED
Francesco N DarakjyFranceIoni Bowcher QUALIFIED
Morrow O GauchoCanadaAmy Elsner NEGOTIATION
Emily H GarufiUnited KingdomAsiya Javayant NEW
Kaitlin Y FollerRussiaStephen Shaw UNQUALIFIED
Nicolas O VocelkaBrazilAsiya Javayant RENEWAL
Juan H FlosiItalyBernardo Dominic QUALIFIED
Sinclair T VocelkaIndiaElwin Sharvill QUALIFIED
Francesco E StockhamAustraliaBernardo Dominic RENEWAL
Tony U FigeroaIndiaOnyama Limba RENEWAL
Mujtaba F NickaCanadaXuxue Feng UNQUALIFIED
Mujtaba Z NestleRussiaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David D InouyeSpainXuxue Feng RENEWAL
Ashley K StensethItalyElwin Sharvill NEGOTIATION
Sinclair G FerenczArgentinaOnyama Limba NEW
Rodrigues C BowleyAustraliaElwin Sharvill NEW
Stacey D SlusarskiSpainAmy Elsner NEGOTIATION
Kadeem Q MaletCanadaElwin Sharvill NEGOTIATION
Stacey M RoysterJapanAsiya Javayant NEW
Misaki E MaletSpainAsiya Javayant NEGOTIATION
David M RoysterAustraliaBernardo Dominic QUALIFIED
Aditya Z RimIndiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues Z NestleItaly2024-05-22Printing Dimensions UNQUALIFIED77Asiya Javayant
1001Alejandro Z GlickJapan2024-06-08Chemel, James L Cpa QUALIFIED75Asiya Javayant
1002Misaki I MaletRussia2024-05-16Rangoni Of Florence RENEWAL72Stephen Shaw
1003Faith E PaprockiGermany2024-06-09King, Christopher A Esq PROPOSAL15Stephen Shaw
1004Morrow H BologniaRussia2024-05-19Benton, John B Jr UNQUALIFIED28Anna Fali
1005Morrow V IturbideJapan2024-05-31Rousseaux, Michael Esq PROPOSAL91Ivan Magalhaes
1006Juan F GarufiFrance2024-05-29Buckley Miller Wright RENEWAL99Elwin Sharvill
1007Isabel I WhobreyJapan2024-05-19Buckley Miller Wright QUALIFIED24Ioni Bowcher
1008Aika D VenereIndia2024-05-29Feiner Bros NEW4Ioni Bowcher
1009Maisha G PerinFrance2024-05-29Chemel, James L Cpa UNQUALIFIED53Asiya Javayant
1010Mayumi X WaycottCanada2024-05-18Chapman, Ross E Esq PROPOSAL59Ioni Bowcher
1011Alejandro F SchemmerGermany2024-06-11Rousseaux, Michael Esq QUALIFIED66Amy Elsner
1012Salvatore S WieserSpain2024-05-18Truhlar And Truhlar Attys UNQUALIFIED71Onyama Limba
1013Kaitlin S StockhamCanada2024-06-08Feltz Printing Service NEGOTIATION83Asiya Javayant
1014Arvin A RoysterArgentina2024-06-07Buckley Miller Wright NEGOTIATION32Onyama Limba
1015Claire E FlosiJapan2024-05-17Buckley Miller Wright NEGOTIATION72Ivan Magalhaes
1016Leja G ChuiIndia2024-05-20Truhlar And Truhlar Attys RENEWAL11Stephen Shaw
1017Mujtaba X PaprockiBrazil2024-06-02Feiner Bros UNQUALIFIED54Elwin Sharvill
1018Claire E BowleyFrance2024-06-10Dorl, James J Esq PROPOSAL61Ivan Magalhaes
1019Darci N AmigonRussia2024-06-13Truhlar And Truhlar Attys RENEWAL72Onyama Limba
1020Stacey B DarakjyGermany2024-05-23Commercial Press NEGOTIATION45Xuxue Feng
1021David H WieserArgentina2024-05-19Feiner Bros RENEWAL93Anna Fali
1022Emily B GlickGermany2024-05-27Chapman, Ross E Esq NEGOTIATION13Onyama Limba
1023Cody I CaldareraAustralia2024-05-28Feltz Printing Service UNQUALIFIED94Stephen Shaw
1024Emily R FigeroaItaly2024-06-11Commercial Press QUALIFIED70Onyama Limba
1025Leon M BologniaItaly2024-06-11Dorl, James J Esq RENEWAL42Elwin Sharvill
1026Jeanfrancois A FollerGermany2024-06-05Printing Dimensions RENEWAL43Anna Fali
1027Rodrigues Y RulapaughAustralia2024-05-31Feltz Printing Service QUALIFIED35Asiya Javayant
1028Izzy V NestleIndia2024-05-24Morlong Associates NEGOTIATION18Elwin Sharvill
1029Jones N AlbaresGermany2024-05-29Benton, John B Jr NEGOTIATION32Anna Fali
1030Misaki S StockhamIndia2024-05-28Dorl, James J Esq UNQUALIFIED79Xuxue Feng
1031Emily G FollerIndia2024-05-31Chemel, James L Cpa QUALIFIED14Asiya Javayant
1032Tony Q SaylorsJapan2024-06-13Morlong Associates PROPOSAL57Anna Fali
1033Adams T StockhamSpain2024-05-25Rangoni Of Florence NEW41Xuxue Feng
1034Antonio B WhobreyFrance2024-06-10Printing Dimensions RENEWAL38Elwin Sharvill
1035Octavia C MaletCanada2024-05-18Feiner Bros QUALIFIED49Asiya Javayant
1036Leja X WieserSpain2024-06-06Dorl, James J Esq UNQUALIFIED68Asiya Javayant
1037Greenwood O GarufiUnited Kingdom2024-05-22Buckley Miller Wright PROPOSAL88Amy Elsner
1038Tony X SaylorsArgentina2024-05-27Feiner Bros UNQUALIFIED58Ivan Magalhaes
1039Emily N MacleadSpain2024-05-28Feltz Printing Service RENEWAL99Ioni Bowcher
1040Jones Z RimFrance2024-05-24Printing Dimensions PROPOSAL69Bernardo Dominic
1041Munro G OldroydJapan2024-05-21Rousseaux, Michael Esq NEW23Ivan Magalhaes
1042Morrow H TollnerUnited Kingdom2024-06-09Chemel, James L Cpa NEGOTIATION82Ioni Bowcher
1043Maria Q SaylorsBrazil2024-06-14Chemel, James L Cpa RENEWAL60Onyama Limba
1044Costa P GauchoJapan2024-05-21Commercial Press QUALIFIED65Amy Elsner
1045Arvin L AlbaresSpain2024-06-03Chanay, Jeffrey A Esq QUALIFIED19Xuxue Feng
1046Morrow L FollerGermany2024-05-28Chemel, James L Cpa UNQUALIFIED45Ivan Magalhaes
1047Mujtaba K InouyeFrance2024-05-16Rangoni Of Florence NEGOTIATION37Ivan Magalhaes
1048Adams F KolmetzRussia2024-05-16Commercial Press QUALIFIED79Onyama Limba
1049Johnson O FigeroaUnited Kingdom2024-05-31Chapman, Ross E Esq PROPOSAL11Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Octavia E DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Murillo D NickaFranceIvan Magalhaes UNQUALIFIED
Ashley L DoeGermanyOnyama Limba NEW
Chavez T SchemmerJapanIvan Magalhaes UNQUALIFIED
Octavia F FlosiCanadaElwin Sharvill NEW
Claire B RutaFranceAnna Fali UNQUALIFIED
Maria U VenereSpainAsiya Javayant NEW
Wickens D PoquetteArgentinaElwin Sharvill UNQUALIFIED
Murillo O RutaGermanyBernardo Dominic PROPOSAL
Julie T RoysterFranceBernardo Dominic UNQUALIFIED
Mujtaba D RimCanadaElwin Sharvill NEGOTIATION
Tony Q BologniaSpainBernardo Dominic NEW
Aika X InouyeItalyIvan Magalhaes RENEWAL
Morrow C FigeroaCanadaAsiya Javayant RENEWAL
Jefferson C OldroydJapanStephen Shaw UNQUALIFIED
Silvio K RulapaughIndiaXuxue Feng PROPOSAL
Izzy P MorascaGermanyXuxue Feng NEGOTIATION
Mayumi L GauchoArgentinaBernardo Dominic RENEWAL
Costa N DilliardRussiaElwin Sharvill NEGOTIATION
Kaitlin W MorascaSpainAsiya Javayant PROPOSAL
Octavia K RulapaughRussiaXuxue Feng UNQUALIFIED
Jeanfrancois F DarakjyGermanyIoni Bowcher PROPOSAL
Kaitlin V InouyeJapanElwin Sharvill PROPOSAL
Aruna Q MarrierBrazilAsiya Javayant UNQUALIFIED
Claire F GillianBrazilOnyama Limba NEW
Octavia Y FerenczUnited KingdomBernardo Dominic PROPOSAL
Silvio M VenereFranceAmy Elsner PROPOSAL
Misaki B DoeAustraliaXuxue Feng NEW
Morrow X BriddickRussiaAsiya Javayant RENEWAL
Ivar S TollnerCanadaElwin Sharvill RENEWAL
Murillo Y CaudyJapanAmy Elsner UNQUALIFIED
Ashley V GillianCanadaBernardo Dominic UNQUALIFIED
Maria X GillianIndiaAnna Fali RENEWAL
Aruna R MorascaCanadaIvan Magalhaes NEW
Cody X AlbaresSpainBernardo Dominic RENEWAL
Maisha U MorascaIndiaElwin Sharvill UNQUALIFIED
Aditya F GlickItalyXuxue Feng PROPOSAL
Leon E GlickBrazilOnyama Limba QUALIFIED
Johnson O SlusarskiJapanIoni Bowcher NEW
Ashley G SaylorsUnited KingdomAnna Fali NEGOTIATION
Claire U MarrierGermanyStephen Shaw QUALIFIED
Smith T SlusarskiJapanElwin Sharvill RENEWAL
Tony I GauchoArgentinaIvan Magalhaes QUALIFIED
Clifford U SaylorsArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois T AmigonAustraliaBernardo Dominic NEGOTIATION
Juan T FollerSpainStephen Shaw RENEWAL
Maisha H WaycottAustraliaOnyama Limba RENEWAL
Jefferson P KuskoAustraliaXuxue Feng UNQUALIFIED
Izzy P WaycottAustraliaIoni Bowcher QUALIFIED
Darci I IturbideCanadaStephen Shaw NEGOTIATION
Frozen Columns
Name
Adams Z Gillian
Jeanfrancois K Caudy
Kaitlin I Chui
Salvatore L Whobrey
Octavia E Butt
Johnson P Kusko
Aruna E Bolognia
Silvio S Paprocki
Aruna S Schemmer
Adams E Malet
Leon V Ruta
Ricardo M Gillian
Mayumi Z Stenseth
Jeanfrancois K Malet
Aika V Glick
Tony P Bowley
Wickens R Briddick
Mayumi L Inouye
Adams K Amigon
Ivar X Nicka
Sinclair Z Briddick
Tony K Maclead
Silvio E Saylors
Francesco J Schemmer
Izzy P Stockham
Emily B Malet
Izzy B Stockham
Leon S Slusarski
Sinclair E Bolognia
Aruna R Vocelka
Johnson Q Kusko
Jefferson G Bolognia
Ricardo Y Garufi
Murillo M Figeroa
Stacey W Doe
Jones L Malet
Chavez L Maclead
Aditya M Flosi
Octavia F Vocelka
Jones T Ruta
Morrow V Chui
David B Vocelka
Stacey W Perin
Julie K Rim
Claire O Kolmetz
Deepesh V Whobrey
Smith T Rulapaugh
David J Iturbide
Leon N Sergi
Claire A Maclead
IdCountryDate
1000Argentina2024-05-24
1001Japan2024-05-17
1002Italy2024-06-12
1003Brazil2024-05-17
1004India2024-05-23
1005Australia2024-05-18
1006Australia2024-05-26
1007India2024-05-23
1008United Kingdom2024-05-28
1009United Kingdom2024-06-11
1010India2024-05-24
1011Germany2024-06-13
1012Japan2024-06-01
1013Germany2024-05-16
1014Australia2024-05-16
1015Germany2024-05-24
1016France2024-05-17
1017Argentina2024-06-11
1018Brazil2024-05-24
1019France2024-05-28
1020United Kingdom2024-05-30
1021Argentina2024-05-25
1022India2024-05-19
1023Canada2024-05-28
1024Argentina2024-05-28
1025Argentina2024-05-21
1026Canada2024-05-25
1027Canada2024-05-17
1028United Kingdom2024-06-10
1029India2024-06-02
1030France2024-06-11
1031Russia2024-05-30
1032India2024-06-05
1033Canada2024-06-01
1034Australia2024-06-08
1035United Kingdom2024-05-20
1036Spain2024-06-09
1037Brazil2024-05-23
1038Germany2024-06-05
1039Japan2024-05-19
1040United Kingdom2024-06-03
1041Italy2024-05-19
1042United Kingdom2024-06-03
1043Argentina2024-06-14
1044Japan2024-06-08
1045Russia2024-05-17
1046Canada2024-06-01
1047India2024-06-01
1048Brazil2024-06-08
1049India2024-05-25

On-Demand Data

NameIdCountryDate
Leja C Slusarski1000Japan2024-05-24
Johnson C Kolmetz1001India2024-05-29
Arvin Z Amigon1002Spain2024-05-25
Juan F Bowley1003Australia2024-05-25
Jefferson V Stenseth1004Spain2024-05-26
Aruna U Rulapaugh1005Brazil2024-06-07
Jeanfrancois L Poquette1006France2024-05-27
Costa J Perin1007Germany2024-06-13
Cody Z Figeroa1008Japan2024-06-01
Nicolas O Dilliard1009United Kingdom2024-06-10
Nicolas B Malet1010Italy2024-05-24
Cody F Malet1011India2024-05-30
Johnson M Amigon1012United Kingdom2024-05-21
Octavia A Poquette1013Canada2024-05-16
James I Nestle1014Spain2024-05-22
Aruna R Ruta1015Australia2024-06-02
Octavia R Dilliard1016France2024-05-23
Antonio X Butt1017Spain2024-06-13
Leja K Darakjy1018Canada2024-06-11
Mayumi L Sergi1019Argentina2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens P MaletArgentinaIvan Magalhaes QUALIFIED
Antonio I ChuiUnited KingdomAnna Fali PROPOSAL
Claire S DarakjyAustraliaIvan Magalhaes RENEWAL
Ashley Y MacleadArgentinaOnyama Limba PROPOSAL
Julie E AlbaresRussiaIvan Magalhaes QUALIFIED
Maria X WieserBrazilIvan Magalhaes PROPOSAL
Wickens T MaletFranceStephen Shaw RENEWAL
Wickens M KuskoIndiaOnyama Limba QUALIFIED
Stacey H WhobreyBrazilStephen Shaw NEGOTIATION
Deepesh O KolmetzItalyAnna Fali UNQUALIFIED
Murillo H NickaUnited KingdomAnna Fali NEW
Aditya T FollerGermanyBernardo Dominic NEW
Jeanfrancois O VocelkaAustraliaAsiya Javayant UNQUALIFIED
Rodrigues X FlosiAustraliaXuxue Feng NEGOTIATION
Morrow O FlosiItalyStephen Shaw NEGOTIATION
Costa A ButtUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues Z RoysterAustraliaBernardo Dominic RENEWAL
Mujtaba B BologniaSpainIvan Magalhaes PROPOSAL
Smith L RutaArgentinaAmy Elsner NEGOTIATION
Costa F FerenczIndiaAmy Elsner NEW
Faith R SchemmerItalyAsiya Javayant NEW
Ricardo Q RimCanadaAmy Elsner QUALIFIED
Stacey B CampainJapanXuxue Feng PROPOSAL
Murillo D StockhamRussiaAnna Fali UNQUALIFIED
Johnson Q GarufiFranceAsiya Javayant UNQUALIFIED
Johnson H SchemmerItalyXuxue Feng QUALIFIED
Jefferson O VenereArgentinaOnyama Limba NEGOTIATION
Stacey J SaylorsRussiaStephen Shaw NEGOTIATION
Jones M FlosiUnited KingdomStephen Shaw PROPOSAL
Aika J MarrierFranceAsiya Javayant RENEWAL
Izzy L SlusarskiAustraliaAmy Elsner PROPOSAL
Greenwood C BriddickItalyAnna Fali UNQUALIFIED
Smith P NestleItalyAnna Fali PROPOSAL
Leon H FlosiCanadaElwin Sharvill QUALIFIED
Ricardo Z DilliardBrazilAsiya Javayant QUALIFIED
Faith Y SaylorsRussiaBernardo Dominic NEGOTIATION
Mujtaba Y BowleyUnited KingdomIoni Bowcher NEW
Octavia X MacleadJapanStephen Shaw UNQUALIFIED
Munro X OstroskyUnited KingdomAnna Fali NEW
Emily A BowleyArgentinaAmy Elsner NEW

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