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
Salvatore A OstroskyArgentinaIoni Bowcher NEW
Octavia R RimItalyOnyama Limba QUALIFIED
Clifford B MorascaIndiaElwin Sharvill UNQUALIFIED
Jefferson E VenereFranceAnna Fali UNQUALIFIED
Jennifer G IturbideAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois H GauchoArgentinaAmy Elsner QUALIFIED
Maisha T ButtAustraliaAnna Fali QUALIFIED
Ashley O CaudyAustraliaAnna Fali PROPOSAL
Leon A KolmetzItalyElwin Sharvill UNQUALIFIED
Jeanfrancois Q NickaGermanyBernardo Dominic RENEWAL
Aditya N OstroskyIndiaAsiya Javayant QUALIFIED
Murillo H StockhamBrazilIoni Bowcher NEGOTIATION
James A InouyeJapanElwin Sharvill UNQUALIFIED
Jennifer E AlbaresArgentinaAnna Fali UNQUALIFIED
Isabel D GillianAustraliaAsiya Javayant NEGOTIATION
Maria I BriddickRussiaXuxue Feng UNQUALIFIED
Tony B CampainArgentinaStephen Shaw NEGOTIATION
Stacey V IturbideItalyOnyama Limba QUALIFIED
Mayumi A FlosiArgentinaOnyama Limba NEGOTIATION
Deepesh P RoysterGermanyXuxue Feng NEGOTIATION
Jennifer I ButtBrazilOnyama Limba NEW
Smith H TollnerJapanAnna Fali QUALIFIED
Jennifer N ButtAustraliaOnyama Limba UNQUALIFIED
Murillo E FerenczRussiaXuxue Feng PROPOSAL
Chavez Q KuskoItalyIoni Bowcher NEW
Sinclair G ChuiIndiaAsiya Javayant NEW
Ashley X InouyeRussiaOnyama Limba NEGOTIATION
Greenwood V BriddickBrazilOnyama Limba RENEWAL
Morrow R CampainGermanyIvan Magalhaes QUALIFIED
Claire G MaletSpainAsiya Javayant UNQUALIFIED
Leon W RoysterJapanAnna Fali QUALIFIED
Leja T WieserGermanyAsiya Javayant NEGOTIATION
Ashley B FerenczIndiaAsiya Javayant NEW
Juan N OstroskySpainAsiya Javayant NEGOTIATION
Jennifer Y DilliardGermanyIoni Bowcher NEW
Ricardo G StensethGermanyIvan Magalhaes RENEWAL
Silvio M MaletCanadaXuxue Feng RENEWAL
Tony K AlbaresArgentinaAmy Elsner RENEWAL
Deepesh T IturbideRussiaOnyama Limba NEW
Julie K SaylorsGermanyAmy Elsner PROPOSAL
Tony F RulapaughItalyAsiya Javayant RENEWAL
Silvio F WhobreyRussiaElwin Sharvill QUALIFIED
Wickens W MorascaSpainBernardo Dominic PROPOSAL
Murillo G KuskoJapanIvan Magalhaes RENEWAL
Cody G RimItalyElwin Sharvill QUALIFIED
Morrow E CaudySpainStephen Shaw NEW
Maisha Y FollerIndiaIvan Magalhaes UNQUALIFIED
Smith Z CampainArgentinaBernardo Dominic NEW
Maisha M IturbideCanadaBernardo Dominic UNQUALIFIED
Sinclair R SchemmerAustraliaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas U MaletBrazilOnyama Limba NEW
Adams J InouyeIndiaXuxue Feng RENEWAL
Ivar I ShinkoIndiaXuxue Feng NEW
Jefferson D ChuiSpainAmy Elsner NEGOTIATION
Kadeem Q RimFranceIvan Magalhaes NEGOTIATION
Johnson A DilliardGermanyAnna Fali PROPOSAL
Tony T BowleyIndiaXuxue Feng NEGOTIATION
Sinclair Q AmigonJapanStephen Shaw RENEWAL
Sinclair C CampainRussiaOnyama Limba NEGOTIATION
Isabel M RutaJapanIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel S GlickBrazil2025-04-16Chemel, James L Cpa NEGOTIATION24Bernardo Dominic
1001Aditya F BowleyRussia2025-04-16Chemel, James L Cpa NEGOTIATION97Xuxue Feng
1002Chavez G DoeBrazil2025-04-15Rangoni Of Florence NEW36Asiya Javayant
1003Kadeem H KuskoGermany2025-04-29Dorl, James J Esq UNQUALIFIED44Anna Fali
1004Julie G SergiSpain2025-04-18Morlong Associates RENEWAL38Asiya Javayant
1005Ivar U RimSpain2025-05-02Feltz Printing Service PROPOSAL93Amy Elsner
1006Jones U BriddickRussia2025-04-27Chapman, Ross E Esq NEGOTIATION16Ioni Bowcher
1007Antonio Y AlbaresAustralia2025-04-11Printing Dimensions UNQUALIFIED53Elwin Sharvill
1008Alejandro D WieserBrazil2025-04-07Chanay, Jeffrey A Esq RENEWAL75Anna Fali
1009Mujtaba R GauchoFrance2025-04-15Chemel, James L Cpa QUALIFIED16Elwin Sharvill
1010Ashley G BologniaIndia2025-05-05Chapman, Ross E Esq NEW7Anna Fali
1011Stacey X KolmetzAustralia2025-04-28Commercial Press NEW36Amy Elsner
1012Silvio O PaprockiAustralia2025-04-30Chanay, Jeffrey A Esq NEGOTIATION39Amy Elsner
1013Faith U GarufiFrance2025-04-07King, Christopher A Esq UNQUALIFIED4Asiya Javayant
1014Isabel F PoquetteCanada2025-04-20Rangoni Of Florence NEW30Anna Fali
1015Kadeem N MorascaBrazil2025-04-21Feltz Printing Service PROPOSAL57Amy Elsner
1016Morrow W SchemmerAustralia2025-04-23Truhlar And Truhlar Attys QUALIFIED24Stephen Shaw
1017Deepesh B WaycottItaly2025-04-25Rangoni Of Florence NEGOTIATION72Xuxue Feng
1018Aika T WhobreyBrazil2025-04-18Feiner Bros PROPOSAL59Stephen Shaw
1019Maisha W OldroydJapan2025-04-14Feltz Printing Service QUALIFIED1Elwin Sharvill
1020Alejandro E SlusarskiIndia2025-04-22Rangoni Of Florence RENEWAL94Asiya Javayant
1021Wickens B RulapaughAustralia2025-04-23Feiner Bros PROPOSAL69Onyama Limba
1022Misaki B AmigonRussia2025-05-05Chemel, James L Cpa UNQUALIFIED29Onyama Limba
1023Greenwood X RoysterUnited Kingdom2025-04-30Morlong Associates QUALIFIED9Xuxue Feng
1024Smith R WhobreyCanada2025-04-20Buckley Miller Wright NEGOTIATION95Asiya Javayant
1025Cody H SaylorsJapan2025-04-30Buckley Miller Wright QUALIFIED55Asiya Javayant
1026Munro G FerenczSpain2025-04-20Chemel, James L Cpa NEGOTIATION74Asiya Javayant
1027Kadeem N BowleyBrazil2025-05-05Printing Dimensions UNQUALIFIED62Bernardo Dominic
1028Jennifer Y GillianUnited Kingdom2025-04-12Rangoni Of Florence QUALIFIED96Ivan Magalhaes
1029Ashley E OstroskyCanada2025-04-15Rousseaux, Michael Esq NEW10Elwin Sharvill
1030Isabel C DilliardSpain2025-04-28Truhlar And Truhlar Attys PROPOSAL20Elwin Sharvill
1031Mayumi Q CaudyCanada2025-04-26Feiner Bros UNQUALIFIED11Amy Elsner
1032Clifford B MorascaIndia2025-04-14Rangoni Of Florence QUALIFIED5Onyama Limba
1033Aruna I GauchoSpain2025-04-08Chapman, Ross E Esq UNQUALIFIED62Onyama Limba
1034Kaitlin V SergiArgentina2025-05-04Feiner Bros UNQUALIFIED58Asiya Javayant
1035Misaki V SchemmerFrance2025-04-21Chanay, Jeffrey A Esq UNQUALIFIED38Ivan Magalhaes
1036Aditya E CaudySpain2025-04-19Dorl, James J Esq QUALIFIED97Onyama Limba
1037Francesco Q StensethAustralia2025-05-03Feiner Bros UNQUALIFIED3Anna Fali
1038Maisha X CaudyFrance2025-05-05Rangoni Of Florence QUALIFIED97Elwin Sharvill
1039Chavez A FollerJapan2025-04-18Benton, John B Jr NEGOTIATION69Elwin Sharvill
1040Jennifer X GlickAustralia2025-04-09Rangoni Of Florence UNQUALIFIED42Anna Fali
1041Francesco I BriddickItaly2025-04-07Buckley Miller Wright UNQUALIFIED56Amy Elsner
1042Costa K SaylorsIndia2025-04-29Benton, John B Jr PROPOSAL41Onyama Limba
1043Antonio K PaprockiCanada2025-04-11Benton, John B Jr QUALIFIED47Stephen Shaw
1044Tony H GillianUnited Kingdom2025-04-08Commercial Press NEGOTIATION97Bernardo Dominic
1045Morrow W AlbaresIndia2025-04-23Rangoni Of Florence NEGOTIATION99Onyama Limba
1046Alejandro I WieserUnited Kingdom2025-05-04Truhlar And Truhlar Attys QUALIFIED95Elwin Sharvill
1047Ivar I FigeroaArgentina2025-04-23Chanay, Jeffrey A Esq UNQUALIFIED49Stephen Shaw
1048Leon H CampainArgentina2025-04-27Truhlar And Truhlar Attys UNQUALIFIED57Asiya Javayant
1049Maria S RulapaughCanada2025-04-10Rousseaux, Michael Esq PROPOSAL83Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jones F SergiJapanIvan Magalhaes QUALIFIED
Claire L PaprockiGermanyBernardo Dominic NEW
Sinclair Z SchemmerBrazilIoni Bowcher NEW
Tony D RoysterRussiaOnyama Limba QUALIFIED
Cody Z AmigonIndiaElwin Sharvill QUALIFIED
Silvio P IturbideGermanyIvan Magalhaes QUALIFIED
Stacey R StensethGermanyOnyama Limba RENEWAL
Cody T CampainArgentinaStephen Shaw NEGOTIATION
Morrow I PoquetteRussiaElwin Sharvill UNQUALIFIED
Francesco H DarakjyFranceOnyama Limba NEGOTIATION
Jones M BowleyIndiaElwin Sharvill NEGOTIATION
Costa R IturbideArgentinaIvan Magalhaes PROPOSAL
Alejandro J BowleyCanadaIoni Bowcher PROPOSAL
Julie S CampainArgentinaIvan Magalhaes NEGOTIATION
Juan M AmigonAustraliaIvan Magalhaes NEGOTIATION
Greenwood W GillianGermanyStephen Shaw UNQUALIFIED
Isabel S CampainIndiaAmy Elsner QUALIFIED
Jefferson Q CampainAustraliaAmy Elsner PROPOSAL
Ashley P OstroskyGermanyIvan Magalhaes QUALIFIED
Morrow H WhobreySpainStephen Shaw RENEWAL
Francesco C ChuiUnited KingdomOnyama Limba RENEWAL
Deepesh O StockhamRussiaIvan Magalhaes RENEWAL
Faith R DarakjyUnited KingdomAnna Fali QUALIFIED
Kadeem G SchemmerCanadaAnna Fali QUALIFIED
Salvatore J InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba S PoquetteRussiaOnyama Limba PROPOSAL
Jones Y DarakjyJapanIoni Bowcher QUALIFIED
Rodrigues E GillianBrazilBernardo Dominic NEW
Ricardo S BriddickJapanAsiya Javayant NEGOTIATION
Tony W ButtGermanyElwin Sharvill PROPOSAL
Morrow H BowleyBrazilElwin Sharvill PROPOSAL
Adams E CaudyRussiaIoni Bowcher PROPOSAL
Julie O TollnerUnited KingdomIvan Magalhaes QUALIFIED
Jefferson Q CaldareraGermanyAmy Elsner QUALIFIED
Ricardo X SaylorsJapanStephen Shaw QUALIFIED
Antonio N FigeroaIndiaElwin Sharvill QUALIFIED
Johnson I MacleadFranceIoni Bowcher NEW
Emily T DarakjyIndiaOnyama Limba RENEWAL
Julie B VenereAustraliaStephen Shaw UNQUALIFIED
Leja P ChuiRussiaAmy Elsner QUALIFIED
Alejandro T RoysterBrazilIoni Bowcher QUALIFIED
Isabel I MorascaFranceXuxue Feng PROPOSAL
Salvatore C SlusarskiBrazilXuxue Feng NEW
Francesco T MaletIndiaIvan Magalhaes RENEWAL
Juan A AlbaresAustraliaAnna Fali PROPOSAL
Leja A RutaIndiaIvan Magalhaes NEGOTIATION
Emily G NickaSpainStephen Shaw RENEWAL
David T BologniaBrazilAnna Fali UNQUALIFIED
Jennifer I OstroskyAustraliaAsiya Javayant NEGOTIATION
Ricardo C GillianRussiaOnyama Limba RENEWAL
Frozen Columns
Name
Jennifer P Slusarski
Jones Z Garufi
Costa O Albares
Kaitlin W Glick
Isabel Q Vocelka
Aditya X Ferencz
Octavia Z Ostrosky
Ivar S Inouye
Maria C Marrier
Murillo K Wieser
Jones Q Nestle
Clifford L Inouye
Aditya I Briddick
Darci B Schemmer
Claire J Gillian
Murillo A Albares
Ivar U Oldroyd
Izzy U Perin
Jones A Foller
Faith L Maclead
Ashley L Marrier
Munro L Inouye
Antonio X Whobrey
James F Garufi
Izzy N Stenseth
Mujtaba R Wieser
David R Rim
Silvio Y Foller
Sinclair P Vocelka
Jefferson G Schemmer
Nicolas S Morasca
Octavia D Morasca
Kadeem D Schemmer
Munro K Nicka
James T Iturbide
Misaki C Ruta
Greenwood Z Ruta
Izzy B Oldroyd
Smith P Stockham
Greenwood M Malet
Julie M Venere
Chavez D Maclead
Ivar H Gaucho
Aditya F Tollner
Johnson E Tollner
Ricardo F Butt
Adams C Poquette
Octavia E Darakjy
Ivar W Ostrosky
Octavia R Flosi
IdCountryDate
1000Argentina2025-04-24
1001Germany2025-04-09
1002Australia2025-04-12
1003India2025-04-18
1004Australia2025-05-02
1005India2025-04-20
1006Australia2025-04-07
1007Canada2025-04-22
1008Spain2025-05-05
1009Brazil2025-04-08
1010France2025-05-03
1011Japan2025-04-30
1012Australia2025-04-06
1013Australia2025-05-03
1014Russia2025-04-28
1015Germany2025-04-21
1016Canada2025-05-05
1017Japan2025-05-05
1018Brazil2025-04-08
1019India2025-04-14
1020Argentina2025-04-21
1021Argentina2025-05-02
1022Germany2025-04-14
1023Spain2025-05-05
1024Argentina2025-05-05
1025Australia2025-04-25
1026Brazil2025-04-18
1027Argentina2025-04-21
1028Canada2025-04-20
1029Argentina2025-05-03
1030Italy2025-04-16
1031Canada2025-04-11
1032Russia2025-05-04
1033Italy2025-04-06
1034Japan2025-04-10
1035Argentina2025-05-01
1036Australia2025-04-25
1037France2025-04-22
1038Russia2025-04-27
1039Russia2025-04-28
1040Canada2025-04-07
1041Russia2025-04-20
1042France2025-04-09
1043Germany2025-05-01
1044Brazil2025-04-30
1045Italy2025-04-30
1046Brazil2025-04-24
1047Russia2025-04-09
1048Germany2025-04-18
1049United Kingdom2025-05-01

