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
Isabel U BologniaIndiaIvan Magalhaes PROPOSAL
Arvin W RoysterJapanIvan Magalhaes PROPOSAL
Munro Z DarakjyFranceBernardo Dominic QUALIFIED
Deepesh N RulapaughUnited KingdomAnna Fali QUALIFIED
Darci O SchemmerGermanyAsiya Javayant RENEWAL
Maria G CampainGermanyXuxue Feng NEW
Nicolas C GauchoJapanIoni Bowcher UNQUALIFIED
Deepesh X RoysterArgentinaElwin Sharvill UNQUALIFIED
Deepesh J GillianIndiaIvan Magalhaes NEW
Costa T SchemmerJapanBernardo Dominic NEGOTIATION
Francesco L FigeroaUnited KingdomIvan Magalhaes NEW
Wickens G RutaAustraliaStephen Shaw QUALIFIED
Mujtaba W VocelkaIndiaAnna Fali PROPOSAL
Darci V RutaIndiaStephen Shaw NEGOTIATION
Aditya W MacleadArgentinaAnna Fali QUALIFIED
Sinclair U WaycottJapanAmy Elsner NEW
Clifford A OldroydRussiaIoni Bowcher UNQUALIFIED
Clifford W CaldareraBrazilOnyama Limba UNQUALIFIED
Jeanfrancois U OldroydRussiaAsiya Javayant NEW
Morrow A MaletCanadaElwin Sharvill NEW
Leon W MaletIndiaBernardo Dominic NEW
Salvatore B IturbideBrazilIvan Magalhaes UNQUALIFIED
Kadeem T PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem U ShinkoFranceIvan Magalhaes NEGOTIATION
Izzy V PaprockiCanadaAmy Elsner PROPOSAL
Claire T DoeGermanyOnyama Limba UNQUALIFIED
Misaki Y KolmetzAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois K PerinFranceOnyama Limba NEW
Adams G RimFranceElwin Sharvill QUALIFIED
Tony L PaprockiSpainXuxue Feng NEW
Julie Z DarakjyJapanElwin Sharvill UNQUALIFIED
Clifford S DoeBrazilIoni Bowcher PROPOSAL
Nicolas W SchemmerBrazilAsiya Javayant UNQUALIFIED
David G FlosiRussiaXuxue Feng RENEWAL
Costa D DilliardAustraliaOnyama Limba PROPOSAL
Mayumi S StensethCanadaAmy Elsner NEW
Isabel M VenereUnited KingdomAmy Elsner UNQUALIFIED
Johnson F ButtAustraliaAnna Fali NEW
Faith D VocelkaArgentinaOnyama Limba RENEWAL
Wickens Y DilliardSpainOnyama Limba UNQUALIFIED
Faith I OstroskyCanadaAsiya Javayant UNQUALIFIED
Kaitlin M ChuiUnited KingdomStephen Shaw NEW
Emily J MaletRussiaIoni Bowcher QUALIFIED
Cody B WaycottGermanyOnyama Limba NEGOTIATION
Emily I DoeCanadaBernardo Dominic NEGOTIATION
Aditya O MaletFranceElwin Sharvill RENEWAL
Misaki X NestleItalyBernardo Dominic NEGOTIATION
Kadeem V RutaItalyBernardo Dominic QUALIFIED
David G DarakjyAustraliaElwin Sharvill PROPOSAL
Sinclair O GauchoUnited KingdomXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin S ChuiBrazilStephen Shaw NEW
Stacey A DoeJapanAsiya Javayant UNQUALIFIED
Chavez A WaycottJapanXuxue Feng QUALIFIED
Jennifer R StockhamBrazilBernardo Dominic NEGOTIATION
Stacey A MorascaBrazilIoni Bowcher NEW
Chavez K VocelkaIndiaElwin Sharvill UNQUALIFIED
Jennifer V BowleyRussiaBernardo Dominic NEGOTIATION
Morrow U MarrierAustraliaAsiya Javayant NEGOTIATION
Ricardo F VocelkaSpainAsiya Javayant QUALIFIED
Jennifer T VocelkaFranceAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo M WieserItaly2024-05-29Rangoni Of Florence NEW83Anna Fali
1001Morrow W WaycottSpain2024-06-12Printing Dimensions QUALIFIED34Onyama Limba
1002Arvin E CampainAustralia2024-05-21Commercial Press NEGOTIATION60Elwin Sharvill
1003Juan C DilliardFrance2024-05-27Morlong Associates NEW71Anna Fali
1004Johnson K DoeGermany2024-06-13Buckley Miller Wright RENEWAL39Stephen Shaw
1005Kadeem F WhobreyIndia2024-06-10Morlong Associates RENEWAL81Onyama Limba
1006Aika E ButtFrance2024-06-15Chemel, James L Cpa NEW99Asiya Javayant
1007David A MaletItaly2024-06-15Benton, John B Jr UNQUALIFIED97Elwin Sharvill
1008Nicolas K BowleyCanada2024-05-28Chemel, James L Cpa RENEWAL88Bernardo Dominic
1009Sinclair C MorascaAustralia2024-06-09Printing Dimensions PROPOSAL83Anna Fali
1010Kaitlin G KuskoItaly2024-05-23Rangoni Of Florence RENEWAL74Ioni Bowcher
1011Munro H OldroydFrance2024-05-25Buckley Miller Wright RENEWAL65Ivan Magalhaes
1012Kaitlin J MacleadAustralia2024-05-29Truhlar And Truhlar Attys UNQUALIFIED70Anna Fali
1013Nicolas O GarufiAustralia2024-05-27Commercial Press UNQUALIFIED33Onyama Limba
1014Tony G StensethUnited Kingdom2024-06-16Chemel, James L Cpa RENEWAL62Xuxue Feng
1015Ivar U DilliardJapan2024-06-06Chanay, Jeffrey A Esq QUALIFIED12Elwin Sharvill
1016Antonio X GarufiItaly2024-06-16Rousseaux, Michael Esq PROPOSAL19Asiya Javayant
1017Cody K AmigonSpain2024-06-02Rousseaux, Michael Esq RENEWAL52Elwin Sharvill
1018Francesco B AmigonGermany2024-06-16Dorl, James J Esq NEGOTIATION85Bernardo Dominic
1019Darci X WhobreyGermany2024-05-27Chemel, James L Cpa RENEWAL23Amy Elsner
1020Ashley Q RulapaughUnited Kingdom2024-05-27Rangoni Of Florence QUALIFIED96Xuxue Feng
1021Ricardo T KolmetzCanada2024-06-09Truhlar And Truhlar Attys NEW94Ioni Bowcher
1022David E GarufiCanada2024-05-25Feltz Printing Service NEW43Ioni Bowcher
1023Costa G SchemmerRussia2024-06-13Rangoni Of Florence PROPOSAL83Stephen Shaw
1024Smith C NestleArgentina2024-05-30King, Christopher A Esq UNQUALIFIED81Ioni Bowcher
1025David T SlusarskiArgentina2024-06-14Chapman, Ross E Esq NEW62Amy Elsner
1026Ashley T FlosiGermany2024-06-12Rousseaux, Michael Esq QUALIFIED62Anna Fali
1027Jones U GillianItaly2024-06-05Feltz Printing Service NEGOTIATION22Asiya Javayant
1028Cody S RutaAustralia2024-06-01Printing Dimensions NEGOTIATION70Anna Fali
1029Kadeem V MaletJapan2024-06-15Rangoni Of Florence NEW1Ivan Magalhaes
1030James W KolmetzJapan2024-05-21Chemel, James L Cpa QUALIFIED99Bernardo Dominic
1031Octavia T GarufiSpain2024-06-15Benton, John B Jr UNQUALIFIED34Asiya Javayant
1032Kaitlin W ShinkoJapan2024-06-14Feiner Bros UNQUALIFIED10Stephen Shaw
1033Morrow Z RoysterUnited Kingdom2024-05-27Morlong Associates QUALIFIED49Anna Fali
1034Munro A DarakjyJapan2024-06-12Chapman, Ross E Esq RENEWAL90Ivan Magalhaes
1035Cody A VocelkaIndia2024-05-23Chemel, James L Cpa NEW0Elwin Sharvill
1036Jefferson I AlbaresJapan2024-05-21Chemel, James L Cpa PROPOSAL63Elwin Sharvill
1037Ashley V TollnerArgentina2024-05-21Rangoni Of Florence NEGOTIATION26Anna Fali
1038Ashley T FerenczAustralia2024-06-04Benton, John B Jr QUALIFIED40Ivan Magalhaes
1039Leon J OstroskyAustralia2024-06-04Buckley Miller Wright UNQUALIFIED74Asiya Javayant
1040Jones B RoysterItaly2024-06-02King, Christopher A Esq NEW35Ivan Magalhaes
1041Morrow K PoquetteIndia2024-06-15Benton, John B Jr QUALIFIED38Xuxue Feng
1042Mujtaba T SlusarskiSpain2024-06-04Morlong Associates UNQUALIFIED67Bernardo Dominic
1043Ricardo C WaycottIndia2024-06-06Truhlar And Truhlar Attys UNQUALIFIED6Anna Fali
1044Emily R FerenczFrance2024-06-14King, Christopher A Esq QUALIFIED95Onyama Limba
1045Maria B GarufiUnited Kingdom2024-05-30Chemel, James L Cpa UNQUALIFIED44Elwin Sharvill
1046Nicolas Q AlbaresIndia2024-06-14Benton, John B Jr PROPOSAL49Ioni Bowcher
1047Faith U GarufiItaly2024-05-31King, Christopher A Esq QUALIFIED32Xuxue Feng
1048Cody F RimUnited Kingdom2024-05-25Truhlar And Truhlar Attys QUALIFIED9Elwin Sharvill
1049Wickens N WieserSpain2024-06-10Feiner Bros RENEWAL29Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Izzy R OstroskyRussiaElwin Sharvill NEW
Julie U AlbaresUnited KingdomBernardo Dominic RENEWAL
Mayumi M SlusarskiCanadaBernardo Dominic PROPOSAL
Johnson M GauchoFranceAmy Elsner QUALIFIED
James A SaylorsArgentinaAsiya Javayant PROPOSAL
Morrow O StockhamRussiaElwin Sharvill UNQUALIFIED
Arvin N PaprockiUnited KingdomAnna Fali NEW
Adams W TollnerAustraliaAsiya Javayant UNQUALIFIED
Tony N DarakjyJapanIoni Bowcher NEGOTIATION
Emily S DarakjyBrazilIoni Bowcher QUALIFIED
Claire Y InouyeJapanOnyama Limba NEW
Leja Z MaletIndiaElwin Sharvill PROPOSAL
Julie D StockhamCanadaAmy Elsner QUALIFIED
Leon H MarrierSpainIoni Bowcher QUALIFIED
Leja L WaycottSpainAmy Elsner NEGOTIATION
Darci U CaudyCanadaIvan Magalhaes QUALIFIED
Arvin Q PerinItalyOnyama Limba UNQUALIFIED
Wickens D DarakjyGermanyAmy Elsner NEW
Aruna S WieserItalyAmy Elsner RENEWAL
Kaitlin Y DilliardSpainElwin Sharvill RENEWAL
Deepesh W WhobreyUnited KingdomIvan Magalhaes UNQUALIFIED
Leon W OldroydSpainOnyama Limba RENEWAL
Misaki F SlusarskiBrazilStephen Shaw QUALIFIED
Kadeem A MorascaIndiaXuxue Feng NEW
Aruna U MorascaFranceElwin Sharvill UNQUALIFIED
Murillo C AmigonSpainIoni Bowcher UNQUALIFIED
Wickens G CampainGermanyBernardo Dominic NEGOTIATION
Ashley I MaletRussiaStephen Shaw RENEWAL
Aditya O RoysterGermanyStephen Shaw UNQUALIFIED
Darci A MacleadAustraliaOnyama Limba NEGOTIATION
Mayumi M AmigonIndiaIoni Bowcher QUALIFIED
Stacey U OldroydSpainOnyama Limba UNQUALIFIED
James L TollnerGermanyIoni Bowcher NEW
Nicolas R OstroskyAustraliaStephen Shaw NEW
Nicolas Y WhobreyGermanyIoni Bowcher PROPOSAL
Smith Y ButtCanadaBernardo Dominic QUALIFIED
Misaki H PoquetteUnited KingdomOnyama Limba RENEWAL
Jones F ChuiArgentinaAnna Fali RENEWAL
Sinclair F WieserBrazilStephen Shaw QUALIFIED
Misaki V VocelkaJapanAnna Fali PROPOSAL
Rodrigues V StockhamSpainElwin Sharvill NEGOTIATION
Julie X SlusarskiBrazilOnyama Limba PROPOSAL
Cody X PerinRussiaAnna Fali QUALIFIED
Silvio D RimArgentinaIvan Magalhaes RENEWAL
Sinclair A MaletUnited KingdomElwin Sharvill NEGOTIATION
James N MaletBrazilXuxue Feng PROPOSAL
Tony O ButtJapanOnyama Limba UNQUALIFIED
Jefferson O KolmetzItalyAnna Fali PROPOSAL
Smith C MaletSpainElwin Sharvill QUALIFIED
Costa J IturbideJapanAsiya Javayant QUALIFIED
Frozen Columns
Name
Leja F Dilliard
Nicolas H Ferencz
Clifford X Rim
Munro S Nestle
Jennifer W Venere
Chavez Z Kusko
Octavia E Nestle
Izzy Z Iturbide
Silvio Q Vocelka
Ivar Z Maclead
Kadeem O Perin
Murillo B Iturbide
Morrow G Oldroyd
Ashley C Stenseth
Mayumi X Kolmetz
Ivar O Venere
Salvatore Q Saylors
Ashley Z Saylors
Mujtaba D Briddick
Ivar K Waycott
Silvio A Flosi
Greenwood K Royster
Tony F Nestle
Maria G Bolognia
Nicolas S Chui
Aruna L Rim
Leja V Iturbide
Smith A Dilliard
Izzy J Chui
Wickens Q Stenseth
Ricardo J Ostrosky
Francesco D Bolognia
Cody R Nicka
Jeanfrancois M Glick
Jefferson S Tollner
Chavez U Kolmetz
Leja R Malet
Greenwood V Whobrey
Tony H Gillian
Claire M Doe
Stacey A Kolmetz
Emily U Maclead
Kadeem Q Albares
Misaki M Albares
Nicolas U Tollner
Adams T Butt
Ivar L Caudy
Octavia L Royster
Ashley P Briddick
Antonio L Oldroyd
IdCountryDate
1000Germany2024-05-27
1001Japan2024-06-02
1002Japan2024-06-07
1003Canada2024-06-17
1004United Kingdom2024-06-09
1005Argentina2024-05-31
1006India2024-05-30
1007France2024-05-20
1008India2024-06-09
1009Argentina2024-05-25
1010Canada2024-06-01
1011Argentina2024-05-21
1012Germany2024-05-24
1013United Kingdom2024-05-24
1014Brazil2024-05-28
1015India2024-06-16
1016United Kingdom2024-06-07
1017Canada2024-06-18
1018Italy2024-05-25
1019Argentina2024-05-21
1020Japan2024-05-27
1021Australia2024-06-07
1022France2024-05-28
1023Russia2024-05-24
1024Argentina2024-06-12
1025Argentina2024-06-03
1026Canada2024-06-07
1027Spain2024-06-07
1028Argentina2024-06-06
1029France2024-06-05
1030France2024-05-25
1031France2024-06-12
1032Brazil2024-06-09
1033India2024-05-24
1034Brazil2024-06-18
1035India2024-06-05
1036Russia2024-05-27
1037Spain2024-06-16
1038Japan2024-05-29
1039Japan2024-06-03
1040Canada2024-06-16
1041Italy2024-05-22
1042France2024-06-11
1043Italy2024-06-03
1044Brazil2024-06-15
1045India2024-06-08
1046Australia2024-06-09
1047Australia2024-05-21
1048Australia2024-06-16
1049United Kingdom2024-06-09

