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 P OstroskyIndiaElwin Sharvill PROPOSAL
Jennifer D NickaFranceXuxue Feng NEGOTIATION
Smith H GillianRussiaIoni Bowcher PROPOSAL
Izzy B BriddickJapanIoni Bowcher QUALIFIED
Costa S FigeroaArgentinaAnna Fali NEGOTIATION
Morrow D MorascaAustraliaElwin Sharvill NEW
Cody F GlickArgentinaIoni Bowcher NEGOTIATION
Johnson Z VenereJapanIvan Magalhaes QUALIFIED
Sinclair O GlickJapanStephen Shaw RENEWAL
Munro V FerenczGermanyIvan Magalhaes NEGOTIATION
Morrow Q CampainGermanyElwin Sharvill RENEWAL
Isabel J RoysterBrazilXuxue Feng NEGOTIATION
Johnson P CaudySpainBernardo Dominic PROPOSAL
Leon E BriddickGermanyAmy Elsner NEGOTIATION
Adams V MorascaSpainAsiya Javayant RENEWAL
Morrow Q MaletSpainIoni Bowcher NEGOTIATION
Aruna T WieserGermanyOnyama Limba NEGOTIATION
Faith W BowleyItalyElwin Sharvill PROPOSAL
Claire F GlickBrazilIvan Magalhaes NEW
James P GauchoBrazilXuxue Feng NEW
Francesco R BriddickAustraliaAmy Elsner UNQUALIFIED
Mayumi I RoysterJapanIvan Magalhaes UNQUALIFIED
Deepesh X VocelkaItalyElwin Sharvill NEGOTIATION
Aika A GillianGermanyXuxue Feng QUALIFIED
Aika A FlosiGermanyIvan Magalhaes NEGOTIATION
Nicolas W AlbaresUnited KingdomBernardo Dominic QUALIFIED
Jefferson K FollerGermanyAsiya Javayant PROPOSAL
Greenwood B SchemmerSpainXuxue Feng QUALIFIED
Sinclair O PerinUnited KingdomIvan Magalhaes QUALIFIED
Emily Z StockhamIndiaOnyama Limba NEGOTIATION
Maria C ButtAustraliaStephen Shaw QUALIFIED
Wickens F CaudyIndiaOnyama Limba QUALIFIED
Juan A OldroydCanadaOnyama Limba NEGOTIATION
Adams S FerenczJapanElwin Sharvill PROPOSAL
Jefferson W FollerUnited KingdomAsiya Javayant PROPOSAL
Jones Y PoquetteAustraliaAmy Elsner PROPOSAL
Claire H WieserGermanyXuxue Feng UNQUALIFIED
Juan B BriddickCanadaElwin Sharvill RENEWAL
Misaki V MacleadJapanAsiya Javayant UNQUALIFIED
Kaitlin R FigeroaJapanAmy Elsner NEGOTIATION
Smith D GlickGermanyIoni Bowcher NEW
Mayumi E MorascaArgentinaStephen Shaw PROPOSAL
Aika M GillianIndiaElwin Sharvill PROPOSAL
Juan C GillianJapanBernardo Dominic RENEWAL
Deepesh R AlbaresFranceAsiya Javayant UNQUALIFIED
Emily T AlbaresSpainStephen Shaw NEW
Silvio F StockhamIndiaOnyama Limba PROPOSAL
Aditya R BowleyBrazilAnna Fali NEW
Jennifer C StensethUnited KingdomAsiya Javayant NEW
Jefferson U RoysterCanadaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa E PoquetteUnited KingdomAsiya Javayant RENEWAL
David A StensethItalyElwin Sharvill QUALIFIED
Clifford U StockhamFranceXuxue Feng QUALIFIED
Maisha S KuskoUnited KingdomAsiya Javayant PROPOSAL
Francesco B GarufiIndiaAmy Elsner RENEWAL
Munro J DoeFranceAsiya Javayant NEGOTIATION
Clifford Z RulapaughSpainBernardo Dominic NEW
Aditya L FlosiAustraliaStephen Shaw UNQUALIFIED
Adams B SchemmerCanadaXuxue Feng NEGOTIATION
Mujtaba L RimJapanXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya O VocelkaFrance2024-06-03Morlong Associates UNQUALIFIED91Onyama Limba
1001Leja D GillianGermany2024-06-06Rangoni Of Florence UNQUALIFIED28Amy Elsner
1002Isabel R AlbaresItaly2024-05-30Benton, John B Jr UNQUALIFIED16Asiya Javayant
1003Costa L MaletRussia2024-05-29Chemel, James L Cpa NEW53Asiya Javayant
1004Sinclair P CampainJapan2024-06-20Chanay, Jeffrey A Esq NEW36Stephen Shaw
1005Ricardo A FollerFrance2024-06-07Chanay, Jeffrey A Esq RENEWAL52Elwin Sharvill
1006Arvin J DoeSpain2024-06-16Commercial Press NEW76Stephen Shaw
1007Cody T SergiUnited Kingdom2024-06-14Feltz Printing Service NEW25Amy Elsner
1008Wickens Y SergiGermany2024-06-23Feltz Printing Service UNQUALIFIED77Ioni Bowcher
1009Jefferson S PerinItaly2024-06-09Truhlar And Truhlar Attys PROPOSAL72Ioni Bowcher
1010Arvin V AlbaresArgentina2024-06-20Chemel, James L Cpa UNQUALIFIED51Stephen Shaw
1011Jennifer D DarakjyJapan2024-06-16Benton, John B Jr NEW11Elwin Sharvill
1012Leon A AmigonUnited Kingdom2024-05-25Dorl, James J Esq RENEWAL18Elwin Sharvill
1013Chavez A SlusarskiJapan2024-05-26Chapman, Ross E Esq UNQUALIFIED5Asiya Javayant
1014Antonio I KolmetzItaly2024-06-23Benton, John B Jr QUALIFIED3Ioni Bowcher
1015Arvin I RimGermany2024-06-06Feltz Printing Service RENEWAL16Asiya Javayant
1016Maisha C BowleyArgentina2024-05-31Dorl, James J Esq RENEWAL30Elwin Sharvill
1017David R MarrierSpain2024-06-18Morlong Associates UNQUALIFIED37Anna Fali
1018Faith I KolmetzGermany2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED7Elwin Sharvill
1019Aditya I IturbideSpain2024-06-11Chapman, Ross E Esq NEW64Xuxue Feng
1020Jeanfrancois L ShinkoItaly2024-06-05Commercial Press UNQUALIFIED4Bernardo Dominic
1021David J WaycottGermany2024-05-27Morlong Associates QUALIFIED37Ioni Bowcher
1022Maisha R DoeSpain2024-05-30Feiner Bros QUALIFIED54Stephen Shaw
1023Darci X ShinkoItaly2024-05-29Chapman, Ross E Esq QUALIFIED68Xuxue Feng
1024Emily T CampainCanada2024-05-25Buckley Miller Wright RENEWAL58Amy Elsner
1025Sinclair O MarrierFrance2024-06-11Commercial Press RENEWAL65Elwin Sharvill
1026Kaitlin I OldroydAustralia2024-06-03Chemel, James L Cpa QUALIFIED86Asiya Javayant
1027Leja G BologniaAustralia2024-06-03Printing Dimensions PROPOSAL91Ioni Bowcher
1028Isabel L BowleySpain2024-06-17Rangoni Of Florence PROPOSAL1Onyama Limba
1029Ricardo C PaprockiBrazil2024-06-08Buckley Miller Wright UNQUALIFIED16Onyama Limba
1030Darci H FollerBrazil2024-06-18Morlong Associates RENEWAL82Xuxue Feng
1031Arvin F MorascaItaly2024-06-10Commercial Press PROPOSAL65Elwin Sharvill
1032Stacey O WaycottUnited Kingdom2024-06-08Chemel, James L Cpa QUALIFIED85Stephen Shaw
1033Morrow B FerenczSpain2024-06-18Truhlar And Truhlar Attys RENEWAL43Elwin Sharvill
1034Juan G IturbideGermany2024-06-08Rangoni Of Florence NEW6Elwin Sharvill
1035Sinclair D CampainArgentina2024-05-30Rangoni Of Florence NEW11Asiya Javayant
1036Jeanfrancois A NickaItaly2024-06-19Printing Dimensions PROPOSAL78Amy Elsner
1037Maria N GillianAustralia2024-06-06Morlong Associates PROPOSAL78Ivan Magalhaes
1038Jennifer A RulapaughItaly2024-05-31Chemel, James L Cpa NEW78Ioni Bowcher
1039Octavia A KolmetzUnited Kingdom2024-06-09Commercial Press QUALIFIED62Amy Elsner
1040Munro T FlosiUnited Kingdom2024-06-02Morlong Associates PROPOSAL7Elwin Sharvill
1041Costa Y SlusarskiFrance2024-05-30King, Christopher A Esq UNQUALIFIED63Anna Fali
1042Leon Q BriddickSpain2024-06-08Rousseaux, Michael Esq UNQUALIFIED46Anna Fali
1043Misaki K MacleadCanada2024-06-10Rangoni Of Florence RENEWAL92Amy Elsner
1044Nicolas Y CampainFrance2024-05-26Chemel, James L Cpa UNQUALIFIED58Ivan Magalhaes
1045Munro A GarufiArgentina2024-06-07Rousseaux, Michael Esq QUALIFIED98Xuxue Feng
1046Aika V KolmetzAustralia2024-06-11Buckley Miller Wright NEW62Amy Elsner
1047James T GauchoJapan2024-06-22Morlong Associates UNQUALIFIED81Onyama Limba
1048Wickens X BologniaArgentina2024-06-18Chapman, Ross E Esq NEW78Elwin Sharvill
1049Stacey Y GauchoSpain2024-05-26Rangoni Of Florence UNQUALIFIED10Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Misaki W DoeCanadaElwin Sharvill NEGOTIATION
Rodrigues B OstroskyFranceIvan Magalhaes QUALIFIED
Maria C RimFranceAnna Fali UNQUALIFIED
David B VenereIndiaElwin Sharvill NEGOTIATION
Sinclair U SaylorsJapanBernardo Dominic QUALIFIED
Antonio L RutaSpainIoni Bowcher UNQUALIFIED
Murillo J ChuiRussiaIoni Bowcher NEGOTIATION
Emily V PaprockiRussiaAmy Elsner UNQUALIFIED
Leja S NickaItalyStephen Shaw RENEWAL
Aditya B FerenczFranceOnyama Limba PROPOSAL
Nicolas C OldroydGermanyXuxue Feng UNQUALIFIED
Costa L MacleadAustraliaIoni Bowcher NEGOTIATION
Aruna R RimFranceIvan Magalhaes UNQUALIFIED
Misaki Z GauchoItalyIvan Magalhaes PROPOSAL
Darci Y NickaGermanyStephen Shaw NEGOTIATION
Claire G VocelkaSpainXuxue Feng PROPOSAL
Tony W OldroydSpainAsiya Javayant UNQUALIFIED
Silvio K CaudyAustraliaIvan Magalhaes PROPOSAL
Aika R MaletGermanyAmy Elsner PROPOSAL
Silvio U IturbideAustraliaBernardo Dominic PROPOSAL
Greenwood T NickaRussiaStephen Shaw RENEWAL
Jefferson B NickaGermanyIvan Magalhaes RENEWAL
Chavez V WhobreyRussiaElwin Sharvill NEW
Jefferson P DarakjyRussiaIvan Magalhaes UNQUALIFIED
Ivar W WieserJapanAsiya Javayant QUALIFIED
Octavia V AlbaresCanadaOnyama Limba NEGOTIATION
Izzy G OstroskyAustraliaElwin Sharvill QUALIFIED
Jefferson M KolmetzItalyElwin Sharvill QUALIFIED
Emily D CaudyJapanIoni Bowcher QUALIFIED
Ricardo K MaletRussiaStephen Shaw PROPOSAL
Jefferson B AlbaresUnited KingdomXuxue Feng NEGOTIATION
Jefferson W PerinItalyXuxue Feng PROPOSAL
Aruna E FollerBrazilAnna Fali RENEWAL
Juan J FlosiRussiaBernardo Dominic NEGOTIATION
Leja I MaletFranceStephen Shaw NEW
Cody V IturbideRussiaStephen Shaw PROPOSAL
Mayumi D WaycottGermanyAnna Fali RENEWAL
Maria I BologniaUnited KingdomAmy Elsner RENEWAL
Juan A CaldareraArgentinaStephen Shaw NEW
Francesco E BowleyIndiaXuxue Feng RENEWAL
Alejandro S AmigonSpainIvan Magalhaes PROPOSAL
Francesco L GauchoSpainElwin Sharvill QUALIFIED
Arvin P RutaBrazilIvan Magalhaes QUALIFIED
Silvio H SaylorsCanadaAnna Fali UNQUALIFIED
Rodrigues E DilliardItalyBernardo Dominic PROPOSAL
Morrow Y TollnerBrazilBernardo Dominic PROPOSAL
Wickens K RulapaughArgentinaOnyama Limba QUALIFIED
Antonio Q SergiRussiaAsiya Javayant RENEWAL
Francesco X WaycottArgentinaOnyama Limba NEW
Jeanfrancois N DarakjyFranceIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Ivar N Perin
Chavez Y Glick
Jones D Slusarski
Aruna K Slusarski
Costa H Gaucho
Silvio X Butt
Chavez X Nestle
Nicolas E Gaucho
Mayumi T Chui
David F Butt
Julie E Iturbide
Kadeem N Perin
Jefferson T Inouye
Maria G Morasca
Faith S Royster
Kadeem Z Whobrey
Smith M Amigon
Alejandro C Rim
Tony J Inouye
Nicolas T Poquette
Smith A Poquette
Munro Y Royster
Claire G Malet
Rodrigues Q Ferencz
Leja F Foller
Munro Z Campain
Mujtaba R Chui
Ricardo S Rim
Claire J Vocelka
Jones C Tollner
Arvin E Wieser
Antonio W Oldroyd
Jeanfrancois M Marrier
Arvin F Figeroa
Adams S Oldroyd
Maisha S Vocelka
Munro D Nicka
Rodrigues I Oldroyd
Nicolas A Kolmetz
Tony G Nicka
Kadeem G Whobrey
Costa R Rulapaugh
Chavez O Bowley
Cody D Schemmer
Chavez U Nicka
Chavez K Maclead
Isabel M Tollner
Jones N Oldroyd
James J Garufi
Cody B Glick
IdCountryDate
1000Australia2024-06-06
1001United Kingdom2024-06-21
1002France2024-06-16
1003France2024-05-27
1004Spain2024-05-25
1005United Kingdom2024-06-21
1006India2024-05-28
1007Italy2024-06-09
1008Italy2024-06-15
1009Spain2024-06-13
1010France2024-05-31
1011Argentina2024-06-15
1012Australia2024-06-21
1013Brazil2024-06-09
1014India2024-06-13
1015Australia2024-05-28
1016Japan2024-06-09
1017Canada2024-06-18
1018Japan2024-05-30
1019France2024-05-25
1020Spain2024-06-02
1021Russia2024-06-21
1022Canada2024-06-15
1023Spain2024-06-06
1024Brazil2024-06-22
1025Australia2024-06-22
1026United Kingdom2024-06-06
1027Japan2024-06-07
1028United Kingdom2024-06-04
1029Australia2024-06-21
1030France2024-06-23
1031Australia2024-06-23
1032Argentina2024-05-26
1033Spain2024-06-20
1034Germany2024-06-11
1035Russia2024-06-21
1036United Kingdom2024-06-18
1037Australia2024-06-14
1038France2024-06-15
1039United Kingdom2024-06-20
1040India2024-06-18
1041Japan2024-05-29
1042Italy2024-06-23
1043Japan2024-06-11
1044Brazil2024-06-07
1045United Kingdom2024-06-16
1046United Kingdom2024-06-11
1047France2024-06-12
1048Germany2024-06-13
1049Australia2024-06-12

