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
Kaitlin M SaylorsUnited KingdomIvan Magalhaes RENEWAL
Faith E RutaFranceIvan Magalhaes NEGOTIATION
Isabel P NickaGermanyBernardo Dominic PROPOSAL
Deepesh R FlosiCanadaIvan Magalhaes NEW
Julie S AlbaresArgentinaXuxue Feng PROPOSAL
Stacey J CaldareraSpainAnna Fali NEGOTIATION
Murillo D MaletFranceStephen Shaw PROPOSAL
Misaki C DoeGermanyBernardo Dominic UNQUALIFIED
Juan U RutaJapanXuxue Feng NEGOTIATION
Ricardo R WaycottIndiaAnna Fali PROPOSAL
Isabel K VocelkaIndiaAnna Fali PROPOSAL
Jones I GauchoRussiaAmy Elsner NEGOTIATION
Greenwood R RutaAustraliaIoni Bowcher RENEWAL
Arvin O SlusarskiRussiaIvan Magalhaes NEGOTIATION
Salvatore P RoysterGermanyAsiya Javayant QUALIFIED
Maria W WhobreyRussiaIoni Bowcher NEGOTIATION
Arvin N SchemmerUnited KingdomStephen Shaw RENEWAL
Smith Y DoeIndiaIoni Bowcher NEGOTIATION
Greenwood P ChuiGermanyOnyama Limba NEGOTIATION
Nicolas H VenereGermanyIoni Bowcher NEGOTIATION
Jeanfrancois L CaldareraSpainStephen Shaw NEGOTIATION
Jeanfrancois F DarakjyUnited KingdomXuxue Feng QUALIFIED
Kaitlin K PerinSpainIvan Magalhaes UNQUALIFIED
Octavia T RulapaughSpainAmy Elsner UNQUALIFIED
Emily R VenereArgentinaIvan Magalhaes RENEWAL
Tony I GlickFranceElwin Sharvill NEGOTIATION
Juan R DilliardGermanyBernardo Dominic NEGOTIATION
Arvin G MorascaRussiaIoni Bowcher NEW
Ricardo U SergiItalyAnna Fali UNQUALIFIED
Ashley Z DoeBrazilIvan Magalhaes UNQUALIFIED
Kaitlin J GarufiCanadaAmy Elsner NEGOTIATION
Jennifer X SchemmerJapanAsiya Javayant UNQUALIFIED
Deepesh N CaudyItalyAsiya Javayant QUALIFIED
Aditya V ShinkoUnited KingdomBernardo Dominic QUALIFIED
Smith L GlickCanadaOnyama Limba NEGOTIATION
Mujtaba B StensethBrazilBernardo Dominic QUALIFIED
Maisha C OldroydIndiaStephen Shaw UNQUALIFIED
Jeanfrancois B TollnerAustraliaXuxue Feng UNQUALIFIED
Wickens U SlusarskiIndiaXuxue Feng RENEWAL
Antonio I FlosiIndiaBernardo Dominic PROPOSAL
Morrow U BowleyBrazilXuxue Feng NEGOTIATION
Jones G MarrierIndiaBernardo Dominic UNQUALIFIED
Johnson N SergiItalyIoni Bowcher RENEWAL
Isabel I CaudyGermanyBernardo Dominic PROPOSAL
Antonio V RutaItalyBernardo Dominic NEW
Murillo Q WhobreyRussiaAmy Elsner NEGOTIATION
Julie K MaletArgentinaXuxue Feng NEW
Nicolas T BriddickArgentinaOnyama Limba PROPOSAL
Munro H GauchoCanadaXuxue Feng QUALIFIED
Ashley X FollerItalyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas B ChuiIndiaIoni Bowcher UNQUALIFIED
Jefferson M BriddickItalyXuxue Feng QUALIFIED
Silvio A MorascaIndiaStephen Shaw QUALIFIED
David Q AlbaresCanadaIoni Bowcher RENEWAL
Murillo D TollnerItalyIvan Magalhaes NEW
Faith V WhobreySpainElwin Sharvill QUALIFIED
Isabel N DilliardBrazilAmy Elsner RENEWAL
Mayumi S StockhamAustraliaBernardo Dominic PROPOSAL
Mujtaba U KolmetzGermanyOnyama Limba PROPOSAL
Kadeem W SchemmerArgentinaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo V RimArgentina2024-06-04Truhlar And Truhlar Attys NEGOTIATION62Elwin Sharvill
1001Izzy U GauchoJapan2024-06-02Printing Dimensions NEW86Ioni Bowcher
1002Adams N IturbideRussia2024-06-10Truhlar And Truhlar Attys PROPOSAL75Xuxue Feng
1003Ivar A BologniaGermany2024-05-25Morlong Associates PROPOSAL64Onyama Limba
1004Jones X DoeAustralia2024-05-30Buckley Miller Wright UNQUALIFIED27Stephen Shaw
1005Stacey P MaletItaly2024-06-06King, Christopher A Esq QUALIFIED59Stephen Shaw
1006Aika W DilliardJapan2024-06-09Chapman, Ross E Esq QUALIFIED96Onyama Limba
1007Ivar X CaudyUnited Kingdom2024-06-11Chanay, Jeffrey A Esq NEGOTIATION39Elwin Sharvill
1008Maisha T OldroydBrazil2024-05-30Chanay, Jeffrey A Esq QUALIFIED53Stephen Shaw
1009Sinclair Q SlusarskiCanada2024-05-28Morlong Associates PROPOSAL11Anna Fali
1010Murillo G CampainBrazil2024-05-18Rangoni Of Florence PROPOSAL49Asiya Javayant
1011Ashley O DilliardUnited Kingdom2024-05-20Feiner Bros NEW72Anna Fali
1012Claire F MaletItaly2024-06-06King, Christopher A Esq UNQUALIFIED10Xuxue Feng
1013Costa A FollerArgentina2024-05-23Benton, John B Jr UNQUALIFIED46Xuxue Feng
1014Johnson C SergiRussia2024-05-27Morlong Associates UNQUALIFIED60Elwin Sharvill
1015Wickens L IturbideSpain2024-05-23Feiner Bros NEW50Elwin Sharvill
1016David G PaprockiArgentina2024-05-28Rousseaux, Michael Esq PROPOSAL72Xuxue Feng
1017Jeanfrancois V MarrierIndia2024-05-19Rousseaux, Michael Esq NEGOTIATION60Bernardo Dominic
1018Costa M CaldareraSpain2024-05-30Dorl, James J Esq UNQUALIFIED54Xuxue Feng
1019Mujtaba N KuskoItaly2024-06-02Feltz Printing Service QUALIFIED2Ioni Bowcher
1020Octavia P RimSpain2024-05-21Rangoni Of Florence NEW13Ioni Bowcher
1021Octavia F GillianIndia2024-06-12Dorl, James J Esq NEW37Anna Fali
1022Aika H AmigonJapan2024-06-07Morlong Associates QUALIFIED3Asiya Javayant
1023Kaitlin K DarakjySpain2024-06-12Commercial Press NEGOTIATION92Onyama Limba
1024Ricardo V WieserGermany2024-06-06King, Christopher A Esq RENEWAL58Amy Elsner
1025Maisha F CampainFrance2024-05-21Buckley Miller Wright NEGOTIATION86Xuxue Feng
1026Murillo V StockhamGermany2024-06-03Feltz Printing Service PROPOSAL63Bernardo Dominic
1027Murillo B DilliardCanada2024-06-06King, Christopher A Esq PROPOSAL67Onyama Limba
1028Tony Q FollerItaly2024-06-10King, Christopher A Esq RENEWAL19Stephen Shaw
1029Ivar H PerinRussia2024-05-28Dorl, James J Esq UNQUALIFIED79Ioni Bowcher
1030Darci D MaletBrazil2024-05-29Feiner Bros NEW80Amy Elsner
1031David K MacleadCanada2024-05-25Feltz Printing Service RENEWAL12Amy Elsner
1032Rodrigues Y DarakjySpain2024-06-07Chanay, Jeffrey A Esq PROPOSAL1Amy Elsner
1033Ricardo J KolmetzUnited Kingdom2024-06-09Rangoni Of Florence NEW51Asiya Javayant
1034Murillo M FerenczRussia2024-06-01Dorl, James J Esq PROPOSAL87Anna Fali
1035Octavia W DoeItaly2024-05-18Printing Dimensions NEW2Stephen Shaw
1036Arvin B PerinCanada2024-06-14Chemel, James L Cpa UNQUALIFIED79Xuxue Feng
1037Ricardo R NestleGermany2024-06-02Dorl, James J Esq RENEWAL21Ivan Magalhaes
1038Morrow J ChuiUnited Kingdom2024-05-20Buckley Miller Wright NEGOTIATION41Stephen Shaw
1039Ivar K VenereSpain2024-06-14Rangoni Of Florence PROPOSAL39Asiya Javayant
1040Wickens X GauchoCanada2024-05-25Benton, John B Jr UNQUALIFIED2Stephen Shaw
1041Misaki V DarakjyUnited Kingdom2024-06-07Feiner Bros PROPOSAL99Asiya Javayant
1042Stacey V DilliardFrance2024-05-16Rousseaux, Michael Esq RENEWAL62Anna Fali
1043Claire I BriddickRussia2024-05-30Morlong Associates NEGOTIATION55Xuxue Feng
1044Kadeem F RoysterGermany2024-06-07Chanay, Jeffrey A Esq RENEWAL28Onyama Limba
1045Isabel Y GarufiGermany2024-05-26Chapman, Ross E Esq NEGOTIATION73Ioni Bowcher
1046Claire P FigeroaGermany2024-06-04Dorl, James J Esq PROPOSAL16Anna Fali
1047Nicolas A GillianGermany2024-05-26Commercial Press PROPOSAL13Ioni Bowcher
1048Greenwood U WaycottUnited Kingdom2024-05-18Feltz Printing Service PROPOSAL48Stephen Shaw
1049David X PaprockiFrance2024-06-03Chapman, Ross E Esq NEGOTIATION22Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Clifford W SlusarskiFranceStephen Shaw QUALIFIED
Stacey V FerenczJapanStephen Shaw PROPOSAL
Adams B GlickAustraliaXuxue Feng PROPOSAL
Faith H ShinkoJapanStephen Shaw RENEWAL
Aditya R FlosiGermanyElwin Sharvill NEW
Isabel P PoquetteIndiaXuxue Feng UNQUALIFIED
Costa Y TollnerJapanIoni Bowcher NEGOTIATION
Cody X VocelkaSpainBernardo Dominic NEW
Izzy X SaylorsCanadaElwin Sharvill RENEWAL
Kaitlin H MarrierItalyAsiya Javayant PROPOSAL
Salvatore M BologniaItalyXuxue Feng RENEWAL
Salvatore E SchemmerAustraliaBernardo Dominic NEW
Darci D SaylorsSpainAnna Fali UNQUALIFIED
Darci D DoeUnited KingdomBernardo Dominic UNQUALIFIED
Johnson O GauchoRussiaIvan Magalhaes UNQUALIFIED
Alejandro E FlosiAustraliaBernardo Dominic NEGOTIATION
Aika H IturbideUnited KingdomXuxue Feng RENEWAL
Nicolas O MacleadRussiaStephen Shaw RENEWAL
Murillo G MaletFranceAmy Elsner NEGOTIATION
Emily U StockhamIndiaAmy Elsner UNQUALIFIED
Stacey T CampainBrazilXuxue Feng PROPOSAL
Kaitlin L IturbideSpainAnna Fali NEGOTIATION
Aruna O DoeBrazilIoni Bowcher RENEWAL
Faith Q AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin Y ShinkoItalyBernardo Dominic RENEWAL
James T GauchoRussiaIvan Magalhaes PROPOSAL
Cody E StensethUnited KingdomStephen Shaw PROPOSAL
Leon E MacleadRussiaAsiya Javayant NEGOTIATION
Ricardo O MaletArgentinaStephen Shaw RENEWAL
Isabel C RulapaughGermanyAsiya Javayant NEW
Murillo M ButtCanadaAnna Fali PROPOSAL
Murillo A CaudyItalyElwin Sharvill NEW
Juan M BologniaArgentinaIvan Magalhaes UNQUALIFIED
Aika F OstroskyJapanStephen Shaw QUALIFIED
Murillo L WaycottSpainIvan Magalhaes PROPOSAL
Arvin X WhobreyUnited KingdomElwin Sharvill NEW
David A CampainGermanyElwin Sharvill RENEWAL
Jones N RulapaughGermanyAmy Elsner NEW
Maisha V CaudyBrazilStephen Shaw NEW
Deepesh Z VenereCanadaXuxue Feng QUALIFIED
Nicolas W VocelkaItalyIvan Magalhaes UNQUALIFIED
Ricardo B FigeroaIndiaStephen Shaw RENEWAL
Faith J StensethIndiaOnyama Limba NEGOTIATION
Jefferson S DilliardBrazilStephen Shaw NEGOTIATION
Maria Y SlusarskiGermanyOnyama Limba QUALIFIED
Jones E CaldareraItalyBernardo Dominic NEW
Julie D FerenczFranceIoni Bowcher QUALIFIED
Adams U WaycottBrazilAsiya Javayant RENEWAL
Julie K ShinkoRussiaStephen Shaw NEGOTIATION
Aruna H MacleadIndiaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Stacey U Malet
Maisha N Garufi
Smith Y Schemmer
Leja P Darakjy
Mayumi I Paprocki
Emily W Butt
Leon B Nestle
Ashley G Rim
Kaitlin O Wieser
Leon S Morasca
Tony Q Doe
Faith R Bolognia
Misaki O Malet
Claire F Chui
Jones N Kusko
Darci T Ruta
Octavia E Tollner
Salvatore P Slusarski
Ricardo J Caudy
Nicolas K Wieser
Jennifer D Tollner
Morrow K Caudy
Silvio U Royster
Cody Z Flosi
Alejandro I Glick
Leon M Rim
Cody N Bolognia
Chavez N Inouye
Smith R Briddick
Rodrigues W Marrier
Jennifer U Waycott
Munro C Ruta
Misaki K Darakjy
Antonio J Stockham
Salvatore O Darakjy
Ashley Q Malet
Juan T Nestle
Morrow G Whobrey
Deepesh Y Royster
Munro O Briddick
Aruna N Gaucho
Ivar E Rim
Darci C Ferencz
Munro T Figeroa
Tony V Poquette
Clifford N Perin
Claire E Nestle
Ricardo Z Royster
Izzy P Foller
Kaitlin S Schemmer
IdCountryDate
1000Argentina2024-06-13
1001Argentina2024-05-26
1002Japan2024-05-16
1003Argentina2024-05-18
1004Canada2024-06-14
1005Australia2024-05-19
1006Canada2024-05-22
1007Spain2024-06-12
1008Spain2024-06-13
1009Spain2024-06-03
1010France2024-05-21
1011Italy2024-05-25
1012Argentina2024-05-30
1013India2024-06-13
1014Brazil2024-05-28
1015India2024-06-03
1016Brazil2024-06-12
1017Italy2024-05-21
1018Brazil2024-05-26
1019Japan2024-06-04
1020Argentina2024-06-02
1021Spain2024-06-09
1022Brazil2024-06-06
1023Japan2024-06-12
1024Japan2024-05-21
1025Canada2024-05-23
1026Brazil2024-05-16
1027Brazil2024-05-29
1028Japan2024-06-06
1029France2024-05-22
1030Germany2024-05-25
1031India2024-05-31
1032Australia2024-05-17
1033Russia2024-05-17
1034United Kingdom2024-06-11
1035Argentina2024-05-17
1036Spain2024-05-22
1037Russia2024-06-13
1038Spain2024-05-18
1039Australia2024-06-10
1040Brazil2024-06-11
1041Japan2024-05-31
1042Australia2024-05-23
1043Russia2024-06-05
1044Spain2024-05-27
1045Japan2024-05-27
1046Spain2024-05-30
1047France2024-06-14
1048Russia2024-05-16
1049Germany2024-05-16

