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 C MorascaCanadaXuxue Feng NEGOTIATION
Stacey F FlosiSpainIoni Bowcher PROPOSAL
Maria U DoeArgentinaElwin Sharvill QUALIFIED
Aruna F AmigonFranceOnyama Limba QUALIFIED
Johnson K SaylorsJapanXuxue Feng NEGOTIATION
Emily I GarufiAustraliaBernardo Dominic NEW
Julie M KolmetzSpainAmy Elsner UNQUALIFIED
Maisha Y RimIndiaXuxue Feng PROPOSAL
Leon N RoysterJapanStephen Shaw QUALIFIED
Kadeem S InouyeJapanStephen Shaw RENEWAL
Stacey Y PoquetteBrazilElwin Sharvill RENEWAL
Sinclair A GlickArgentinaAmy Elsner PROPOSAL
Ricardo F GauchoUnited KingdomAnna Fali NEGOTIATION
Johnson N ShinkoArgentinaXuxue Feng UNQUALIFIED
Salvatore P RulapaughItalyElwin Sharvill RENEWAL
Chavez A MorascaJapanAnna Fali UNQUALIFIED
Aditya E CaudyRussiaIoni Bowcher UNQUALIFIED
Leja V RulapaughIndiaStephen Shaw RENEWAL
Izzy H CaudyArgentinaXuxue Feng QUALIFIED
Francesco D GlickRussiaAnna Fali RENEWAL
Ivar R CaudyIndiaElwin Sharvill QUALIFIED
Tony Y IturbideUnited KingdomAnna Fali UNQUALIFIED
Stacey R BologniaIndiaAnna Fali NEW
Sinclair K WieserFranceElwin Sharvill NEGOTIATION
Kadeem V CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Ivar Z GarufiSpainAmy Elsner RENEWAL
Cody B TollnerFranceIvan Magalhaes NEGOTIATION
Adams G MaletCanadaOnyama Limba RENEWAL
Antonio T MorascaItalyAnna Fali RENEWAL
Jennifer T PerinFranceIoni Bowcher NEGOTIATION
Rodrigues Y WaycottRussiaIoni Bowcher UNQUALIFIED
Darci G StensethAustraliaXuxue Feng QUALIFIED
Salvatore O ChuiAustraliaAnna Fali NEW
Deepesh V MaletGermanyAnna Fali NEGOTIATION
Emily A FigeroaFranceBernardo Dominic NEW
Deepesh A VenereSpainBernardo Dominic NEGOTIATION
Rodrigues F KolmetzGermanyIvan Magalhaes RENEWAL
Julie K MacleadUnited KingdomXuxue Feng QUALIFIED
Maisha R SchemmerItalyIvan Magalhaes PROPOSAL
Smith P WhobreyCanadaStephen Shaw PROPOSAL
Jennifer Z SlusarskiAustraliaStephen Shaw UNQUALIFIED
Jennifer G PoquetteCanadaBernardo Dominic NEGOTIATION
Morrow P GillianItalyStephen Shaw QUALIFIED
Sinclair V VocelkaRussiaAmy Elsner QUALIFIED
Julie S KuskoIndiaIvan Magalhaes UNQUALIFIED
Julie X WieserJapanIoni Bowcher QUALIFIED
Morrow N SlusarskiItalyOnyama Limba NEW
Claire H DilliardJapanStephen Shaw NEGOTIATION
Mayumi I OstroskyUnited KingdomAnna Fali PROPOSAL
Leja V RutaIndiaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
James B SergiJapanAsiya Javayant RENEWAL
Murillo O VocelkaCanadaAsiya Javayant RENEWAL
Silvio A ShinkoIndiaIoni Bowcher NEW
Faith O MacleadAustraliaStephen Shaw RENEWAL
Johnson G InouyeGermanyStephen Shaw NEGOTIATION
Wickens V PaprockiIndiaAmy Elsner NEW
Maria E PaprockiCanadaElwin Sharvill NEW
Emily S RutaItalyOnyama Limba UNQUALIFIED
Silvio C MarrierGermanyElwin Sharvill NEGOTIATION
Misaki V WaycottItalyElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia U GauchoGermany2026-07-25Rangoni Of Florence PROPOSAL49Anna Fali
1001Stacey T FlosiSpain2026-07-18Feiner Bros NEGOTIATION72Elwin Sharvill
1002Aditya E SlusarskiAustralia2026-07-03King, Christopher A Esq RENEWAL40Elwin Sharvill
1003Ashley F SaylorsFrance2026-07-16Benton, John B Jr QUALIFIED45Amy Elsner
1004Claire E ButtCanada2026-07-23Benton, John B Jr NEGOTIATION50Asiya Javayant
1005Arvin H VocelkaIndia2026-06-30Commercial Press RENEWAL8Onyama Limba
1006Faith U BologniaCanada2026-07-12Dorl, James J Esq NEGOTIATION81Amy Elsner
1007Maisha J WieserItaly2026-07-17Morlong Associates NEW85Asiya Javayant
1008Jeanfrancois P PaprockiJapan2026-07-23Benton, John B Jr NEGOTIATION3Anna Fali
1009James A ChuiGermany2026-06-28Truhlar And Truhlar Attys NEW9Amy Elsner
1010Mayumi O VenereCanada2026-07-06Buckley Miller Wright PROPOSAL88Amy Elsner
1011Clifford P GlickBrazil2026-07-16Rangoni Of Florence RENEWAL94Amy Elsner
1012Murillo H ButtFrance2026-07-11Printing Dimensions UNQUALIFIED7Amy Elsner
1013James K VenereAustralia2026-07-23Chemel, James L Cpa RENEWAL83Ivan Magalhaes
1014Faith C VocelkaUnited Kingdom2026-07-02Rangoni Of Florence NEGOTIATION3Stephen Shaw
1015Isabel O DoeIndia2026-07-23Chemel, James L Cpa PROPOSAL77Asiya Javayant
1016Morrow Y BologniaCanada2026-07-04Chemel, James L Cpa PROPOSAL21Stephen Shaw
1017Misaki M SchemmerSpain2026-07-22Rousseaux, Michael Esq NEGOTIATION2Amy Elsner
1018Maisha D GillianUnited Kingdom2026-07-17Chapman, Ross E Esq UNQUALIFIED53Onyama Limba
1019David P CampainIndia2026-07-23Chanay, Jeffrey A Esq UNQUALIFIED49Stephen Shaw
1020Kadeem I WaycottFrance2026-07-10Morlong Associates NEW10Elwin Sharvill
1021Maria F DarakjyRussia2026-06-29Chapman, Ross E Esq UNQUALIFIED47Onyama Limba
1022Francesco Q AmigonFrance2026-06-29Chapman, Ross E Esq QUALIFIED4Onyama Limba
1023Antonio M StensethIndia2026-07-27Dorl, James J Esq UNQUALIFIED43Bernardo Dominic
1024Adams P MarrierAustralia2026-07-10Feiner Bros PROPOSAL90Xuxue Feng
1025Ricardo C KuskoJapan2026-07-14Feltz Printing Service NEGOTIATION29Bernardo Dominic
1026Misaki X PoquetteJapan2026-07-19Chemel, James L Cpa UNQUALIFIED66Stephen Shaw
1027Clifford O FigeroaItaly2026-07-11Morlong Associates QUALIFIED20Xuxue Feng
1028Julie D WaycottSpain2026-07-18Rangoni Of Florence RENEWAL92Anna Fali
1029Cody H SaylorsSpain2026-07-21Truhlar And Truhlar Attys PROPOSAL48Onyama Limba
1030Juan L StockhamItaly2026-07-24Rousseaux, Michael Esq PROPOSAL0Ivan Magalhaes
1031Jeanfrancois F PaprockiFrance2026-07-05Rangoni Of Florence UNQUALIFIED42Asiya Javayant
1032David X SlusarskiRussia2026-07-14Benton, John B Jr PROPOSAL6Elwin Sharvill
1033Jennifer X RimUnited Kingdom2026-07-22Rousseaux, Michael Esq QUALIFIED75Elwin Sharvill
1034Smith M OstroskyArgentina2026-07-06Dorl, James J Esq RENEWAL22Xuxue Feng
1035Octavia M GillianSpain2026-06-29King, Christopher A Esq NEGOTIATION76Ivan Magalhaes
1036Izzy M RutaJapan2026-07-11King, Christopher A Esq QUALIFIED98Ivan Magalhaes
1037Izzy W MaletItaly2026-07-23King, Christopher A Esq QUALIFIED2Bernardo Dominic
1038Isabel R ButtIndia2026-07-07King, Christopher A Esq NEGOTIATION97Anna Fali
1039Morrow L MaletUnited Kingdom2026-07-02Dorl, James J Esq NEGOTIATION37Ivan Magalhaes
1040Clifford B StensethUnited Kingdom2026-07-18King, Christopher A Esq PROPOSAL97Elwin Sharvill
1041Chavez Q RutaCanada2026-07-19Dorl, James J Esq QUALIFIED92Ivan Magalhaes
1042Octavia E StockhamBrazil2026-07-27Feiner Bros QUALIFIED45Elwin Sharvill
1043Kaitlin D MacleadItaly2026-07-02Rangoni Of Florence QUALIFIED81Xuxue Feng
1044Ricardo N DarakjyRussia2026-07-27Benton, John B Jr QUALIFIED10Stephen Shaw
1045Arvin D RoysterCanada2026-07-14Chanay, Jeffrey A Esq PROPOSAL47Elwin Sharvill
1046Jefferson I NickaBrazil2026-07-17Chanay, Jeffrey A Esq NEGOTIATION88Elwin Sharvill
1047Murillo G PaprockiCanada2026-07-14Feiner Bros RENEWAL98Ivan Magalhaes
1048Kaitlin E FigeroaSpain2026-07-06Chapman, Ross E Esq NEGOTIATION70Asiya Javayant
1049Kadeem E SchemmerJapan2026-07-06Morlong Associates UNQUALIFIED32Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Y BowleyIndiaOnyama Limba RENEWAL
Wickens A FerenczIndiaAsiya Javayant QUALIFIED
Juan B PoquetteGermanyElwin Sharvill NEW
Ashley J WieserJapanXuxue Feng RENEWAL
Aditya G VocelkaUnited KingdomAmy Elsner RENEWAL
David K NickaSpainXuxue Feng NEW
Costa H TollnerItalyAnna Fali RENEWAL
Stacey X AlbaresFranceXuxue Feng UNQUALIFIED
Faith Q TollnerJapanStephen Shaw NEGOTIATION
Salvatore K VenereAustraliaAnna Fali PROPOSAL
Isabel K RoysterCanadaBernardo Dominic NEGOTIATION
Johnson H MarrierAustraliaAsiya Javayant RENEWAL
Adams W GauchoArgentinaXuxue Feng PROPOSAL
Octavia Y MaletRussiaElwin Sharvill PROPOSAL
Clifford B BriddickSpainBernardo Dominic QUALIFIED
Wickens C ShinkoArgentinaAmy Elsner PROPOSAL
Clifford O WieserArgentinaOnyama Limba QUALIFIED
Misaki I IturbideArgentinaBernardo Dominic PROPOSAL
Antonio R CaldareraAustraliaAsiya Javayant NEGOTIATION
Mujtaba F StockhamArgentinaStephen Shaw NEGOTIATION
Claire I OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Octavia T KolmetzBrazilXuxue Feng RENEWAL
Stacey H MacleadUnited KingdomAmy Elsner PROPOSAL
Francesco A OstroskyAustraliaOnyama Limba NEGOTIATION
Aditya A FlosiJapanElwin Sharvill PROPOSAL
Silvio P SchemmerRussiaXuxue Feng QUALIFIED
Julie P MaletJapanElwin Sharvill QUALIFIED
Aditya H RoysterSpainIoni Bowcher QUALIFIED
Johnson G RulapaughBrazilXuxue Feng UNQUALIFIED
Maisha E CaldareraIndiaStephen Shaw QUALIFIED
Adams A VenereRussiaBernardo Dominic RENEWAL
Tony D GillianRussiaAsiya Javayant NEGOTIATION
Silvio M SergiUnited KingdomAnna Fali RENEWAL
Salvatore H DilliardSpainAsiya Javayant NEGOTIATION
Darci T FollerBrazilOnyama Limba QUALIFIED
Aruna X FigeroaGermanyAsiya Javayant UNQUALIFIED
Ashley J RutaFranceBernardo Dominic PROPOSAL
Aditya I KolmetzUnited KingdomBernardo Dominic NEW
Aditya D FerenczSpainXuxue Feng NEW
Aditya V WhobreyBrazilElwin Sharvill NEW
Smith F DoeBrazilAmy Elsner PROPOSAL
Smith S KuskoBrazilAmy Elsner NEW
Stacey W SaylorsItalyIoni Bowcher NEGOTIATION
Smith J AlbaresJapanOnyama Limba RENEWAL
Wickens O InouyeItalyElwin Sharvill RENEWAL
Misaki Q GlickAustraliaXuxue Feng QUALIFIED
Jeanfrancois Y OstroskyGermanyAnna Fali PROPOSAL
Ivar B WhobreySpainAnna Fali PROPOSAL
Clifford H InouyeUnited KingdomAnna Fali NEGOTIATION
Silvio P KuskoGermanyAnna Fali RENEWAL
Frozen Columns
Name
Aika B Schemmer
Silvio Y Kolmetz
Greenwood D Morasca
Johnson T Gillian
Kadeem N Campain
Kadeem N Kolmetz
Adams G Glick
Darci B Saylors
Arvin C Perin
Deepesh J Gillian
Darci U Whobrey
Salvatore K Kolmetz
Rodrigues B Darakjy
Aditya A Doe
Wickens D Amigon
Ashley O Iturbide
Jennifer H Rulapaugh
Adams X Maclead
Julie L Iturbide
Johnson P Chui
Aruna D Nestle
James H Poquette
Octavia D Gillian
Darci E Stockham
Chavez M Tollner
Aruna K Slusarski
Ivar G Ferencz
Claire Q Stenseth
Darci E Kusko
Misaki D Poquette
Clifford Z Darakjy
Isabel X Waycott
Rodrigues Z Kolmetz
Kaitlin D Darakjy
Wickens W Briddick
Isabel A Saylors
Izzy J Figeroa
Adams E Royster
Sinclair M Darakjy
Jefferson U Caudy
Aruna Z Kolmetz
Faith P Stenseth
Alejandro S Waycott
Maisha A Shinko
Morrow D Campain
Chavez Q Garufi
Jeanfrancois I Stenseth
Murillo F Flosi
Jennifer Y Bowley
Faith U Gillian
IdCountryDate
1000Germany2026-07-10
1001Spain2026-07-06
1002Argentina2026-07-05
1003Argentina2026-07-01
1004France2026-07-14
1005India2026-07-24
1006Germany2026-07-16
1007Canada2026-07-04
1008Australia2026-07-14
1009France2026-07-17
1010Argentina2026-07-21
1011France2026-07-22
1012France2026-07-12
1013Argentina2026-07-07
1014United Kingdom2026-07-24
1015India2026-07-27
1016Australia2026-07-16
1017Australia2026-07-22
1018France2026-07-27
1019Brazil2026-07-25
1020France2026-07-05
1021United Kingdom2026-07-15
1022Spain2026-07-19
1023France2026-07-11
1024Germany2026-07-27
1025Russia2026-06-29
1026Spain2026-07-25
1027Germany2026-07-04
1028Canada2026-07-27
1029United Kingdom2026-07-06
1030Germany2026-07-08
1031Argentina2026-07-26
1032Canada2026-07-14
1033France2026-06-28
1034France2026-07-22
1035Canada2026-07-16
1036United Kingdom2026-07-25
1037Japan2026-07-21
1038Italy2026-07-25
1039France2026-07-16
1040Canada2026-07-19
1041Germany2026-07-20
1042Spain2026-07-04
1043Australia2026-07-10
1044Argentina2026-06-30
1045Germany2026-07-21
1046United Kingdom2026-07-24
1047Spain2026-07-19
1048France2026-07-27
1049Italy2026-06-28