On-Demand Data

NameIdCountryDate
Arvin D Rulapaugh1000Germany2024-06-13
Wickens Y Sergi1001Russia2024-06-02
Francesco Q Sergi1002Japan2024-06-02
Greenwood B Briddick1003United Kingdom2024-06-21
Izzy L Amigon1004India2024-06-10
Maria Z Maclead1005Japan2024-06-08
Chavez I Royster1006Germany2024-06-17
Wickens Z Waycott1007France2024-05-28
Clifford U Shinko1008France2024-06-13
Jeanfrancois N Saylors1009Italy2024-06-19
Arvin S Tollner1010Argentina2024-06-18
Kaitlin S Ruta1011Japan2024-05-29
Chavez D Darakjy1012France2024-06-12
Munro A Kolmetz1013France2024-06-10
Emily P Garufi1014Canada2024-06-14
Ashley L Rim1015Spain2024-06-01
Salvatore W Campain1016Australia2024-06-09
Aruna X Briddick1017Germany2024-06-08
Stacey A Rulapaugh1018Australia2024-06-20
Ivar F Saylors1019Argentina2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki X NickaIndiaIvan Magalhaes QUALIFIED
Aika Q MorascaItalyElwin Sharvill RENEWAL
Emily Z RutaArgentinaElwin Sharvill PROPOSAL
Greenwood J RulapaughRussiaAsiya Javayant UNQUALIFIED
Clifford S RoysterGermanyIvan Magalhaes PROPOSAL
Antonio P GauchoJapanAmy Elsner NEGOTIATION
Jennifer A AlbaresAustraliaOnyama Limba NEGOTIATION
Jeanfrancois X AlbaresJapanElwin Sharvill PROPOSAL
Maria D MaletFranceAnna Fali NEW
Adams G PerinJapanElwin Sharvill NEW
Mujtaba U DarakjyArgentinaOnyama Limba PROPOSAL
Sinclair S MaletArgentinaIoni Bowcher NEW
Clifford K WhobreyGermanyAnna Fali RENEWAL
Mujtaba O FollerUnited KingdomAmy Elsner PROPOSAL
Greenwood W SaylorsUnited KingdomAmy Elsner NEW
Ricardo O CaldareraSpainAsiya Javayant QUALIFIED
Ashley R InouyeFranceIvan Magalhaes NEW
Alejandro B VocelkaJapanAsiya Javayant QUALIFIED
Mujtaba A OldroydGermanyIvan Magalhaes NEW
Francesco W GillianArgentinaOnyama Limba NEW
Salvatore X VenereItalyIvan Magalhaes UNQUALIFIED
Leon B OldroydSpainStephen Shaw PROPOSAL
Ashley U KolmetzIndiaElwin Sharvill UNQUALIFIED
Nicolas Y NickaArgentinaAnna Fali RENEWAL
Sinclair U NickaArgentinaBernardo Dominic NEGOTIATION
Maisha U DarakjyAustraliaStephen Shaw PROPOSAL
Maisha Z ButtUnited KingdomAsiya Javayant NEGOTIATION
Alejandro M ButtItalyAnna Fali PROPOSAL
Chavez C PaprockiJapanStephen Shaw NEGOTIATION
Kaitlin U DoeArgentinaBernardo Dominic RENEWAL
Maisha R OstroskyBrazilAmy Elsner RENEWAL
Murillo D RoysterRussiaIvan Magalhaes UNQUALIFIED
Clifford I DilliardRussiaIoni Bowcher NEW
Ashley W VenereBrazilAmy Elsner PROPOSAL
Silvio Q MaletBrazilElwin Sharvill NEW
Aika U FigeroaCanadaAmy Elsner NEGOTIATION
Maisha Y MaletJapanBernardo Dominic UNQUALIFIED
Costa F OstroskyJapanAmy Elsner NEGOTIATION
Antonio S NestleArgentinaAmy Elsner QUALIFIED
Salvatore S DarakjyCanadaAsiya Javayant RENEWAL

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