On-Demand Data

NameIdCountryDate
David U Paprocki1000Russia2024-05-16
Juan D Nicka1001Brazil2024-06-10
Jones O Poquette1002Germany2024-06-08
Ricardo Q Perin1003Russia2024-06-12
Munro D Paprocki1004Brazil2024-05-22
Stacey F Dilliard1005France2024-05-25
Faith F Maclead1006United Kingdom2024-05-19
Morrow N Amigon1007Spain2024-06-13
Mayumi G Ferencz1008Japan2024-06-05
Isabel N Glick1009Italy2024-05-21
Darci O Poquette1010France2024-05-23
Julie Q Nicka1011Spain2024-05-19
Jefferson S Kolmetz1012Argentina2024-06-02
Jones L Rulapaugh1013Brazil2024-05-30
Johnson Z Poquette1014France2024-05-31
Mujtaba N Ostrosky1015Brazil2024-06-08
Chavez Y Bolognia1016Argentina2024-05-28
Tony J Foller1017Japan2024-05-31
Jones O Nicka1018Germany2024-05-17
Johnson C Marrier1019Brazil2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson E MorascaArgentinaBernardo Dominic QUALIFIED
Alejandro X TollnerItalyIoni Bowcher NEW
Darci M CaudyJapanElwin Sharvill UNQUALIFIED
Ashley Z RoysterCanadaXuxue Feng UNQUALIFIED
Deepesh L GarufiAustraliaElwin Sharvill PROPOSAL
Salvatore V AlbaresArgentinaAmy Elsner RENEWAL
Mujtaba T SchemmerCanadaElwin Sharvill UNQUALIFIED
Murillo U WaycottSpainBernardo Dominic NEGOTIATION
Leon O ShinkoGermanyIoni Bowcher QUALIFIED
Salvatore X NickaArgentinaElwin Sharvill NEGOTIATION
Aditya Q WaycottCanadaXuxue Feng NEW
Tony S FollerCanadaAmy Elsner NEW
Alejandro P InouyeFranceAnna Fali UNQUALIFIED
Jefferson V TollnerBrazilOnyama Limba RENEWAL
Mujtaba K SchemmerJapanIoni Bowcher RENEWAL
Kadeem G WaycottRussiaAmy Elsner NEGOTIATION
Mujtaba E RoysterArgentinaElwin Sharvill QUALIFIED
Leon C GarufiSpainIoni Bowcher NEW
Leja F GillianFranceAnna Fali NEGOTIATION
Julie A ShinkoSpainAsiya Javayant PROPOSAL
Aika A OstroskyCanadaIvan Magalhaes NEGOTIATION
Stacey C ChuiItalyAsiya Javayant NEGOTIATION
Jones X BologniaGermanyAmy Elsner RENEWAL
Sinclair D RulapaughIndiaXuxue Feng PROPOSAL
Misaki N TollnerUnited KingdomXuxue Feng NEGOTIATION
Smith X PoquetteGermanyAmy Elsner NEW
Smith U AlbaresArgentinaStephen Shaw QUALIFIED
Costa D ButtFranceXuxue Feng RENEWAL
Ashley K DarakjyJapanAnna Fali RENEWAL
Ashley I NickaBrazilBernardo Dominic UNQUALIFIED
Smith A StockhamCanadaXuxue Feng UNQUALIFIED
Greenwood F IturbideRussiaElwin Sharvill NEGOTIATION
Misaki C SergiIndiaIvan Magalhaes QUALIFIED
Munro E StensethUnited KingdomIvan Magalhaes NEW
Leon I PoquetteItalyAnna Fali PROPOSAL
Maria K FollerFranceIoni Bowcher NEW
Murillo O PerinUnited KingdomIoni Bowcher RENEWAL
Arvin Y OldroydRussiaXuxue Feng UNQUALIFIED
Arvin R KuskoRussiaIoni Bowcher QUALIFIED
Izzy B BriddickGermanyBernardo Dominic 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>