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
David V ChuiFranceAsiya Javayant PROPOSAL
Rodrigues Z KolmetzAustraliaXuxue Feng RENEWAL
Greenwood V AlbaresBrazilStephen Shaw RENEWAL
Sinclair S RulapaughBrazilIoni Bowcher QUALIFIED
Jennifer O MacleadGermanyIoni Bowcher UNQUALIFIED
Darci O PoquetteRussiaAsiya Javayant RENEWAL
Tony V MacleadCanadaStephen Shaw NEGOTIATION
Antonio C BriddickSpainAmy Elsner QUALIFIED
Johnson L DarakjyJapanOnyama Limba NEGOTIATION
Morrow F WaycottIndiaOnyama Limba QUALIFIED
Antonio R NickaRussiaAmy Elsner UNQUALIFIED
Isabel T RulapaughSpainXuxue Feng NEW
Aditya P AlbaresBrazilIvan Magalhaes NEW
Aika H VenereGermanyElwin Sharvill NEGOTIATION
Morrow M RulapaughGermanyAsiya Javayant QUALIFIED
Chavez Q GauchoArgentinaAmy Elsner UNQUALIFIED
Ricardo S FlosiJapanAsiya Javayant QUALIFIED
James S BologniaRussiaAmy Elsner RENEWAL
Leja A MorascaCanadaStephen Shaw UNQUALIFIED
Juan X BologniaBrazilBernardo Dominic QUALIFIED
Wickens X GlickJapanAsiya Javayant PROPOSAL
Clifford C SchemmerFranceAsiya Javayant QUALIFIED
Smith H PaprockiBrazilAmy Elsner QUALIFIED
Adams N MaletRussiaAsiya Javayant UNQUALIFIED
Rodrigues T RoysterSpainAmy Elsner NEW
Ricardo Y SaylorsItalyStephen Shaw RENEWAL
Clifford M SaylorsRussiaAnna Fali RENEWAL
Isabel J MacleadCanadaXuxue Feng UNQUALIFIED
Faith W KuskoRussiaBernardo Dominic NEGOTIATION
Jennifer M DarakjyItalyIoni Bowcher RENEWAL
Deepesh F WieserJapanXuxue Feng PROPOSAL
Stacey T BowleyItalyBernardo Dominic PROPOSAL
Deepesh H PerinCanadaOnyama Limba PROPOSAL
Clifford I VocelkaSpainIoni Bowcher UNQUALIFIED
Murillo U MacleadFranceElwin Sharvill NEW
Izzy R StensethUnited KingdomStephen Shaw RENEWAL
Kaitlin S ButtSpainStephen Shaw RENEWAL
Clifford B SlusarskiJapanElwin Sharvill QUALIFIED
Sinclair G KuskoCanadaAnna Fali PROPOSAL
Francesco E PerinGermanyAnna Fali QUALIFIED
Francesco M MorascaSpainXuxue Feng QUALIFIED
Francesco Z InouyeSpainIvan Magalhaes NEW
David X SaylorsItalyIoni Bowcher PROPOSAL
David C AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Ivar B PaprockiFranceStephen Shaw PROPOSAL
Leon V SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois K TollnerItalyAsiya Javayant NEGOTIATION
Antonio A StockhamArgentinaStephen Shaw RENEWAL
Arvin N RimBrazilAsiya Javayant NEGOTIATION
Clifford Z GillianJapanAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba J ChuiFranceAsiya Javayant PROPOSAL
Stacey L GauchoItalyIvan Magalhaes RENEWAL
Darci S OstroskyRussiaAsiya Javayant NEGOTIATION
Leja X RoysterRussiaBernardo Dominic UNQUALIFIED
Claire A RutaItalyAsiya Javayant NEGOTIATION
Ricardo O WieserFranceAmy Elsner UNQUALIFIED
Octavia T AmigonJapanAsiya Javayant NEW
Mujtaba D MarrierFranceAmy Elsner UNQUALIFIED
Chavez X RutaBrazilAsiya Javayant NEW
Jones X StensethRussiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo B StockhamArgentina2024-06-16King, Christopher A Esq UNQUALIFIED49Ioni Bowcher
1001Claire Z CaudyAustralia2024-05-27Buckley Miller Wright NEW82Amy Elsner
1002Ivar W KuskoArgentina2024-05-31Buckley Miller Wright RENEWAL56Amy Elsner
1003Francesco R CampainSpain2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED76Ioni Bowcher
1004Maria N StensethSpain2024-05-27Feltz Printing Service NEW42Ioni Bowcher
1005Deepesh X NickaJapan2024-05-27Feiner Bros RENEWAL18Stephen Shaw
1006Alejandro N MaletFrance2024-05-24Chemel, James L Cpa QUALIFIED46Stephen Shaw
1007Aditya P MaletUnited Kingdom2024-06-22Chemel, James L Cpa PROPOSAL30Xuxue Feng
1008Tony A OstroskyGermany2024-06-07Truhlar And Truhlar Attys NEW75Bernardo Dominic
1009Ivar W SaylorsJapan2024-06-14Chanay, Jeffrey A Esq NEW44Bernardo Dominic
1010Maria A RimCanada2024-06-14Chemel, James L Cpa RENEWAL55Anna Fali
1011Costa T BowleyRussia2024-06-22Morlong Associates NEGOTIATION77Amy Elsner
1012Emily Y ChuiArgentina2024-06-21Chapman, Ross E Esq UNQUALIFIED53Amy Elsner
1013Rodrigues B KolmetzJapan2024-06-22Benton, John B Jr QUALIFIED59Asiya Javayant
1014Wickens I NestleSpain2024-06-21Chapman, Ross E Esq UNQUALIFIED27Xuxue Feng
1015Ricardo L DoeBrazil2024-06-13Feltz Printing Service PROPOSAL12Ivan Magalhaes
1016Nicolas S MacleadFrance2024-06-22Rangoni Of Florence QUALIFIED28Onyama Limba
1017Maria Q DoeItaly2024-05-30Rousseaux, Michael Esq PROPOSAL13Elwin Sharvill
1018Clifford J CaudySpain2024-06-03Rousseaux, Michael Esq RENEWAL56Asiya Javayant
1019Ricardo P GauchoGermany2024-06-04Feiner Bros QUALIFIED29Amy Elsner
1020Jefferson Z KolmetzBrazil2024-06-19Chemel, James L Cpa UNQUALIFIED27Asiya Javayant
1021Clifford V CaldareraArgentina2024-05-31Rousseaux, Michael Esq NEW33Ivan Magalhaes
1022Cody X RoysterAustralia2024-06-12Buckley Miller Wright NEW40Ioni Bowcher
1023Francesco W NickaCanada2024-05-27Morlong Associates PROPOSAL14Elwin Sharvill
1024Misaki E StensethItaly2024-05-24Chapman, Ross E Esq RENEWAL12Stephen Shaw
1025Emily X KuskoIndia2024-05-28Truhlar And Truhlar Attys UNQUALIFIED3Ioni Bowcher
1026Sinclair B GauchoIndia2024-06-20Dorl, James J Esq RENEWAL99Elwin Sharvill
1027Julie T KolmetzBrazil2024-05-24Feltz Printing Service RENEWAL30Amy Elsner
1028Mayumi U FollerItaly2024-06-13Feiner Bros NEGOTIATION39Elwin Sharvill
1029Costa E VocelkaBrazil2024-06-19Dorl, James J Esq UNQUALIFIED12Asiya Javayant
1030Nicolas Z SlusarskiFrance2024-06-03Morlong Associates UNQUALIFIED33Asiya Javayant
1031Aditya F SchemmerArgentina2024-06-10Commercial Press UNQUALIFIED97Ioni Bowcher
1032Juan R AlbaresIndia2024-06-05Truhlar And Truhlar Attys NEW71Anna Fali
1033Antonio Y StensethArgentina2024-06-17Chapman, Ross E Esq PROPOSAL32Bernardo Dominic
1034Mayumi B FerenczFrance2024-06-02Chemel, James L Cpa RENEWAL41Elwin Sharvill
1035Alejandro Y TollnerRussia2024-06-14Chapman, Ross E Esq UNQUALIFIED60Anna Fali
1036Morrow C MorascaIndia2024-06-15Feiner Bros NEW15Xuxue Feng
1037Jeanfrancois U WaycottAustralia2024-06-16Dorl, James J Esq NEW14Anna Fali
1038Johnson H BologniaArgentina2024-05-29Chemel, James L Cpa RENEWAL64Onyama Limba
1039Stacey K DilliardUnited Kingdom2024-06-12King, Christopher A Esq QUALIFIED88Elwin Sharvill
1040Silvio Q MaletAustralia2024-06-08Printing Dimensions UNQUALIFIED46Ivan Magalhaes
1041Julie I RulapaughUnited Kingdom2024-06-09Buckley Miller Wright PROPOSAL22Amy Elsner
1042Ricardo N CaldareraFrance2024-06-03Dorl, James J Esq QUALIFIED42Stephen Shaw
1043Johnson O StockhamFrance2024-05-24Printing Dimensions NEGOTIATION89Onyama Limba
1044Arvin R MorascaBrazil2024-06-11Morlong Associates NEW23Onyama Limba
1045Juan N IturbideJapan2024-06-10Rousseaux, Michael Esq PROPOSAL61Anna Fali
1046Jeanfrancois X PoquetteSpain2024-06-08King, Christopher A Esq RENEWAL74Bernardo Dominic
1047Clifford I GauchoGermany2024-06-18Buckley Miller Wright RENEWAL88Bernardo Dominic
1048Clifford A BriddickIndia2024-06-06Buckley Miller Wright RENEWAL64Asiya Javayant
1049Clifford R SaylorsFrance2024-05-24Feiner Bros PROPOSAL64Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika T VocelkaAustraliaIoni Bowcher PROPOSAL
Aika S TollnerSpainAmy Elsner PROPOSAL
Smith O ButtUnited KingdomXuxue Feng NEW
Munro D AlbaresCanadaAsiya Javayant NEGOTIATION
Misaki F CaudyRussiaIvan Magalhaes NEGOTIATION
Sinclair M BriddickGermanyOnyama Limba PROPOSAL
Julie F GarufiBrazilAmy Elsner QUALIFIED
Leja C FollerBrazilIoni Bowcher UNQUALIFIED
Misaki G PoquetteCanadaElwin Sharvill PROPOSAL
Faith Y KolmetzFranceBernardo Dominic PROPOSAL
Antonio I IturbideCanadaBernardo Dominic RENEWAL
Jefferson V MaletJapanIvan Magalhaes RENEWAL
Jeanfrancois D ButtIndiaBernardo Dominic RENEWAL
Faith E GarufiRussiaXuxue Feng NEGOTIATION
Ashley L KuskoFranceAmy Elsner QUALIFIED
Julie S NestleCanadaAnna Fali NEW
Aika S SaylorsGermanyIoni Bowcher UNQUALIFIED
Kadeem S IturbideGermanyOnyama Limba QUALIFIED
Juan L PaprockiArgentinaAnna Fali PROPOSAL
Ashley B GillianAustraliaAmy Elsner UNQUALIFIED
Kadeem G ShinkoAustraliaStephen Shaw UNQUALIFIED
Antonio N GarufiSpainXuxue Feng QUALIFIED
Kadeem Q RimJapanIvan Magalhaes UNQUALIFIED
Emily Z RulapaughUnited KingdomIoni Bowcher RENEWAL
Maisha C DoeItalyAsiya Javayant NEW
Johnson I BowleyAustraliaAnna Fali QUALIFIED
Jefferson R SlusarskiArgentinaElwin Sharvill UNQUALIFIED
Wickens C AmigonGermanyAnna Fali RENEWAL
Francesco Z PaprockiArgentinaStephen Shaw RENEWAL
Ashley J MorascaCanadaElwin Sharvill NEGOTIATION
Claire X MarrierFranceOnyama Limba RENEWAL
Kadeem A WhobreyGermanyXuxue Feng NEW
Jones U InouyeCanadaElwin Sharvill PROPOSAL
Antonio C KolmetzUnited KingdomBernardo Dominic UNQUALIFIED
Isabel Y TollnerItalyOnyama Limba UNQUALIFIED
Darci K BologniaJapanStephen Shaw PROPOSAL
Clifford X NestleAustraliaIvan Magalhaes QUALIFIED
Misaki Z TollnerGermanyIoni Bowcher QUALIFIED
Clifford Z InouyeRussiaBernardo Dominic RENEWAL
Julie V FlosiIndiaAnna Fali NEGOTIATION
Francesco Q MaletUnited KingdomIoni Bowcher QUALIFIED
Octavia T AmigonSpainAmy Elsner NEW
Maisha O SaylorsBrazilStephen Shaw UNQUALIFIED
Kadeem O MorascaRussiaElwin Sharvill NEGOTIATION
Izzy C IturbideJapanIoni Bowcher NEGOTIATION
Faith Z InouyeFranceBernardo Dominic NEGOTIATION
Silvio O DarakjyAustraliaAmy Elsner NEW
Jennifer L VocelkaGermanyOnyama Limba NEW
Ashley J SlusarskiItalyElwin Sharvill PROPOSAL
Arvin T RoysterSpainIoni Bowcher NEW
Frozen Columns
Name
Alejandro Z Whobrey
Antonio P Stenseth
Octavia Q Figeroa
James F Vocelka
Chavez G Glick
Nicolas W Ferencz
Johnson K Poquette
Misaki A Perin
Octavia V Flosi
Murillo H Nicka
James M Marrier
Salvatore O Slusarski
Wickens I Malet
Arvin F Ostrosky
Faith T Stenseth
Faith H Bolognia
Emily V Stenseth
Kadeem O Gaucho
Tony G Malet
Ricardo X Stockham
Ricardo U Vocelka
Faith S Foller
Clifford X Malet
Kaitlin O Campain
Aruna N Gaucho
Jeanfrancois S Doe
Izzy N Tollner
Maria J Figeroa
Kaitlin S Caudy
Aruna D Bolognia
Smith Q Malet
David T Inouye
Jones L Caldarera
Kadeem E Paprocki
Isabel N Caudy
Juan U Saylors
Mayumi J Gaucho
Mayumi S Gaucho
Chavez W Stockham
Stacey L Poquette
Adams K Garufi
Mujtaba N Malet
David P Dilliard
Maria G Dilliard
Arvin P Caldarera
Munro Z Saylors
Emily R Tollner
Cody H Gaucho
Kaitlin W Chui
Emily F Malet
IdCountryDate
1000United Kingdom2024-06-01
1001Russia2024-06-18
1002Australia2024-06-09
1003Germany2024-05-28
1004United Kingdom2024-06-05
1005Canada2024-05-30
1006India2024-06-04
1007India2024-05-26
1008Australia2024-06-10
1009Canada2024-05-25
1010Brazil2024-06-16
1011Spain2024-05-27
1012Canada2024-05-28
1013Spain2024-06-09
1014Japan2024-06-22
1015Canada2024-05-30
1016Spain2024-06-10
1017Brazil2024-06-04
1018France2024-06-17
1019India2024-06-19
1020Russia2024-06-06
1021Australia2024-06-12
1022Germany2024-06-05
1023Japan2024-06-22
1024Australia2024-06-20
1025Brazil2024-05-30
1026France2024-06-05
1027Spain2024-06-16
1028Russia2024-05-28
1029Russia2024-06-02
1030Spain2024-06-02
1031France2024-06-08
1032Australia2024-06-22
1033Russia2024-05-27
1034Spain2024-06-14
1035Brazil2024-06-22
1036Spain2024-06-19
1037Spain2024-05-31
1038Germany2024-06-09
1039Australia2024-06-01
1040Germany2024-06-01
1041Japan2024-06-18
1042Germany2024-06-22
1043Spain2024-06-03
1044Germany2024-06-03
1045Australia2024-06-15
1046Spain2024-06-10
1047France2024-05-28
1048Germany2024-05-24
1049Australia2024-06-20