On-Demand Data

NameIdCountryDate
Salvatore L Chui1000Russia2026-07-03
Maisha E Glick1001Brazil2026-07-15
Nicolas C Amigon1002Japan2026-07-17
Francesco H Stenseth1003Japan2026-07-27
Aruna O Kusko1004United Kingdom2026-07-04
Cody Q Butt1005France2026-07-10
Sinclair I Poquette1006Italy2026-07-13
Kaitlin N Gaucho1007France2026-07-16
Morrow Q Figeroa1008France2026-07-08
Izzy D Flosi1009Russia2026-06-30
Kaitlin J Ferencz1010Brazil2026-07-17
Rodrigues A Inouye1011Japan2026-07-14
Mayumi O Maclead1012Japan2026-07-04
Aruna W Malet1013Italy2026-07-15
Emily A Stenseth1014Australia2026-07-12
Claire B Albares1015Argentina2026-07-10
Aruna J Tollner1016Australia2026-07-12
Ivar G Caudy1017Spain2026-07-19
Darci N Malet1018Canada2026-07-22
Aruna J Gillian1019Spain2026-07-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues Y BowleyUnited KingdomAmy Elsner PROPOSAL
Wickens X TollnerFranceBernardo Dominic PROPOSAL
Morrow I BologniaIndiaAsiya Javayant NEGOTIATION
Alejandro S RoysterSpainAmy Elsner UNQUALIFIED
Alejandro X KolmetzArgentinaAmy Elsner QUALIFIED
Aruna L PaprockiBrazilAmy Elsner NEGOTIATION
Mayumi H CaudyCanadaXuxue Feng RENEWAL
James U FollerRussiaOnyama Limba NEW
Misaki R MaletUnited KingdomIoni Bowcher QUALIFIED
Ricardo G SaylorsGermanyAsiya Javayant QUALIFIED
Salvatore U SaylorsCanadaAnna Fali PROPOSAL
Cody Q MorascaGermanyIoni Bowcher PROPOSAL
Leja L ChuiGermanyIoni Bowcher NEGOTIATION
Sinclair Q PoquetteSpainBernardo Dominic UNQUALIFIED
Maria X FollerItalyIvan Magalhaes UNQUALIFIED
Jones K InouyeUnited KingdomXuxue Feng NEW
Francesco G ChuiJapanBernardo Dominic NEW
Emily B MorascaGermanyAmy Elsner NEGOTIATION
Leon P DilliardItalyBernardo Dominic NEW
Cody P MacleadArgentinaStephen Shaw UNQUALIFIED
Tony U AlbaresRussiaXuxue Feng RENEWAL
Rodrigues Q CaldareraRussiaOnyama Limba NEW
Maisha U AlbaresItalyAnna Fali NEW
Munro F OstroskyAustraliaIoni Bowcher QUALIFIED
Costa A NestleIndiaElwin Sharvill PROPOSAL
Francesco R SergiSpainStephen Shaw NEGOTIATION
Faith C AlbaresCanadaIoni Bowcher UNQUALIFIED
Darci C MaletJapanOnyama Limba NEW
Julie G StockhamBrazilXuxue Feng NEW
Leon J OstroskyArgentinaBernardo Dominic PROPOSAL
Morrow G RoysterJapanIvan Magalhaes RENEWAL
Morrow Z StensethGermanyAsiya Javayant UNQUALIFIED
Aditya S KuskoCanadaStephen Shaw NEGOTIATION
Leja V RimAustraliaBernardo Dominic QUALIFIED
Greenwood I WaycottArgentinaIvan Magalhaes NEW
Isabel T CaldareraCanadaOnyama Limba NEGOTIATION
Mayumi H NestleFranceOnyama Limba NEW
Morrow F GauchoArgentinaIvan Magalhaes RENEWAL
Emily P TollnerJapanAnna Fali NEGOTIATION
Izzy M OldroydUnited KingdomStephen Shaw PROPOSAL

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