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
Kadeem K SergiRussiaOnyama Limba UNQUALIFIED
Kaitlin U RulapaughJapanAnna Fali RENEWAL
James U StockhamGermanyAmy Elsner PROPOSAL
Murillo Y CaldareraRussiaIvan Magalhaes PROPOSAL
Wickens D FigeroaUnited KingdomAsiya Javayant RENEWAL
Claire Q AmigonFranceXuxue Feng PROPOSAL
Adams I MaletGermanyAsiya Javayant UNQUALIFIED
Alejandro K KolmetzCanadaAnna Fali RENEWAL
Ivar P AmigonAustraliaXuxue Feng RENEWAL
Ivar X FollerArgentinaIoni Bowcher RENEWAL
Aditya P VenereSpainStephen Shaw NEW
Aruna V SergiSpainXuxue Feng QUALIFIED
Deepesh N MaletRussiaElwin Sharvill QUALIFIED
Aika R VenereGermanyAsiya Javayant UNQUALIFIED
Aruna C GillianIndiaStephen Shaw RENEWAL
Mayumi K AmigonCanadaIoni Bowcher RENEWAL
Jeanfrancois R IturbideCanadaBernardo Dominic NEW
Maisha X InouyeAustraliaIvan Magalhaes UNQUALIFIED
Aruna U NickaGermanyAsiya Javayant NEGOTIATION
Aruna F StensethCanadaIvan Magalhaes QUALIFIED
Mayumi S ShinkoFranceOnyama Limba NEW
Izzy N IturbideCanadaOnyama Limba NEGOTIATION
David Q NestleBrazilXuxue Feng RENEWAL
Salvatore C FigeroaItalyAnna Fali PROPOSAL
Antonio R StockhamRussiaIoni Bowcher NEW
Jennifer D StensethFranceElwin Sharvill PROPOSAL
Rodrigues U IturbideItalyAsiya Javayant NEW
Adams Z WaycottArgentinaBernardo Dominic RENEWAL
Tony Y SaylorsCanadaXuxue Feng NEGOTIATION
Emily R ChuiIndiaOnyama Limba QUALIFIED
Faith N RulapaughCanadaAmy Elsner RENEWAL
Emily C AmigonFranceAmy Elsner UNQUALIFIED
David J FigeroaIndiaOnyama Limba NEGOTIATION
Misaki G GarufiCanadaAsiya Javayant NEW
Stacey S CaudyCanadaIoni Bowcher PROPOSAL
Octavia I FerenczUnited KingdomAnna Fali PROPOSAL
David N RutaJapanElwin Sharvill NEGOTIATION
Jones V FigeroaCanadaXuxue Feng QUALIFIED
Emily M DilliardGermanyIvan Magalhaes QUALIFIED
Cody W MorascaGermanyIvan Magalhaes RENEWAL
Murillo I MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh Q FollerItalyAnna Fali NEGOTIATION
Kaitlin E KuskoRussiaStephen Shaw RENEWAL
Octavia D IturbideFranceIvan Magalhaes RENEWAL
Isabel Z GlickJapanAmy Elsner RENEWAL
Silvio J DoeIndiaXuxue Feng RENEWAL
Cody T NickaFranceAsiya Javayant NEGOTIATION
Antonio B KuskoCanadaXuxue Feng NEGOTIATION
Murillo N TollnerJapanBernardo Dominic QUALIFIED
Kaitlin E OldroydFranceIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Smith J OldroydAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois S MarrierIndiaIvan Magalhaes PROPOSAL
Izzy V BriddickArgentinaAsiya Javayant QUALIFIED
Aruna B FerenczItalyOnyama Limba RENEWAL
Ashley O SergiFranceElwin Sharvill NEW
Silvio A ButtSpainOnyama Limba PROPOSAL
Smith M NickaIndiaIvan Magalhaes UNQUALIFIED
Leon R ChuiBrazilStephen Shaw PROPOSAL
Arvin Y CampainBrazilStephen Shaw UNQUALIFIED
Smith R VenereAustraliaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna N MarrierGermany2025-06-03Feltz Printing Service QUALIFIED94Onyama Limba
1001Aika G NestleItaly2025-05-27Benton, John B Jr QUALIFIED24Xuxue Feng
1002Adams A CaudyCanada2025-05-30Rangoni Of Florence UNQUALIFIED19Bernardo Dominic
1003Maisha L SchemmerRussia2025-05-20Dorl, James J Esq NEGOTIATION23Stephen Shaw
1004Nicolas W MaletArgentina2025-06-05Feltz Printing Service NEGOTIATION18Elwin Sharvill
1005Ricardo O RulapaughJapan2025-05-18Feltz Printing Service NEW96Onyama Limba
1006Misaki T MacleadCanada2025-05-29Rangoni Of Florence NEGOTIATION59Anna Fali
1007Octavia C FigeroaGermany2025-06-04Commercial Press NEW79Anna Fali
1008Johnson P FollerBrazil2025-05-25Chanay, Jeffrey A Esq QUALIFIED96Ivan Magalhaes
1009Maisha V TollnerAustralia2025-05-28Rousseaux, Michael Esq NEW46Asiya Javayant
1010Wickens X DarakjySpain2025-06-03Chapman, Ross E Esq NEGOTIATION91Asiya Javayant
1011Adams W DilliardBrazil2025-05-29Rousseaux, Michael Esq UNQUALIFIED25Elwin Sharvill
1012Deepesh M PerinCanada2025-06-15Commercial Press RENEWAL36Asiya Javayant
1013Jones W BowleySpain2025-06-13Rousseaux, Michael Esq PROPOSAL53Onyama Limba
1014Arvin Q IturbideRussia2025-05-25King, Christopher A Esq UNQUALIFIED60Ioni Bowcher
1015Costa F ButtFrance2025-05-18Commercial Press PROPOSAL38Stephen Shaw
1016Maria A SergiFrance2025-05-27Printing Dimensions NEW67Asiya Javayant
1017David I DoeAustralia2025-06-01Rangoni Of Florence NEGOTIATION58Bernardo Dominic
1018Ivar Y InouyeAustralia2025-05-28Chemel, James L Cpa RENEWAL0Anna Fali
1019Octavia N ButtItaly2025-05-30Dorl, James J Esq NEW88Bernardo Dominic
1020Francesco L DilliardRussia2025-05-26Feltz Printing Service NEGOTIATION74Xuxue Feng
1021Ivar D DarakjySpain2025-06-05Chanay, Jeffrey A Esq UNQUALIFIED25Xuxue Feng
1022Deepesh C SaylorsSpain2025-05-29Morlong Associates UNQUALIFIED25Xuxue Feng
1023Ashley G MarrierUnited Kingdom2025-05-20Chemel, James L Cpa NEW66Stephen Shaw
1024Maisha K CampainUnited Kingdom2025-05-25Commercial Press QUALIFIED98Anna Fali
1025Aika B ShinkoRussia2025-06-12King, Christopher A Esq NEW57Onyama Limba
1026Kadeem V MaletUnited Kingdom2025-06-10Dorl, James J Esq NEW89Elwin Sharvill
1027Morrow D KolmetzSpain2025-05-20Chapman, Ross E Esq NEW62Anna Fali
1028Leon X MarrierSpain2025-05-29Truhlar And Truhlar Attys NEGOTIATION79Ioni Bowcher
1029Clifford I NickaBrazil2025-05-21Truhlar And Truhlar Attys UNQUALIFIED15Onyama Limba
1030David Z MarrierUnited Kingdom2025-05-22Chemel, James L Cpa UNQUALIFIED99Amy Elsner
1031Emily P CampainRussia2025-06-11Commercial Press PROPOSAL77Elwin Sharvill
1032Mujtaba T WhobreySpain2025-05-22Rousseaux, Michael Esq RENEWAL82Amy Elsner
1033Murillo L IturbideUnited Kingdom2025-06-11Dorl, James J Esq UNQUALIFIED47Xuxue Feng
1034Jones D OldroydItaly2025-05-21Chapman, Ross E Esq UNQUALIFIED97Ivan Magalhaes
1035Mayumi O StensethBrazil2025-06-03Chanay, Jeffrey A Esq NEW59Xuxue Feng
1036David T OldroydSpain2025-05-23Dorl, James J Esq QUALIFIED14Stephen Shaw
1037Maria F MaletJapan2025-06-03Rangoni Of Florence RENEWAL26Ivan Magalhaes
1038Faith K FigeroaGermany2025-06-04Printing Dimensions QUALIFIED19Bernardo Dominic
1039Chavez C CaldareraAustralia2025-05-22Buckley Miller Wright NEW78Xuxue Feng
1040Kaitlin O MorascaGermany2025-06-09Morlong Associates PROPOSAL57Onyama Limba
1041Morrow A CaudyCanada2025-05-20Printing Dimensions PROPOSAL83Ioni Bowcher
1042Sinclair T RutaCanada2025-05-26Buckley Miller Wright UNQUALIFIED86Bernardo Dominic
1043Munro U DarakjyAustralia2025-06-01Feiner Bros QUALIFIED89Elwin Sharvill
1044Tony T MaletRussia2025-06-02Printing Dimensions NEGOTIATION8Ioni Bowcher
1045Maisha U FerenczGermany2025-06-09King, Christopher A Esq NEW86Asiya Javayant
1046Alejandro A AlbaresIndia2025-06-05Feltz Printing Service PROPOSAL90Bernardo Dominic
1047Claire H PerinItaly2025-05-23Feltz Printing Service PROPOSAL53Xuxue Feng
1048Cody H FigeroaIndia2025-05-21King, Christopher A Esq NEGOTIATION22Asiya Javayant
1049David O SchemmerRussia2025-06-08King, Christopher A Esq NEGOTIATION61Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Stacey R VenereBrazilXuxue Feng QUALIFIED
Stacey A RimCanadaBernardo Dominic QUALIFIED
Octavia S FollerCanadaIvan Magalhaes PROPOSAL
Silvio U RimUnited KingdomXuxue Feng UNQUALIFIED
Deepesh U BologniaAustraliaAnna Fali NEGOTIATION
Tony F MaletUnited KingdomIvan Magalhaes QUALIFIED
Emily D CampainItalyIvan Magalhaes NEW
Juan H NickaSpainAmy Elsner QUALIFIED
Jeanfrancois P OldroydSpainOnyama Limba NEGOTIATION
Silvio Z GarufiArgentinaStephen Shaw NEW
Ricardo X DilliardJapanElwin Sharvill RENEWAL
Wickens K AmigonSpainAnna Fali NEGOTIATION
Clifford Y CaudyIndiaAmy Elsner NEW
Darci F AlbaresIndiaStephen Shaw NEW
Julie B ChuiIndiaAmy Elsner QUALIFIED
Juan K SlusarskiBrazilXuxue Feng PROPOSAL
Salvatore R BriddickUnited KingdomAnna Fali UNQUALIFIED
Deepesh Y WhobreyAustraliaAsiya Javayant QUALIFIED
Claire P GlickJapanAnna Fali RENEWAL
Maria R BowleyArgentinaIvan Magalhaes RENEWAL
Julie G DilliardIndiaIvan Magalhaes PROPOSAL
Alejandro T MarrierGermanyOnyama Limba QUALIFIED
Arvin B ChuiCanadaIvan Magalhaes NEGOTIATION
Sinclair D RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio Y OldroydJapanAnna Fali RENEWAL
Wickens W FigeroaAustraliaElwin Sharvill PROPOSAL
Ricardo Z PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Faith O FlosiCanadaOnyama Limba NEGOTIATION
Faith X BowleyItalyOnyama Limba UNQUALIFIED
Adams X DarakjyArgentinaAsiya Javayant UNQUALIFIED
Izzy E TollnerArgentinaAmy Elsner QUALIFIED
Cody G MaletGermanyAsiya Javayant QUALIFIED
Faith I MaletBrazilXuxue Feng RENEWAL
Ricardo W CaldareraBrazilXuxue Feng RENEWAL
Kadeem R TollnerJapanElwin Sharvill UNQUALIFIED
Jones Y FigeroaIndiaStephen Shaw PROPOSAL
Munro S CampainArgentinaOnyama Limba QUALIFIED
Chavez T SaylorsAustraliaStephen Shaw UNQUALIFIED
Salvatore Q DilliardCanadaStephen Shaw QUALIFIED
Wickens A SchemmerItalyBernardo Dominic QUALIFIED
Izzy K VocelkaJapanIvan Magalhaes RENEWAL
Julie C DoeItalyAnna Fali NEW
Ivar G MaletSpainIvan Magalhaes QUALIFIED
Juan U TollnerArgentinaOnyama Limba NEGOTIATION
Misaki V MaletRussiaAsiya Javayant PROPOSAL
Clifford V FlosiBrazilElwin Sharvill PROPOSAL
Adams L FerenczItalyIvan Magalhaes PROPOSAL
Silvio K GlickAustraliaOnyama Limba RENEWAL
Tony W TollnerAustraliaXuxue Feng UNQUALIFIED
Misaki W CampainGermanyElwin Sharvill QUALIFIED
Frozen Columns
Name
Julie Z Royster
Antonio F Campain
Smith X Kusko
Salvatore W Tollner
Adams K Glick
Kadeem E Ferencz
David K Bolognia
Murillo M Saylors
Darci N Ruta
Deepesh G Campain
Arvin K Rulapaugh
Stacey E Campain
Julie B Inouye
Antonio L Stockham
Claire I Bolognia
Kadeem M Bolognia
Murillo J Perin
Ricardo A Chui
Greenwood M Ferencz
Tony P Kusko
Salvatore R Iturbide
Misaki M Caudy
Deepesh F Gillian
Tony V Schemmer
Murillo Y Waycott
Jefferson L Venere
Deepesh W Vocelka
David U Gaucho
Murillo Q Wieser
Nicolas Y Wieser
Leja B Malet
Deepesh T Gaucho
Salvatore I Venere
Antonio H Figeroa
Sinclair F Dilliard
James E Oldroyd
Cody B Bowley
Mujtaba Q Dilliard
Darci I Royster
Jennifer G Venere
Faith E Rim
Chavez Z Malet
Salvatore B Whobrey
Ricardo Y Sergi
Costa E Waycott
Murillo O Dilliard
David Y Slusarski
Jefferson L Vocelka
James O Amigon
Cody C Ferencz
IdCountryDate
1000Argentina2025-05-28
1001Spain2025-05-22
1002Germany2025-06-05
1003United Kingdom2025-05-21
1004Canada2025-05-24
1005France2025-05-20
1006France2025-06-08
1007Brazil2025-05-29
1008Italy2025-06-01
1009Germany2025-05-31
1010Germany2025-06-13
1011Australia2025-06-09
1012United Kingdom2025-06-02
1013Canada2025-06-06
1014Germany2025-06-01
1015Spain2025-05-19
1016Canada2025-05-25
1017Brazil2025-05-30
1018Germany2025-05-31
1019Spain2025-05-18
1020France2025-06-04
1021Australia2025-06-13
1022Australia2025-06-09
1023Germany2025-06-04
1024India2025-06-08
1025France2025-05-24
1026Spain2025-05-18
1027United Kingdom2025-06-03
1028Russia2025-06-13
1029Brazil2025-05-23
1030Argentina2025-05-31
1031Argentina2025-06-10
1032Canada2025-06-15
1033Japan2025-06-04
1034Germany2025-06-09
1035Brazil2025-06-15
1036United Kingdom2025-06-13
1037France2025-06-08
1038Spain2025-05-17
1039Brazil2025-05-26
1040Canada2025-05-20
1041Russia2025-05-18
1042Spain2025-06-11
1043India2025-06-01
1044Russia2025-06-03
1045United Kingdom2025-05-21
1046Japan2025-05-21
1047Japan2025-06-02
1048Italy2025-05-24
1049Japan2025-05-21

