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
Adams S SergiRussiaOnyama Limba QUALIFIED
Kaitlin E PoquetteCanadaAsiya Javayant NEW
Smith U RoysterIndiaStephen Shaw PROPOSAL
Emily G NickaItalyXuxue Feng NEW
Ricardo A IturbideItalyBernardo Dominic NEW
Morrow S SlusarskiUnited KingdomAmy Elsner PROPOSAL
Costa Y TollnerAustraliaIvan Magalhaes UNQUALIFIED
Johnson Q FollerUnited KingdomIoni Bowcher QUALIFIED
Leon O WieserFranceIvan Magalhaes PROPOSAL
David V MarrierItalyIvan Magalhaes NEGOTIATION
Misaki T StockhamArgentinaAmy Elsner NEW
Kaitlin I SergiSpainStephen Shaw NEW
Isabel R NickaBrazilAsiya Javayant PROPOSAL
Francesco J CaldareraArgentinaIoni Bowcher PROPOSAL
Juan W CampainItalyXuxue Feng RENEWAL
Adams N SchemmerRussiaOnyama Limba NEGOTIATION
Darci O SchemmerArgentinaIoni Bowcher NEGOTIATION
Smith Z SergiJapanIvan Magalhaes NEW
Claire S GauchoGermanyStephen Shaw UNQUALIFIED
Misaki D MaletJapanIvan Magalhaes NEGOTIATION
Izzy G MarrierAustraliaStephen Shaw PROPOSAL
Tony P SlusarskiFranceStephen Shaw QUALIFIED
Nicolas S GlickSpainAmy Elsner PROPOSAL
Johnson C RutaArgentinaOnyama Limba NEW
Tony T InouyeIndiaIoni Bowcher QUALIFIED
Adams D RutaJapanElwin Sharvill NEW
Ashley U BologniaJapanAsiya Javayant RENEWAL
Kadeem P GauchoSpainIoni Bowcher NEGOTIATION
Deepesh M GarufiRussiaAsiya Javayant RENEWAL
Jennifer F MaletIndiaElwin Sharvill UNQUALIFIED
Izzy W FigeroaUnited KingdomAnna Fali UNQUALIFIED
Sinclair C BologniaItalyIvan Magalhaes NEGOTIATION
Aika D WieserCanadaOnyama Limba QUALIFIED
Smith Z SergiUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois T PoquetteSpainStephen Shaw UNQUALIFIED
Kadeem B RutaIndiaElwin Sharvill NEW
Francesco E RutaGermanyAmy Elsner UNQUALIFIED
Nicolas L BriddickUnited KingdomXuxue Feng QUALIFIED
Claire P StockhamIndiaXuxue Feng UNQUALIFIED
David C PoquetteAustraliaStephen Shaw QUALIFIED
Jeanfrancois U TollnerGermanyIoni Bowcher UNQUALIFIED
Maisha H BologniaFranceIoni Bowcher NEGOTIATION
Jeanfrancois J CaldareraGermanyOnyama Limba PROPOSAL
Octavia R NestleArgentinaBernardo Dominic NEW
Kaitlin E DilliardRussiaBernardo Dominic QUALIFIED
Darci Y OstroskyRussiaStephen Shaw UNQUALIFIED
Ashley K CampainSpainIvan Magalhaes UNQUALIFIED
Arvin S RoysterArgentinaElwin Sharvill RENEWAL
Smith H WhobreyGermanyStephen Shaw UNQUALIFIED
Jeanfrancois T NickaIndiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith O WhobreyFranceBernardo Dominic UNQUALIFIED
Leon I DarakjyRussiaAmy Elsner NEGOTIATION
Nicolas K VocelkaSpainXuxue Feng NEW
Jones L RoysterBrazilIvan Magalhaes UNQUALIFIED
Emily E DoeIndiaStephen Shaw NEW
David O FerenczCanadaAsiya Javayant RENEWAL
Ricardo T ButtFranceIvan Magalhaes NEW
Smith N MacleadFranceIoni Bowcher RENEWAL
Leja V BowleyArgentinaAnna Fali UNQUALIFIED
Murillo V BowleyCanadaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones O RutaUnited Kingdom2024-06-18Buckley Miller Wright RENEWAL4Amy Elsner
1001Misaki T VocelkaJapan2024-06-21Chanay, Jeffrey A Esq QUALIFIED10Ivan Magalhaes
1002Ivar F MacleadAustralia2024-05-28King, Christopher A Esq QUALIFIED83Amy Elsner
1003Arvin M RulapaughSpain2024-05-26Feiner Bros RENEWAL4Asiya Javayant
1004Jennifer Z OldroydIndia2024-06-01Commercial Press RENEWAL71Onyama Limba
1005Isabel S RutaSpain2024-05-28Chapman, Ross E Esq QUALIFIED83Stephen Shaw
1006Jeanfrancois Q PaprockiGermany2024-05-27Printing Dimensions RENEWAL39Ioni Bowcher
1007Sinclair V ChuiGermany2024-06-10Rangoni Of Florence PROPOSAL57Asiya Javayant
1008David F PaprockiGermany2024-05-23Rangoni Of Florence NEW43Onyama Limba
1009Misaki N DoeGermany2024-06-04Printing Dimensions QUALIFIED6Ivan Magalhaes
1010Johnson C SchemmerArgentina2024-06-09Buckley Miller Wright QUALIFIED97Elwin Sharvill
1011Emily E BologniaCanada2024-06-06Commercial Press QUALIFIED44Stephen Shaw
1012Jefferson T FollerFrance2024-06-02Rousseaux, Michael Esq NEGOTIATION14Stephen Shaw
1013Munro D RulapaughAustralia2024-06-19Buckley Miller Wright PROPOSAL30Amy Elsner
1014Aika J MarrierJapan2024-06-12Dorl, James J Esq QUALIFIED60Stephen Shaw
1015Jones C MacleadItaly2024-06-15Rangoni Of Florence UNQUALIFIED18Elwin Sharvill
1016Misaki P OstroskyArgentina2024-06-20Rangoni Of Florence PROPOSAL14Amy Elsner
1017Chavez T OldroydSpain2024-06-13Rangoni Of Florence NEGOTIATION67Anna Fali
1018Kadeem V KuskoRussia2024-06-06Chapman, Ross E Esq NEGOTIATION21Anna Fali
1019Ricardo P WaycottRussia2024-06-11Morlong Associates PROPOSAL14Elwin Sharvill
1020Jones Z MacleadGermany2024-06-12Feltz Printing Service PROPOSAL63Amy Elsner
1021Maisha Q FerenczBrazil2024-05-28Buckley Miller Wright RENEWAL77Stephen Shaw
1022Cody L FlosiItaly2024-05-31Buckley Miller Wright PROPOSAL94Elwin Sharvill
1023Antonio E FigeroaGermany2024-06-08Buckley Miller Wright QUALIFIED38Xuxue Feng
1024Morrow T OldroydCanada2024-06-14Feltz Printing Service UNQUALIFIED13Asiya Javayant
1025Octavia Z TollnerIndia2024-05-30Rangoni Of Florence UNQUALIFIED93Bernardo Dominic
1026Mujtaba P MarrierGermany2024-05-25Commercial Press RENEWAL32Bernardo Dominic
1027Faith E CampainItaly2024-05-31Chanay, Jeffrey A Esq QUALIFIED25Elwin Sharvill
1028Greenwood Z RutaBrazil2024-06-11Commercial Press UNQUALIFIED82Asiya Javayant
1029Cody G VenereFrance2024-05-31Printing Dimensions QUALIFIED87Asiya Javayant
1030Aditya B NickaBrazil2024-05-29Feiner Bros UNQUALIFIED29Ivan Magalhaes
1031Deepesh G StensethJapan2024-06-01Feltz Printing Service NEW49Ioni Bowcher
1032Silvio E SergiArgentina2024-05-27Rangoni Of Florence NEGOTIATION74Stephen Shaw
1033Arvin L PaprockiArgentina2024-06-21Chanay, Jeffrey A Esq RENEWAL66Ivan Magalhaes
1034Clifford M MaletCanada2024-06-05Buckley Miller Wright RENEWAL38Amy Elsner
1035Izzy X RutaSpain2024-06-10Chemel, James L Cpa QUALIFIED67Bernardo Dominic
1036Darci V OldroydJapan2024-06-01Chemel, James L Cpa PROPOSAL80Amy Elsner
1037Rodrigues K AmigonCanada2024-06-18Feltz Printing Service NEW60Stephen Shaw
1038Cody G MorascaUnited Kingdom2024-06-20Morlong Associates PROPOSAL87Xuxue Feng
1039Stacey K GlickAustralia2024-05-31Morlong Associates PROPOSAL43Xuxue Feng
1040Ashley K BowleyArgentina2024-05-25Printing Dimensions UNQUALIFIED18Elwin Sharvill
1041Mujtaba C RulapaughCanada2024-06-12King, Christopher A Esq PROPOSAL74Ivan Magalhaes
1042Antonio Q InouyeCanada2024-06-03Rousseaux, Michael Esq NEGOTIATION74Ivan Magalhaes
1043Octavia I DarakjyJapan2024-05-25Buckley Miller Wright UNQUALIFIED26Onyama Limba
1044Faith K WhobreyIndia2024-05-26Printing Dimensions RENEWAL76Xuxue Feng
1045Tony X AlbaresIndia2024-05-26Buckley Miller Wright RENEWAL24Onyama Limba
1046Smith K BriddickAustralia2024-05-29Dorl, James J Esq PROPOSAL50Onyama Limba
1047Deepesh V IturbideArgentina2024-05-30Morlong Associates QUALIFIED49Elwin Sharvill
1048Costa T MaletFrance2024-06-18Rousseaux, Michael Esq NEGOTIATION75Ivan Magalhaes
1049Ashley Q TollnerCanada2024-06-20Truhlar And Truhlar Attys UNQUALIFIED71Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mayumi N RulapaughIndiaStephen Shaw NEW
Ashley T IturbideFranceIvan Magalhaes RENEWAL
Johnson H MaletArgentinaAnna Fali PROPOSAL
Maria D CaldareraArgentinaElwin Sharvill NEW
Jones D DilliardArgentinaOnyama Limba QUALIFIED
Jennifer W BowleyGermanyBernardo Dominic NEGOTIATION
Costa Y RoysterGermanyXuxue Feng RENEWAL
Salvatore H ButtRussiaBernardo Dominic RENEWAL
Clifford L BowleyRussiaElwin Sharvill PROPOSAL
Antonio T NestleAustraliaAmy Elsner UNQUALIFIED
Aruna X MarrierAustraliaXuxue Feng PROPOSAL
Adams N GillianJapanXuxue Feng PROPOSAL
Stacey B WhobreyGermanyAsiya Javayant RENEWAL
Morrow M SchemmerAustraliaXuxue Feng PROPOSAL
Ivar Q OstroskyGermanyAnna Fali PROPOSAL
Francesco A IturbideSpainXuxue Feng NEGOTIATION
Stacey Z MaletRussiaXuxue Feng RENEWAL
Costa K MacleadItalyAmy Elsner NEW
David P PerinRussiaOnyama Limba PROPOSAL
Leon W NickaCanadaStephen Shaw NEW
David M DilliardRussiaBernardo Dominic NEGOTIATION
Kaitlin I ChuiGermanyStephen Shaw NEGOTIATION
Alejandro T CaldareraAustraliaBernardo Dominic RENEWAL
Munro Y MacleadAustraliaIvan Magalhaes NEGOTIATION
Greenwood N GarufiUnited KingdomAnna Fali RENEWAL
Isabel J PerinCanadaIoni Bowcher NEGOTIATION
Morrow X BologniaFranceStephen Shaw QUALIFIED
Leon I SchemmerItalyXuxue Feng QUALIFIED
Emily S OldroydArgentinaStephen Shaw UNQUALIFIED
Wickens P PaprockiRussiaIoni Bowcher UNQUALIFIED
Murillo P KolmetzBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois L StockhamUnited KingdomOnyama Limba QUALIFIED
Claire H GlickItalyOnyama Limba RENEWAL
Emily Q StensethArgentinaStephen Shaw RENEWAL
Johnson Z GarufiRussiaOnyama Limba UNQUALIFIED
James S ChuiArgentinaIoni Bowcher PROPOSAL
Kadeem A WhobreyCanadaIvan Magalhaes NEGOTIATION
Leja Y MacleadArgentinaElwin Sharvill NEGOTIATION
Octavia O GillianRussiaElwin Sharvill UNQUALIFIED
Kadeem N PoquetteItalyXuxue Feng RENEWAL
Leja W MorascaUnited KingdomIoni Bowcher QUALIFIED
Isabel N TollnerAustraliaStephen Shaw NEGOTIATION
Johnson Z CaudyGermanyXuxue Feng PROPOSAL
Adams G ButtItalyStephen Shaw RENEWAL
Leon W KolmetzItalyIvan Magalhaes RENEWAL
Smith B OldroydIndiaAsiya Javayant UNQUALIFIED
Faith B PerinFranceAmy Elsner NEW
Mujtaba F PaprockiCanadaAsiya Javayant UNQUALIFIED
Kaitlin V OstroskyRussiaAmy Elsner NEW
Johnson U OstroskySpainAmy Elsner PROPOSAL
Frozen Columns
Name
Cody V Ostrosky
Greenwood C Rulapaugh
Morrow Z Flosi
Emily B Briddick
Kadeem R Marrier
Antonio U Morasca
Jefferson S Tollner
Sinclair Q Inouye
Rodrigues T Venere
Antonio N Rulapaugh
Jefferson K Maclead
Aruna U Marrier
Leon S Figeroa
Jones U Saylors
Antonio Y Nicka
Julie P Inouye
Munro Z Bolognia
Leja H Ferencz
Clifford R Flosi
Munro C Rim
Alejandro I Iturbide
Leja P Venere
Maisha O Slusarski
Aruna E Stenseth
Smith M Darakjy
Maisha I Flosi
Alejandro C Royster
Misaki S Shinko
Tony E Slusarski
Mayumi H Amigon
Darci D Glick
Cody E Wieser
Antonio S Tollner
Julie H Briddick
Murillo C Glick
Costa A Oldroyd
David U Slusarski
Deepesh O Saylors
Leon F Vocelka
Jeanfrancois U Paprocki
Rodrigues Y Bowley
Jefferson J Butt
Octavia W Kusko
Arvin Y Ruta
Claire V Vocelka
Sinclair V Rulapaugh
Adams J Gillian
Aika H Albares
Murillo A Foller
Jennifer P Darakjy
IdCountryDate
1000Italy2024-06-16
1001Brazil2024-06-21
1002Argentina2024-05-31
1003India2024-06-09
1004Italy2024-06-08
1005Germany2024-05-24
1006Argentina2024-06-05
1007India2024-06-16
1008Spain2024-06-11
1009Italy2024-06-08
1010Brazil2024-06-01
1011Australia2024-05-31
1012Italy2024-05-23
1013Italy2024-05-25
1014France2024-05-29
1015Germany2024-06-17
1016Brazil2024-05-24
1017Spain2024-05-31
1018United Kingdom2024-06-16
1019Germany2024-06-11
1020Japan2024-06-17
1021United Kingdom2024-05-29
1022Argentina2024-06-01
1023Canada2024-06-14
1024India2024-06-14
1025France2024-06-03
1026Brazil2024-06-04
1027Australia2024-06-13
1028Germany2024-05-31
1029India2024-05-23
1030France2024-06-15
1031Japan2024-06-04
1032Argentina2024-06-15
1033Australia2024-05-30
1034Russia2024-05-25
1035Spain2024-06-10
1036Russia2024-06-06
1037France2024-06-03
1038India2024-05-28
1039Argentina2024-06-07
1040Russia2024-06-11
1041Australia2024-06-16
1042Germany2024-05-25
1043Argentina2024-05-30
1044Australia2024-06-16
1045United Kingdom2024-06-04
1046India2024-05-26
1047Italy2024-05-25
1048Japan2024-06-02
1049Argentina2024-06-15