On-Demand Data

NameIdCountryDate
Tony N Inouye1000Argentina2024-06-13
Wickens N Ruta1001Russia2024-05-22
Johnson I Whobrey1002United Kingdom2024-05-20
Darci A Ruta1003Canada2024-06-09
Clifford B Poquette1004France2024-06-02
Nicolas W Ferencz1005United Kingdom2024-06-01
Sinclair W Ferencz1006France2024-05-23
Julie H Maclead1007Russia2024-06-14
Tony Y Stockham1008Japan2024-06-11
Greenwood E Darakjy1009Russia2024-06-18
Antonio K Shinko1010Brazil2024-06-15
Clifford Z Ostrosky1011Argentina2024-05-25
Octavia X Ruta1012United Kingdom2024-05-20
Sinclair O Albares1013Brazil2024-05-28
Aditya A Stenseth1014France2024-06-16
Chavez W Tollner1015India2024-06-17
Mayumi T Bowley1016France2024-06-13
Isabel U Vocelka1017Italy2024-06-09
Aruna Q Malet1018Italy2024-06-04
Leon O Kolmetz1019United Kingdom2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar N DoeCanadaBernardo Dominic UNQUALIFIED
Morrow O WieserUnited KingdomAsiya Javayant NEW
Clifford H StensethCanadaIvan Magalhaes RENEWAL
Mayumi J GillianArgentinaOnyama Limba RENEWAL
Antonio C MorascaAustraliaAsiya Javayant NEGOTIATION
Rodrigues V SlusarskiAustraliaStephen Shaw NEW
Leja Z SaylorsArgentinaXuxue Feng NEGOTIATION
Wickens H StockhamAustraliaIoni Bowcher RENEWAL
Johnson I OldroydSpainIvan Magalhaes PROPOSAL
Emily R MacleadArgentinaXuxue Feng QUALIFIED
Costa G OstroskyIndiaIoni Bowcher RENEWAL
Francesco A BologniaUnited KingdomIvan Magalhaes QUALIFIED
Jennifer R VocelkaArgentinaBernardo Dominic RENEWAL
James Q FollerGermanyBernardo Dominic NEW
Costa T IturbideArgentinaIoni Bowcher PROPOSAL
Misaki D CaldareraAustraliaBernardo Dominic QUALIFIED
Maisha N StockhamCanadaAsiya Javayant NEW
Greenwood B CampainArgentinaIoni Bowcher NEGOTIATION
Jones T GillianItalyAnna Fali UNQUALIFIED
Julie S SlusarskiJapanStephen Shaw UNQUALIFIED
Deepesh R AlbaresArgentinaXuxue Feng PROPOSAL
Jones C DilliardBrazilIoni Bowcher PROPOSAL
Aditya D TollnerSpainAmy Elsner UNQUALIFIED
Deepesh P SchemmerFranceOnyama Limba UNQUALIFIED
Aditya Y BriddickJapanIvan Magalhaes UNQUALIFIED
Aruna O CaldareraUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore Z NickaFranceIvan Magalhaes UNQUALIFIED
Murillo L PoquetteSpainStephen Shaw QUALIFIED
Mayumi B OldroydIndiaXuxue Feng NEGOTIATION
Ivar Q KuskoFranceBernardo Dominic NEGOTIATION
Chavez V SlusarskiIndiaElwin Sharvill RENEWAL
Francesco B NestleIndiaElwin Sharvill RENEWAL
Isabel E WhobreyCanadaAnna Fali PROPOSAL
Chavez N VenereArgentinaXuxue Feng QUALIFIED
Leon Z DoeJapanAmy Elsner NEGOTIATION
Stacey J FollerAustraliaStephen Shaw NEW
Mayumi R FollerArgentinaStephen Shaw PROPOSAL
Leon J SlusarskiFranceIvan Magalhaes NEGOTIATION
James L StockhamSpainOnyama Limba NEW
Mayumi F CampainUnited KingdomIoni Bowcher NEGOTIATION

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