On-Demand Data

NameIdCountryDate
Adams W Ferencz1000Brazil2025-06-12
Costa S Kolmetz1001Germany2025-06-10
Morrow K Iturbide1002Brazil2025-05-17
Kadeem L Flosi1003India2025-06-15
Ivar I Caudy1004Argentina2025-06-13
Morrow W Bowley1005Brazil2025-05-30
Octavia K Saylors1006Canada2025-06-06
Emily N Darakjy1007Italy2025-06-04
Kadeem W Wieser1008United Kingdom2025-06-06
Faith R Darakjy1009France2025-06-11
Stacey H Briddick1010Brazil2025-06-06
Kaitlin M Rulapaugh1011Spain2025-05-17
Francesco U Whobrey1012Brazil2025-05-29
Morrow V Bolognia1013France2025-05-29
Antonio V Oldroyd1014Australia2025-06-13
Mayumi J Flosi1015Canada2025-06-12
Jennifer U Doe1016France2025-05-24
Jefferson D Darakjy1017Brazil2025-05-20
Mayumi M Morasca1018Spain2025-05-27
Salvatore E Ruta1019Italy2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem V WieserSpainElwin Sharvill RENEWAL
Mayumi O StensethIndiaAnna Fali NEGOTIATION
Mayumi K InouyeAustraliaElwin Sharvill PROPOSAL
Tony Y MorascaSpainAsiya Javayant RENEWAL
Misaki Y OstroskyCanadaIvan Magalhaes UNQUALIFIED
Emily A WaycottItalyIoni Bowcher UNQUALIFIED
Misaki R VenereSpainStephen Shaw QUALIFIED
Johnson Q OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Greenwood H CaudyCanadaOnyama Limba NEW
Maria V MaletArgentinaIoni Bowcher NEGOTIATION
Mayumi M RutaGermanyAsiya Javayant QUALIFIED
Costa R KolmetzFranceIvan Magalhaes PROPOSAL
Greenwood N InouyeCanadaIvan Magalhaes NEW
Rodrigues I MarrierGermanyBernardo Dominic UNQUALIFIED
Munro D MorascaIndiaStephen Shaw PROPOSAL
Arvin M WaycottIndiaAmy Elsner NEGOTIATION
Leon O NickaRussiaIvan Magalhaes NEGOTIATION
Faith X BologniaItalyBernardo Dominic NEGOTIATION
Munro W CaldareraAustraliaOnyama Limba NEW
Aruna W OldroydGermanyBernardo Dominic QUALIFIED
Morrow S TollnerGermanyStephen Shaw NEGOTIATION
Francesco G CaudyRussiaStephen Shaw NEW
David Y OstroskyIndiaAsiya Javayant RENEWAL
Francesco G RulapaughGermanyAsiya Javayant PROPOSAL
David Q RulapaughJapanAnna Fali QUALIFIED
Mayumi Z SergiAustraliaBernardo Dominic UNQUALIFIED
Ricardo V ButtSpainBernardo Dominic PROPOSAL
Mujtaba S StensethCanadaAnna Fali QUALIFIED
Munro O RimCanadaAsiya Javayant NEW
Deepesh Z AmigonSpainOnyama Limba RENEWAL
Izzy W WaycottUnited KingdomIoni Bowcher RENEWAL
Mujtaba G DilliardFranceAsiya Javayant UNQUALIFIED
Silvio P KuskoGermanyElwin Sharvill PROPOSAL
Chavez M FerenczSpainAsiya Javayant QUALIFIED
Maria X CampainRussiaOnyama Limba RENEWAL
Izzy B MaletIndiaStephen Shaw QUALIFIED
Jones V NickaFranceAmy Elsner NEGOTIATION
Smith T OstroskySpainIvan Magalhaes QUALIFIED
Emily C SlusarskiGermanyOnyama Limba PROPOSAL
Mujtaba O ChuiBrazilAsiya Javayant UNQUALIFIED

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