On-Demand Data

NameIdCountryDate
Mujtaba W Bolognia1000Argentina2024-06-13
Maria L Nicka1001Canada2024-05-24
Ashley V Malet1002United Kingdom2024-06-08
Nicolas K Bolognia1003United Kingdom2024-06-13
Costa I Doe1004Brazil2024-06-12
Costa G Poquette1005France2024-06-13
Emily I Chui1006Canada2024-06-15
Silvio S Bolognia1007Australia2024-05-25
Sinclair T Whobrey1008France2024-06-02
Nicolas H Wieser1009Japan2024-06-09
Arvin W Malet1010Italy2024-06-13
Mayumi J Malet1011Canada2024-06-21
Clifford J Poquette1012Australia2024-06-04
Izzy G Poquette1013Spain2024-06-14
Maisha B Iturbide1014Russia2024-05-24
Octavia G Malet1015United Kingdom2024-06-18
Maria C Ruta1016Japan2024-06-03
Clifford Y Ostrosky1017Canada2024-05-31
Aditya B Bolognia1018Japan2024-06-13
Maria A Amigon1019Argentina2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh A MorascaUnited KingdomXuxue Feng PROPOSAL
Deepesh N WaycottBrazilXuxue Feng QUALIFIED
Jeanfrancois G MacleadSpainAsiya Javayant NEGOTIATION
Jefferson E BowleyFranceAmy Elsner NEW
Mayumi V ChuiRussiaIoni Bowcher RENEWAL
Jefferson S BriddickUnited KingdomIvan Magalhaes QUALIFIED
Claire I CaudyUnited KingdomOnyama Limba RENEWAL
Claire O PerinArgentinaAnna Fali PROPOSAL
Ivar E PerinCanadaBernardo Dominic PROPOSAL
Sinclair V StockhamGermanyAsiya Javayant NEW
Misaki B CampainCanadaIoni Bowcher RENEWAL
Claire B GillianAustraliaBernardo Dominic NEGOTIATION
Ashley I MaletAustraliaIvan Magalhaes QUALIFIED
Emily L VenereAustraliaIoni Bowcher NEW
Claire S RoysterFranceStephen Shaw QUALIFIED
David T PerinSpainBernardo Dominic QUALIFIED
Claire I RutaIndiaElwin Sharvill PROPOSAL
Aika Z VocelkaAustraliaAnna Fali RENEWAL
Kaitlin Q WieserArgentinaBernardo Dominic NEGOTIATION
Stacey L VocelkaCanadaAmy Elsner UNQUALIFIED
Kaitlin X FerenczSpainBernardo Dominic PROPOSAL
Octavia E CaldareraCanadaIoni Bowcher PROPOSAL
Emily Q VocelkaCanadaBernardo Dominic UNQUALIFIED
Izzy Y FerenczRussiaAsiya Javayant QUALIFIED
Johnson P StockhamUnited KingdomIvan Magalhaes NEW
Kaitlin C RutaFranceAsiya Javayant NEW
Morrow C MaletIndiaBernardo Dominic PROPOSAL
Kadeem V MacleadBrazilIoni Bowcher RENEWAL
Izzy G FollerCanadaBernardo Dominic QUALIFIED
Darci E GlickGermanyElwin Sharvill RENEWAL
Aika O RoysterAustraliaXuxue Feng NEGOTIATION
Costa M StensethIndiaElwin Sharvill NEGOTIATION
Alejandro K BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois W RutaJapanAsiya Javayant NEW
Clifford Q MaletUnited KingdomIvan Magalhaes NEW
Aditya U FlosiCanadaOnyama Limba RENEWAL
Murillo K GlickAustraliaElwin Sharvill NEGOTIATION
Deepesh I KolmetzBrazilStephen Shaw NEW
Alejandro T InouyeSpainStephen Shaw RENEWAL
Arvin H StockhamAustraliaXuxue Feng 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>