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
Munro T WieserUnited KingdomElwin Sharvill NEGOTIATION
Aruna P PoquetteRussiaBernardo Dominic RENEWAL
Leja Z FollerJapanStephen Shaw NEGOTIATION
Jeanfrancois E DoeFranceAsiya Javayant UNQUALIFIED
Jefferson A StockhamAustraliaAmy Elsner PROPOSAL
Jefferson N MorascaRussiaAnna Fali UNQUALIFIED
Morrow C MarrierArgentinaAmy Elsner NEGOTIATION
Aruna I WieserSpainOnyama Limba RENEWAL
Mujtaba C CaldareraItalyOnyama Limba QUALIFIED
Tony S GarufiAustraliaAnna Fali NEGOTIATION
Silvio Y WaycottCanadaStephen Shaw PROPOSAL
Sinclair B PerinFranceAsiya Javayant QUALIFIED
Arvin V BologniaIndiaElwin Sharvill UNQUALIFIED
Darci Z GauchoItalyAnna Fali NEW
Nicolas P VenereAustraliaIvan Magalhaes NEGOTIATION
James D StensethJapanAnna Fali PROPOSAL
Leon Z PoquetteRussiaElwin Sharvill PROPOSAL
Leon O FollerUnited KingdomXuxue Feng UNQUALIFIED
Salvatore H RimAustraliaIvan Magalhaes NEGOTIATION
James Y FollerUnited KingdomStephen Shaw QUALIFIED
Maria P RulapaughRussiaAnna Fali PROPOSAL
Francesco T FerenczCanadaAsiya Javayant UNQUALIFIED
Jennifer T CampainSpainIoni Bowcher UNQUALIFIED
Darci I WhobreySpainStephen Shaw RENEWAL
Silvio Y AmigonAustraliaStephen Shaw NEGOTIATION
Antonio Q MaletIndiaAsiya Javayant UNQUALIFIED
Adams C DoeUnited KingdomStephen Shaw QUALIFIED
Alejandro I FigeroaFranceAsiya Javayant PROPOSAL
Ivar T MacleadRussiaAsiya Javayant QUALIFIED
Antonio D TollnerIndiaIvan Magalhaes NEW
Tony H FollerUnited KingdomBernardo Dominic PROPOSAL
Isabel F NestleItalyStephen Shaw RENEWAL
Maria X MaletGermanyAnna Fali PROPOSAL
Juan U GarufiRussiaAsiya Javayant NEW
Misaki W StockhamRussiaIvan Magalhaes NEGOTIATION
Maria H RoysterSpainStephen Shaw NEGOTIATION
Aruna X MarrierArgentinaElwin Sharvill NEW
Stacey U MorascaRussiaOnyama Limba UNQUALIFIED
Alejandro E VocelkaCanadaIvan Magalhaes QUALIFIED
Johnson U MacleadGermanyAmy Elsner PROPOSAL
Antonio W NickaSpainAmy Elsner NEGOTIATION
Julie A PaprockiItalyIvan Magalhaes RENEWAL
Maisha C SergiItalyStephen Shaw NEW
Kadeem S OldroydIndiaIvan Magalhaes NEGOTIATION
Mayumi R CaldareraFranceIvan Magalhaes PROPOSAL
Clifford H SaylorsItalyIvan Magalhaes NEGOTIATION
Juan A WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Faith X FigeroaBrazilOnyama Limba NEW
Murillo A RulapaughSpainAnna Fali RENEWAL
Misaki D GauchoFranceOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois W IturbideItalyXuxue Feng QUALIFIED
Munro G BowleyItalyAmy Elsner PROPOSAL
Alejandro O RoysterGermanyIoni Bowcher NEGOTIATION
Misaki S NestleIndiaAmy Elsner NEW
Maisha V DilliardJapanStephen Shaw RENEWAL
Rodrigues A NestleItalyAsiya Javayant UNQUALIFIED
Tony T GarufiIndiaAmy Elsner NEW
Chavez L DarakjyRussiaIoni Bowcher NEW
Claire J MaletAustraliaIvan Magalhaes RENEWAL
Johnson N FlosiBrazilAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy X ChuiSpain2024-06-04Buckley Miller Wright NEW28Onyama Limba
1001Isabel Z FerenczRussia2024-06-06Morlong Associates QUALIFIED21Stephen Shaw
1002Misaki Q GarufiFrance2024-06-15Chemel, James L Cpa NEW78Ivan Magalhaes
1003Silvio R RutaUnited Kingdom2024-06-08Morlong Associates PROPOSAL40Onyama Limba
1004Costa H IturbideRussia2024-06-06Buckley Miller Wright UNQUALIFIED31Stephen Shaw
1005Mayumi W OstroskyAustralia2024-06-04King, Christopher A Esq QUALIFIED41Elwin Sharvill
1006David G ShinkoIndia2024-06-08Rousseaux, Michael Esq NEW80Asiya Javayant
1007Rodrigues Y MacleadJapan2024-06-16Chapman, Ross E Esq RENEWAL2Anna Fali
1008Kadeem P FerenczRussia2024-05-27Dorl, James J Esq QUALIFIED98Asiya Javayant
1009Greenwood N RulapaughFrance2024-06-22Rousseaux, Michael Esq QUALIFIED21Xuxue Feng
1010David P RoysterFrance2024-06-14Morlong Associates QUALIFIED41Stephen Shaw
1011Mujtaba F OldroydUnited Kingdom2024-06-16Benton, John B Jr NEW84Stephen Shaw
1012David E RoysterSpain2024-06-22Truhlar And Truhlar Attys NEGOTIATION14Ioni Bowcher
1013Munro D MaletUnited Kingdom2024-06-20Truhlar And Truhlar Attys NEW69Asiya Javayant
1014Clifford C TollnerGermany2024-06-04King, Christopher A Esq PROPOSAL89Stephen Shaw
1015Jones U KuskoIndia2024-06-12Feiner Bros RENEWAL80Amy Elsner
1016Aditya X SchemmerCanada2024-06-01Printing Dimensions QUALIFIED27Xuxue Feng
1017Aika I KuskoAustralia2024-06-02Feiner Bros NEGOTIATION55Ivan Magalhaes
1018Octavia A GlickSpain2024-06-06Feltz Printing Service QUALIFIED16Anna Fali
1019Chavez E BowleyGermany2024-06-10Morlong Associates NEW30Onyama Limba
1020Octavia V MarrierArgentina2024-06-20Chapman, Ross E Esq RENEWAL93Xuxue Feng
1021David W FollerBrazil2024-06-22Benton, John B Jr NEGOTIATION88Amy Elsner
1022Jeanfrancois Z GillianSpain2024-06-07Rousseaux, Michael Esq NEW7Bernardo Dominic
1023Darci Z RulapaughJapan2024-06-07Feiner Bros NEGOTIATION74Stephen Shaw
1024Izzy I RulapaughAustralia2024-06-13Benton, John B Jr QUALIFIED4Anna Fali
1025Kadeem S MacleadBrazil2024-06-06Dorl, James J Esq NEGOTIATION67Asiya Javayant
1026Cody F DarakjyIndia2024-06-13Chemel, James L Cpa RENEWAL34Amy Elsner
1027Maisha Q ChuiArgentina2024-05-27Dorl, James J Esq UNQUALIFIED54Anna Fali
1028Silvio C BologniaRussia2024-06-02Morlong Associates RENEWAL74Asiya Javayant
1029Aika V DilliardArgentina2024-06-04Printing Dimensions RENEWAL13Amy Elsner
1030Faith R FigeroaJapan2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED8Elwin Sharvill
1031David Y OstroskyItaly2024-06-20Morlong Associates UNQUALIFIED27Bernardo Dominic
1032David L FerenczBrazil2024-06-03Chanay, Jeffrey A Esq QUALIFIED1Anna Fali
1033Clifford Z CampainItaly2024-05-27Dorl, James J Esq QUALIFIED2Ioni Bowcher
1034Sinclair E FollerGermany2024-06-17Chanay, Jeffrey A Esq NEGOTIATION41Xuxue Feng
1035Octavia N StockhamGermany2024-06-21Commercial Press QUALIFIED95Ioni Bowcher
1036Sinclair M MaletFrance2024-06-07Buckley Miller Wright NEW51Anna Fali
1037Jennifer U MaletAustralia2024-06-14Buckley Miller Wright QUALIFIED39Xuxue Feng
1038Morrow W OstroskyIndia2024-06-08King, Christopher A Esq PROPOSAL13Stephen Shaw
1039Julie Q SchemmerSpain2024-06-14Buckley Miller Wright NEW16Onyama Limba
1040Ashley W NestleUnited Kingdom2024-05-31Morlong Associates QUALIFIED19Ioni Bowcher
1041Jefferson C IturbideItaly2024-06-11Chemel, James L Cpa PROPOSAL30Stephen Shaw
1042Jennifer J TollnerArgentina2024-05-31Chemel, James L Cpa NEGOTIATION20Amy Elsner
1043Nicolas T KuskoRussia2024-06-07Rangoni Of Florence UNQUALIFIED69Elwin Sharvill
1044Kaitlin O VenereCanada2024-05-31Truhlar And Truhlar Attys QUALIFIED34Elwin Sharvill
1045Alejandro U FerenczArgentina2024-06-15Commercial Press UNQUALIFIED45Bernardo Dominic
1046Aika P WieserSpain2024-06-07Morlong Associates NEGOTIATION53Asiya Javayant
1047Morrow W BriddickArgentina2024-06-17Commercial Press UNQUALIFIED14Anna Fali
1048Jones R SlusarskiUnited Kingdom2024-06-14Chanay, Jeffrey A Esq QUALIFIED10Bernardo Dominic
1049Claire J AmigonCanada2024-05-27Chapman, Ross E Esq NEW36Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois V CampainAustraliaElwin Sharvill QUALIFIED
Morrow O DilliardUnited KingdomAnna Fali NEGOTIATION
Salvatore C NestleAustraliaAnna Fali UNQUALIFIED
Mujtaba F FlosiRussiaOnyama Limba NEW
Chavez L MaletIndiaStephen Shaw UNQUALIFIED
Jefferson H MaletIndiaAnna Fali PROPOSAL
Kadeem S WhobreyIndiaBernardo Dominic NEW
James K TollnerFranceXuxue Feng QUALIFIED
Leja I ButtAustraliaAsiya Javayant RENEWAL
Cody Z FlosiUnited KingdomAsiya Javayant PROPOSAL
Juan C RoysterAustraliaIoni Bowcher RENEWAL
Costa K VocelkaAustraliaStephen Shaw QUALIFIED
Mujtaba N SaylorsSpainAsiya Javayant QUALIFIED
Munro T AmigonArgentinaXuxue Feng UNQUALIFIED
Jennifer G MarrierBrazilAsiya Javayant NEGOTIATION
Morrow A ButtIndiaAnna Fali UNQUALIFIED
Ricardo P DilliardJapanIoni Bowcher RENEWAL
Murillo J GauchoUnited KingdomStephen Shaw RENEWAL
Antonio K OstroskyRussiaAsiya Javayant QUALIFIED
Johnson J PaprockiItalyBernardo Dominic NEGOTIATION
Juan P InouyeIndiaOnyama Limba PROPOSAL
Claire U ChuiUnited KingdomBernardo Dominic QUALIFIED
Darci M AlbaresRussiaBernardo Dominic RENEWAL
Claire R GarufiJapanAmy Elsner RENEWAL
Morrow L GauchoGermanyStephen Shaw NEGOTIATION
Leja W CaldareraCanadaStephen Shaw RENEWAL
Jennifer Z GauchoFranceElwin Sharvill RENEWAL
Izzy D KuskoItalyBernardo Dominic NEGOTIATION
Aruna W SaylorsArgentinaElwin Sharvill PROPOSAL
Adams V GillianBrazilAsiya Javayant NEGOTIATION
Darci H VocelkaItalyAnna Fali UNQUALIFIED
Ivar T RutaIndiaIoni Bowcher UNQUALIFIED
Stacey R PerinCanadaOnyama Limba NEGOTIATION
Silvio P MacleadItalyBernardo Dominic NEGOTIATION
Johnson Y SlusarskiBrazilIoni Bowcher UNQUALIFIED
Isabel P DoeGermanyStephen Shaw RENEWAL
Ivar Z IturbideBrazilIvan Magalhaes QUALIFIED
Antonio L BriddickJapanOnyama Limba NEW
Munro T PerinGermanyBernardo Dominic UNQUALIFIED
Arvin Z SaylorsGermanyStephen Shaw PROPOSAL
Jefferson J InouyeJapanAmy Elsner NEGOTIATION
Sinclair I BriddickIndiaIoni Bowcher PROPOSAL
Mujtaba J FlosiSpainAmy Elsner PROPOSAL
Morrow A DoeJapanBernardo Dominic NEW
Mujtaba G VocelkaJapanAnna Fali NEW
Wickens T PoquetteSpainAnna Fali NEW
James B TollnerGermanyAsiya Javayant NEW
Chavez N WhobreyItalyOnyama Limba PROPOSAL
Greenwood J RulapaughIndiaIoni Bowcher UNQUALIFIED
Isabel X BowleyFranceAsiya Javayant QUALIFIED
Frozen Columns
Name
Costa R Dilliard
Claire D Malet
Arvin X Dilliard
Aditya H Shinko
Rodrigues Z Caudy
Jennifer Y Vocelka
Aika O Saylors
Jeanfrancois J Chui
Jefferson D Gillian
Juan C Waycott
Alejandro E Morasca
Ashley D Saylors
Morrow Q Gillian
Salvatore I Inouye
James P Bolognia
Mayumi D Foller
Aruna J Amigon
Greenwood L Gillian
Chavez H Slusarski
Claire S Iturbide
Johnson R Ferencz
Cody O Ferencz
Mujtaba P Slusarski
Julie K Bolognia
Leja Q Figeroa
Francesco O Doe
Adams B Campain
Emily K Stenseth
Aditya D Paprocki
Morrow J Perin
Aruna S Shinko
Munro L Stenseth
Mayumi O Figeroa
Adams R Figeroa
Arvin E Stockham
Ashley T Campain
Jeanfrancois E Amigon
Arvin O Vocelka
Chavez V Venere
Emily K Foller
Arvin M Bowley
Maisha Q Flosi
Jefferson A Paprocki
Ashley K Albares
Costa N Albares
Leon S Waycott
Kadeem N Rulapaugh
Adams A Rulapaugh
Jeanfrancois A Campain
Rodrigues F Maclead
IdCountryDate
1000Australia2024-06-13
1001Germany2024-06-01
1002Italy2024-06-03
1003Japan2024-05-25
1004India2024-06-05
1005Germany2024-06-22
1006Australia2024-06-01
1007Spain2024-05-26
1008Italy2024-06-06
1009France2024-06-11
1010India2024-05-29
1011Japan2024-06-03
1012United Kingdom2024-05-25
1013Brazil2024-06-09
1014Argentina2024-05-25
1015Japan2024-05-29
1016Japan2024-06-02
1017Argentina2024-05-30
1018India2024-06-02
1019Germany2024-05-27
1020Germany2024-06-07
1021Canada2024-06-10
1022India2024-06-03
1023Argentina2024-06-05
1024India2024-06-14
1025India2024-06-05
1026Argentina2024-06-12
1027Russia2024-06-17
1028Brazil2024-06-15
1029France2024-06-19
1030France2024-05-24
1031Japan2024-06-01
1032Russia2024-05-29
1033Italy2024-06-09
1034Brazil2024-06-02
1035Russia2024-06-16
1036India2024-06-10
1037France2024-06-03
1038Japan2024-06-13
1039United Kingdom2024-06-15
1040Spain2024-05-28
1041Argentina2024-06-17
1042Japan2024-06-18
1043Brazil2024-06-10
1044Argentina2024-06-18
1045Spain2024-06-20
1046Brazil2024-06-07
1047Australia2024-05-29
1048France2024-06-09
1049Australia2024-06-11