On-Demand Data

NameIdCountryDate
Cody O Ostrosky1000Spain2024-05-26
Maisha L Campain1001India2024-06-21
Aika D Rim1002Argentina2024-06-17
Morrow O Marrier1003Germany2024-05-31
Wickens T Dilliard1004Japan2024-05-28
Maria N Albares1005France2024-06-09
Deepesh I Whobrey1006Italy2024-06-03
Deepesh T Poquette1007Russia2024-06-01
Maisha Q Caldarera1008Brazil2024-06-14
Alejandro U Campain1009United Kingdom2024-06-21
Ricardo L Gaucho1010Germany2024-05-28
Isabel S Amigon1011Italy2024-06-19
Jennifer E Vocelka1012Germany2024-05-27
Tony T Nestle1013France2024-06-02
Arvin Y Vocelka1014France2024-06-20
Francesco G Nestle1015Japan2024-06-13
Jeanfrancois H Ferencz1016Japan2024-05-28
Ivar N Glick1017Russia2024-06-10
Claire W Rulapaugh1018Germany2024-06-19
Stacey T Nestle1019Russia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya K BologniaIndiaStephen Shaw RENEWAL
Maria A FollerItalyElwin Sharvill NEW
Jones U RulapaughGermanyBernardo Dominic PROPOSAL
Tony F MarrierUnited KingdomStephen Shaw UNQUALIFIED
Jennifer X DoeAustraliaOnyama Limba NEW
Jennifer J BologniaAustraliaAsiya Javayant NEW
Faith U MaletSpainBernardo Dominic RENEWAL
Izzy I VocelkaGermanyXuxue Feng NEGOTIATION
Murillo Q ShinkoArgentinaElwin Sharvill NEW
Darci V WaycottSpainBernardo Dominic QUALIFIED
Francesco Z FollerItalyAmy Elsner UNQUALIFIED
Leja W GarufiFranceIoni Bowcher PROPOSAL
Darci I CampainIndiaAmy Elsner UNQUALIFIED
Aditya C BriddickBrazilAmy Elsner NEW
Misaki M RulapaughArgentinaElwin Sharvill NEW
Costa B BriddickRussiaOnyama Limba PROPOSAL
Aditya Z MaletFranceBernardo Dominic NEW
Faith G WieserRussiaOnyama Limba NEGOTIATION
Aditya Y PaprockiCanadaIvan Magalhaes UNQUALIFIED
Mujtaba E BologniaGermanyStephen Shaw QUALIFIED
Salvatore I SchemmerArgentinaAmy Elsner RENEWAL
Mayumi X IturbideSpainXuxue Feng PROPOSAL
Ricardo C DoeCanadaAnna Fali NEW
Cody H MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Arvin P GlickArgentinaStephen Shaw NEW
Leon S DarakjyGermanyOnyama Limba UNQUALIFIED
Wickens X SaylorsJapanAnna Fali UNQUALIFIED
Jefferson P GlickFranceAnna Fali NEGOTIATION
Emily H KolmetzAustraliaOnyama Limba PROPOSAL
Isabel U ButtCanadaBernardo Dominic RENEWAL
Arvin P RoysterArgentinaAmy Elsner UNQUALIFIED
Isabel S BologniaFranceIoni Bowcher UNQUALIFIED
Cody C MorascaUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba D DilliardFranceOnyama Limba NEGOTIATION
Jeanfrancois Y MorascaIndiaElwin Sharvill NEW
Francesco X GauchoFranceAnna Fali UNQUALIFIED
Julie G DoeIndiaOnyama Limba QUALIFIED
Nicolas Y VocelkaIndiaIoni Bowcher QUALIFIED
Stacey Q PoquetteSpainAnna Fali QUALIFIED
Morrow U OstroskyBrazilIoni Bowcher 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>