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
Jeanfrancois T MarrierSpainIvan Magalhaes PROPOSAL
Sinclair K BriddickJapanBernardo Dominic UNQUALIFIED
Silvio O MorascaCanadaBernardo Dominic UNQUALIFIED
Stacey V FerenczJapanAsiya Javayant QUALIFIED
Mujtaba O CaldareraUnited KingdomAnna Fali NEGOTIATION
Jones U RimBrazilIoni Bowcher NEGOTIATION
Silvio D StensethGermanyAnna Fali UNQUALIFIED
Alejandro D FigeroaRussiaAsiya Javayant RENEWAL
Ashley Y MarrierAustraliaStephen Shaw NEGOTIATION
Smith V SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Faith E ShinkoBrazilElwin Sharvill RENEWAL
Morrow P SergiArgentinaOnyama Limba PROPOSAL
Emily U ShinkoCanadaElwin Sharvill RENEWAL
Arvin N VocelkaSpainBernardo Dominic QUALIFIED
Greenwood N PoquetteBrazilAsiya Javayant UNQUALIFIED
Tony L ChuiArgentinaAsiya Javayant RENEWAL
Octavia T PerinCanadaIvan Magalhaes PROPOSAL
Stacey S SaylorsFranceElwin Sharvill NEGOTIATION
Wickens B KuskoFranceAmy Elsner QUALIFIED
Isabel H MorascaGermanyBernardo Dominic PROPOSAL
Munro F FerenczJapanAsiya Javayant QUALIFIED
Chavez Z InouyeJapanOnyama Limba QUALIFIED
Arvin I SlusarskiSpainXuxue Feng PROPOSAL
Smith U MarrierCanadaStephen Shaw QUALIFIED
Isabel F WhobreyRussiaOnyama Limba RENEWAL
Stacey Y TollnerJapanIvan Magalhaes RENEWAL
Claire O TollnerJapanIvan Magalhaes UNQUALIFIED
Mujtaba M FerenczGermanyAsiya Javayant UNQUALIFIED
Aruna B VocelkaGermanyElwin Sharvill NEW
Leon D BowleyFranceStephen Shaw UNQUALIFIED
Maisha I RutaIndiaIvan Magalhaes NEW
Kaitlin W GlickJapanAsiya Javayant RENEWAL
Smith E GarufiBrazilElwin Sharvill PROPOSAL
Octavia F TollnerIndiaElwin Sharvill NEGOTIATION
Maria K GillianAustraliaXuxue Feng PROPOSAL
Arvin G SaylorsSpainOnyama Limba QUALIFIED
Jones D InouyeAustraliaStephen Shaw NEGOTIATION
Wickens S NestleRussiaIoni Bowcher PROPOSAL
James W FerenczSpainBernardo Dominic RENEWAL
Misaki Q SaylorsJapanAmy Elsner NEW
Ricardo E MaletGermanyIvan Magalhaes QUALIFIED
Greenwood V BowleyBrazilIoni Bowcher NEW
Cody G CaudyRussiaIoni Bowcher NEGOTIATION
Rodrigues N WaycottIndiaXuxue Feng NEW
Jeanfrancois U BologniaItalyAmy Elsner NEW
Deepesh Y BowleyFranceIoni Bowcher PROPOSAL
Maria O CaldareraJapanAmy Elsner RENEWAL
Aika F WaycottAustraliaBernardo Dominic QUALIFIED
Smith V GarufiFranceIoni Bowcher UNQUALIFIED
Cody D MarrierSpainAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore S WaycottIndiaBernardo Dominic UNQUALIFIED
Sinclair T FollerIndiaXuxue Feng RENEWAL
Juan M MorascaGermanyBernardo Dominic PROPOSAL
Octavia H GillianIndiaElwin Sharvill NEGOTIATION
Misaki D PaprockiArgentinaAmy Elsner RENEWAL
Rodrigues E NickaFranceAsiya Javayant RENEWAL
Misaki L MaletArgentinaIoni Bowcher RENEWAL
Leon C ButtUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem M CaldareraSpainOnyama Limba PROPOSAL
Mayumi L IturbideRussiaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams B TollnerBrazil2024-06-12Chapman, Ross E Esq UNQUALIFIED26Ivan Magalhaes
1001Munro G MaletArgentina2024-06-16Rangoni Of Florence QUALIFIED49Bernardo Dominic
1002Tony T DarakjyRussia2024-06-12Rousseaux, Michael Esq UNQUALIFIED91Amy Elsner
1003Cody E FlosiGermany2024-06-06Morlong Associates QUALIFIED46Anna Fali
1004Munro Y AmigonFrance2024-06-20Buckley Miller Wright PROPOSAL74Onyama Limba
1005Mujtaba B FigeroaGermany2024-06-13Benton, John B Jr NEW1Amy Elsner
1006Sinclair N RutaJapan2024-05-30Chapman, Ross E Esq NEGOTIATION24Stephen Shaw
1007James V MaletGermany2024-05-26Chanay, Jeffrey A Esq PROPOSAL11Elwin Sharvill
1008Greenwood Q InouyeFrance2024-06-19Rangoni Of Florence PROPOSAL47Ioni Bowcher
1009Isabel M WhobreyBrazil2024-06-09Feltz Printing Service UNQUALIFIED74Asiya Javayant
1010Antonio G SaylorsArgentina2024-06-11Printing Dimensions QUALIFIED90Stephen Shaw
1011Jeanfrancois I AmigonRussia2024-06-05Rangoni Of Florence QUALIFIED8Stephen Shaw
1012David U AmigonArgentina2024-06-08Feltz Printing Service PROPOSAL35Onyama Limba
1013Aditya W AlbaresItaly2024-06-15Feiner Bros NEW44Elwin Sharvill
1014Silvio A WieserUnited Kingdom2024-05-29King, Christopher A Esq NEW46Ivan Magalhaes
1015Emily O CaldareraSpain2024-06-14Printing Dimensions QUALIFIED6Amy Elsner
1016Emily N MaletJapan2024-05-27Chemel, James L Cpa UNQUALIFIED29Xuxue Feng
1017Jeanfrancois B AlbaresJapan2024-06-22Truhlar And Truhlar Attys RENEWAL30Bernardo Dominic
1018Ashley N GarufiSpain2024-06-04Feiner Bros PROPOSAL84Stephen Shaw
1019Aruna W KolmetzGermany2024-06-15Chemel, James L Cpa NEW73Ioni Bowcher
1020Julie A WieserArgentina2024-05-25Commercial Press NEGOTIATION56Stephen Shaw
1021Deepesh D WhobreyFrance2024-06-17Dorl, James J Esq RENEWAL76Stephen Shaw
1022Isabel I ChuiCanada2024-06-04Chanay, Jeffrey A Esq PROPOSAL57Asiya Javayant
1023Kadeem A TollnerCanada2024-05-31Feltz Printing Service UNQUALIFIED89Onyama Limba
1024Faith V RimIndia2024-06-15Rangoni Of Florence QUALIFIED15Amy Elsner
1025Mayumi O GauchoIndia2024-06-11Morlong Associates QUALIFIED27Stephen Shaw
1026Emily P ButtAustralia2024-05-24Feiner Bros UNQUALIFIED65Ivan Magalhaes
1027Cody F PaprockiBrazil2024-06-10Benton, John B Jr NEW29Elwin Sharvill
1028Tony B FollerItaly2024-06-18Chanay, Jeffrey A Esq NEW36Amy Elsner
1029Clifford F MaletAustralia2024-06-04Chemel, James L Cpa NEGOTIATION25Ivan Magalhaes
1030Juan L PerinIndia2024-05-25Feiner Bros UNQUALIFIED95Bernardo Dominic
1031Smith J CaudyFrance2024-05-24Morlong Associates QUALIFIED69Stephen Shaw
1032Smith K DarakjyJapan2024-05-25King, Christopher A Esq UNQUALIFIED50Ioni Bowcher
1033Izzy R PoquetteUnited Kingdom2024-05-26Printing Dimensions PROPOSAL60Ioni Bowcher
1034Costa F GlickRussia2024-05-31Rangoni Of Florence QUALIFIED52Ivan Magalhaes
1035David J CaudyGermany2024-06-02Benton, John B Jr RENEWAL81Anna Fali
1036Salvatore K TollnerItaly2024-06-01Dorl, James J Esq PROPOSAL72Amy Elsner
1037Ricardo P RulapaughFrance2024-06-21Chanay, Jeffrey A Esq RENEWAL31Onyama Limba
1038Smith O SergiSpain2024-05-31Chapman, Ross E Esq UNQUALIFIED23Anna Fali
1039Aruna O FigeroaSpain2024-05-26Commercial Press QUALIFIED88Amy Elsner
1040Adams G OstroskyFrance2024-05-25Dorl, James J Esq NEW74Ivan Magalhaes
1041David U PerinIndia2024-06-22Dorl, James J Esq NEW64Bernardo Dominic
1042Ivar M KolmetzGermany2024-06-01Chanay, Jeffrey A Esq NEW89Ivan Magalhaes
1043Maria Q InouyeItaly2024-06-03Benton, John B Jr NEGOTIATION87Asiya Javayant
1044Ivar I SlusarskiJapan2024-06-04Chanay, Jeffrey A Esq PROPOSAL45Elwin Sharvill
1045Costa V MorascaRussia2024-05-24Feltz Printing Service PROPOSAL5Stephen Shaw
1046Ricardo X FlosiRussia2024-06-08Buckley Miller Wright QUALIFIED58Amy Elsner
1047Adams G AmigonFrance2024-06-22Benton, John B Jr QUALIFIED42Bernardo Dominic
1048Juan N ButtIndia2024-06-13Rangoni Of Florence NEW7Asiya Javayant
1049Johnson I DoeItaly2024-06-08Rousseaux, Michael Esq QUALIFIED26Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois A RutaSpainAnna Fali RENEWAL
Rodrigues M BriddickArgentinaAnna Fali RENEWAL
Francesco I CaudyAustraliaStephen Shaw NEGOTIATION
Izzy B ButtUnited KingdomBernardo Dominic NEGOTIATION
Stacey Z RoysterBrazilXuxue Feng RENEWAL
Jefferson I SchemmerArgentinaAnna Fali UNQUALIFIED
Morrow T GauchoAustraliaStephen Shaw UNQUALIFIED
Mayumi B FlosiGermanyElwin Sharvill UNQUALIFIED
Adams J TollnerJapanXuxue Feng PROPOSAL
Adams X MorascaAustraliaAmy Elsner UNQUALIFIED
Antonio R GlickSpainElwin Sharvill QUALIFIED
Aditya H CampainCanadaAnna Fali UNQUALIFIED
Wickens Q GauchoBrazilStephen Shaw RENEWAL
Salvatore P InouyeIndiaStephen Shaw NEGOTIATION
Munro Q VocelkaBrazilAmy Elsner QUALIFIED
Izzy A VocelkaSpainAsiya Javayant NEGOTIATION
Leon T WieserFranceStephen Shaw QUALIFIED
Francesco B NickaFranceIvan Magalhaes NEGOTIATION
Maria I SlusarskiFranceAnna Fali NEW
Misaki P FlosiBrazilIvan Magalhaes UNQUALIFIED
Antonio H KuskoUnited KingdomAmy Elsner NEGOTIATION
Murillo W RoysterSpainElwin Sharvill UNQUALIFIED
Murillo X KolmetzBrazilIvan Magalhaes RENEWAL
Ashley G GillianUnited KingdomBernardo Dominic NEW
Darci R MacleadJapanOnyama Limba QUALIFIED
Alejandro T GlickIndiaAmy Elsner NEGOTIATION
Emily B GlickCanadaStephen Shaw RENEWAL
Leja K BowleySpainIvan Magalhaes NEGOTIATION
Costa C OldroydBrazilIvan Magalhaes RENEWAL
Greenwood M MorascaCanadaAmy Elsner QUALIFIED
Salvatore T FerenczAustraliaAsiya Javayant PROPOSAL
Ricardo G RoysterGermanyXuxue Feng NEW
Murillo D KolmetzArgentinaAnna Fali UNQUALIFIED
Cody G WhobreyGermanyOnyama Limba RENEWAL
Cody S AmigonSpainBernardo Dominic UNQUALIFIED
Jennifer I GarufiJapanElwin Sharvill NEGOTIATION
Kaitlin G FigeroaJapanOnyama Limba UNQUALIFIED
Izzy W DilliardArgentinaOnyama Limba NEGOTIATION
Jeanfrancois D RoysterRussiaStephen Shaw NEGOTIATION
Greenwood E FerenczCanadaAmy Elsner PROPOSAL
Jefferson K OstroskyUnited KingdomIoni Bowcher PROPOSAL
Rodrigues M RoysterAustraliaIoni Bowcher PROPOSAL
David A GauchoRussiaAnna Fali UNQUALIFIED
Johnson M CaudyCanadaElwin Sharvill PROPOSAL
Leon S PaprockiItalyElwin Sharvill RENEWAL
Johnson Z FollerFranceElwin Sharvill NEW
Ashley E DilliardAustraliaElwin Sharvill QUALIFIED
Aruna C GillianItalyAsiya Javayant QUALIFIED
Isabel K DoeUnited KingdomBernardo Dominic PROPOSAL
Mayumi Y OstroskyJapanIoni Bowcher NEGOTIATION
Frozen Columns
Name
David X Royster
Francesco Q Nicka
Nicolas N Sergi
Jeanfrancois L Whobrey
Salvatore Z Saylors
Deepesh I Inouye
Jeanfrancois W Schemmer
Faith V Inouye
Silvio E Poquette
Mujtaba R Chui
Octavia L Nicka
Clifford I Caldarera
Johnson S Malet
Maria I Ostrosky
Cody A Tollner
Clifford N Whobrey
Antonio Y Royster
Misaki L Foller
Jefferson X Ferencz
Deepesh T Saylors
Nicolas K Ruta
Deepesh C Paprocki
Wickens T Nestle
Emily T Marrier
Chavez A Marrier
Clifford W Royster
Costa V Oldroyd
Leon H Schemmer
Stacey S Glick
Faith M Glick
Mayumi L Stenseth
Misaki M Amigon
Smith J Venere
Aruna N Whobrey
Julie Q Figeroa
Julie V Doe
Emily I Malet
Jefferson Q Caudy
Jefferson S Sergi
Kadeem Z Kolmetz
Johnson V Gaucho
Deepesh S Kolmetz
Aditya N Stockham
Juan E Sergi
Costa T Flosi
Mayumi H Butt
Darci T Garufi
Isabel H Figeroa
Maisha L Garufi
Cody K Saylors
IdCountryDate
1000India2024-06-02
1001Russia2024-06-06
1002Canada2024-06-04
1003Japan2024-06-15
1004India2024-05-25
1005Germany2024-06-02
1006Germany2024-06-21
1007Australia2024-06-19
1008Italy2024-06-15
1009Japan2024-06-17
1010Argentina2024-06-15
1011Argentina2024-06-22
1012Australia2024-06-17
1013France2024-06-18
1014Canada2024-06-18
1015Argentina2024-06-13
1016United Kingdom2024-06-04
1017Australia2024-06-13
1018Germany2024-06-08
1019Canada2024-06-09
1020Russia2024-06-09
1021Italy2024-06-06
1022India2024-06-11
1023Germany2024-06-12
1024Japan2024-05-31
1025France2024-06-08
1026France2024-06-14
1027Argentina2024-06-14
1028Germany2024-06-08
1029Brazil2024-06-06
1030Italy2024-05-27
1031Australia2024-06-15
1032Germany2024-06-05
1033Argentina2024-06-08
1034Brazil2024-06-06
1035India2024-06-12
1036India2024-06-05
1037United Kingdom2024-06-12
1038United Kingdom2024-05-30
1039Argentina2024-06-22
1040Italy2024-05-27
1041Australia2024-05-30
1042Argentina2024-06-10
1043Italy2024-06-11
1044United Kingdom2024-06-12
1045Australia2024-05-29
1046Australia2024-06-06
1047Russia2024-06-11
1048Argentina2024-06-06
1049Australia2024-06-07