On-Demand Data

NameIdCountryDate
Antonio Y Kolmetz1000Italy2024-05-30
Aika L Malet1001Australia2024-06-13
James Z Slusarski1002Argentina2024-06-15
Leon J Nicka1003Germany2024-06-18
Jennifer V Doe1004Italy2024-06-10
Isabel K Kolmetz1005Germany2024-06-15
Chavez C Garufi1006Germany2024-06-10
Maisha D Paprocki1007India2024-05-27
Costa L Paprocki1008India2024-06-19
James M Albares1009France2024-06-01
Faith K Ostrosky1010Russia2024-06-20
Aruna B Flosi1011Japan2024-06-18
Ivar U Albares1012Germany2024-06-20
Murillo A Caudy1013United Kingdom2024-05-27
Chavez D Whobrey1014Germany2024-06-17
Wickens W Saylors1015Italy2024-06-02
Leon S Perin1016India2024-05-25
Mayumi O Slusarski1017Russia2024-06-11
Francesco B Wieser1018United Kingdom2024-06-21
Murillo U Perin1019United Kingdom2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody J TollnerBrazilStephen Shaw NEGOTIATION
Greenwood E OstroskySpainOnyama Limba QUALIFIED
Nicolas H ButtFranceAmy Elsner UNQUALIFIED
Tony A CaldareraSpainBernardo Dominic QUALIFIED
Leja Z StockhamGermanyIvan Magalhaes RENEWAL
Ricardo C SaylorsGermanyAsiya Javayant RENEWAL
Cody C WhobreyBrazilStephen Shaw NEGOTIATION
Antonio O SergiArgentinaAnna Fali NEGOTIATION
Leja J PerinItalyIvan Magalhaes QUALIFIED
Alejandro M WaycottBrazilOnyama Limba RENEWAL
Wickens Z FollerGermanyIoni Bowcher NEW
Costa Y MorascaBrazilAmy Elsner NEGOTIATION
Kadeem K ShinkoUnited KingdomStephen Shaw PROPOSAL
Wickens Q OstroskyGermanyAnna Fali PROPOSAL
Clifford P ShinkoArgentinaIvan Magalhaes NEW
Jefferson Q CampainIndiaIoni Bowcher PROPOSAL
Ricardo M MorascaJapanAsiya Javayant NEW
Faith Q FigeroaItalyOnyama Limba RENEWAL
Greenwood L SchemmerRussiaBernardo Dominic QUALIFIED
Munro O ButtGermanyAsiya Javayant NEW
Emily S PerinAustraliaAnna Fali PROPOSAL
David V DoeFranceElwin Sharvill NEGOTIATION
Johnson I ShinkoItalyIoni Bowcher NEW
Ashley L RoysterGermanyOnyama Limba NEGOTIATION
Cody X CampainGermanyElwin Sharvill NEGOTIATION
Juan U MarrierSpainOnyama Limba QUALIFIED
Jennifer G ButtCanadaStephen Shaw UNQUALIFIED
Rodrigues G BowleyBrazilElwin Sharvill PROPOSAL
Adams J GillianRussiaAmy Elsner PROPOSAL
Silvio J ButtJapanAsiya Javayant NEGOTIATION
Aika W RoysterAustraliaAnna Fali NEGOTIATION
Jones F GarufiJapanIoni Bowcher PROPOSAL
Cody N AmigonRussiaAnna Fali PROPOSAL
Rodrigues W FigeroaGermanyBernardo Dominic UNQUALIFIED
Aditya X MaletFranceIvan Magalhaes UNQUALIFIED
Greenwood G SaylorsGermanyAsiya Javayant RENEWAL
Arvin U WieserUnited KingdomIoni Bowcher RENEWAL
Leja L SchemmerArgentinaOnyama Limba NEGOTIATION
Adams E PoquetteIndiaAnna Fali NEW
Francesco V WaycottAustraliaAmy Elsner QUALIFIED

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