On-Demand Data

NameIdCountryDate
Darci B Slusarski1000France2025-05-02
Costa O Morasca1001France2025-04-28
Alejandro V Royster1002France2025-05-02
Octavia P Malet1003Canada2025-04-19
Kaitlin R Chui1004Japan2025-04-10
Adams W Inouye1005Canada2025-04-18
Aika T Campain1006Australia2025-04-21
Stacey C Butt1007Spain2025-04-09
Smith Y Iturbide1008India2025-04-29
Munro Q Sergi1009Australia2025-04-07
David J Malet1010Australia2025-04-12
Jones F Kolmetz1011Italy2025-04-24
Leon Q Morasca1012Australia2025-04-14
Adams X Marrier1013Germany2025-04-06
Salvatore B Gaucho1014Italy2025-04-09
Aruna W Gillian1015Italy2025-04-27
Mujtaba I Nestle1016Russia2025-04-27
Jefferson R Iturbide1017France2025-04-06
James Z Ferencz1018Australia2025-04-17
Jefferson V Maclead1019Australia2025-04-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki W CaudyFranceBernardo Dominic UNQUALIFIED
Emily B GauchoBrazilOnyama Limba QUALIFIED
Arvin U GauchoFranceAmy Elsner PROPOSAL
Darci U SlusarskiCanadaAnna Fali NEW
Murillo P FollerGermanyAsiya Javayant NEGOTIATION
Stacey O MacleadGermanyAnna Fali UNQUALIFIED
Sinclair F KolmetzArgentinaAsiya Javayant RENEWAL
Isabel S RutaArgentinaIoni Bowcher NEW
Jeanfrancois D RoysterItalyAmy Elsner NEGOTIATION
Leja J StockhamRussiaXuxue Feng NEGOTIATION
Silvio Z StensethSpainBernardo Dominic QUALIFIED
Maisha I CaldareraSpainBernardo Dominic NEW
Salvatore E GarufiUnited KingdomElwin Sharvill UNQUALIFIED
Antonio B MarrierFranceIvan Magalhaes PROPOSAL
Aditya D RulapaughSpainStephen Shaw NEGOTIATION
Smith C WieserRussiaXuxue Feng UNQUALIFIED
James B DarakjyFranceIvan Magalhaes RENEWAL
Misaki O BriddickJapanAmy Elsner NEW
Emily B RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Smith S MaletAustraliaOnyama Limba RENEWAL
Antonio E StensethCanadaXuxue Feng RENEWAL
Tony A WieserRussiaAnna Fali PROPOSAL
Juan V PoquetteCanadaIoni Bowcher PROPOSAL
Tony Z FollerFranceAmy Elsner NEW
Juan J RoysterSpainOnyama Limba PROPOSAL
Francesco P BologniaGermanyIoni Bowcher QUALIFIED
Aruna V PaprockiJapanAnna Fali PROPOSAL
Ivar V OldroydArgentinaStephen Shaw NEGOTIATION
Aruna W StockhamUnited KingdomBernardo Dominic QUALIFIED
Faith T CaudyArgentinaAsiya Javayant RENEWAL
Jeanfrancois H DarakjyIndiaStephen Shaw QUALIFIED
Kaitlin H MorascaGermanyElwin Sharvill PROPOSAL
Adams V RulapaughIndiaIvan Magalhaes QUALIFIED
Costa R SlusarskiFranceBernardo Dominic NEGOTIATION
Kaitlin Y NestleCanadaOnyama Limba QUALIFIED
Chavez Y IturbideCanadaStephen Shaw NEW
Leon C DilliardFranceElwin Sharvill RENEWAL
Johnson L RutaItalyAsiya Javayant UNQUALIFIED
Kadeem Y MaletArgentinaElwin Sharvill NEGOTIATION
Kaitlin U FlosiSpainAnna Fali 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>