On-Demand Data

NameIdCountryDate
Costa S Vocelka1000Australia2024-06-02
Antonio C Slusarski1001United Kingdom2024-06-21
Jeanfrancois C Saylors1002United Kingdom2024-05-26
Johnson V Caldarera1003Argentina2024-06-21
Izzy Y Stenseth1004Russia2024-05-31
Ashley H Darakjy1005Italy2024-05-30
Salvatore N Schemmer1006Spain2024-06-20
Leon V Dilliard1007Australia2024-06-07
Tony W Bowley1008Brazil2024-06-22
Cody N Kusko1009United Kingdom2024-05-27
Johnson J Perin1010Russia2024-06-20
James Y Saylors1011France2024-05-29
Munro J Venere1012Argentina2024-06-04
Alejandro K Rim1013Argentina2024-06-12
Ashley L Garufi1014United Kingdom2024-06-14
Murillo G Stockham1015Brazil2024-06-15
Morrow X Albares1016Germany2024-06-15
Clifford Y Marrier1017Australia2024-05-27
Kaitlin Q Gaucho1018India2024-06-03
Emily N Venere1019Spain2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi K FlosiArgentinaStephen Shaw NEW
Octavia T AlbaresAustraliaStephen Shaw UNQUALIFIED
Stacey Z SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Emily J VocelkaBrazilAsiya Javayant UNQUALIFIED
Darci Y KolmetzSpainBernardo Dominic PROPOSAL
Ashley V SergiRussiaStephen Shaw UNQUALIFIED
Nicolas E SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Arvin Q ShinkoJapanXuxue Feng NEGOTIATION
Mayumi T RutaAustraliaIvan Magalhaes QUALIFIED
Juan L PoquetteIndiaOnyama Limba RENEWAL
Mayumi G NestleGermanyStephen Shaw NEW
Aruna W AlbaresBrazilXuxue Feng RENEWAL
Antonio O MarrierItalyIvan Magalhaes UNQUALIFIED
Salvatore W BriddickGermanyBernardo Dominic UNQUALIFIED
Leja Y NestleArgentinaXuxue Feng UNQUALIFIED
Adams R GlickSpainXuxue Feng PROPOSAL
Darci S AmigonBrazilXuxue Feng NEW
Nicolas X CampainJapanElwin Sharvill RENEWAL
Deepesh I CaldareraFranceIoni Bowcher RENEWAL
Stacey Q DoeBrazilElwin Sharvill PROPOSAL
Izzy T ButtUnited KingdomAnna Fali QUALIFIED
Adams A BologniaAustraliaIoni Bowcher PROPOSAL
Izzy K RoysterItalyAsiya Javayant NEGOTIATION
Rodrigues N DilliardSpainAmy Elsner UNQUALIFIED
Sinclair J BologniaGermanyOnyama Limba NEW
James N RulapaughBrazilOnyama Limba NEW
Ashley U SchemmerRussiaAsiya Javayant NEW
Arvin M KuskoItalyAnna Fali RENEWAL
Octavia A DilliardRussiaElwin Sharvill NEGOTIATION
Morrow Y StensethUnited KingdomOnyama Limba NEGOTIATION
Misaki E AlbaresFranceAmy Elsner QUALIFIED
Antonio C FigeroaFranceIvan Magalhaes NEW
Nicolas X WhobreySpainAmy Elsner PROPOSAL
Leja C OstroskyBrazilAnna Fali QUALIFIED
Antonio Y WhobreyAustraliaXuxue Feng RENEWAL
Silvio V VenereUnited KingdomBernardo Dominic NEGOTIATION
Chavez V ChuiUnited KingdomIvan Magalhaes NEW
Emily O SergiItalyElwin Sharvill RENEWAL
Aruna S DoeIndiaStephen Shaw NEGOTIATION
Julie E WieserUnited KingdomAmy Elsner QUALIFIED

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