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 T OstroskyGermanyStephen Shaw UNQUALIFIED
Morrow I TollnerJapanElwin Sharvill NEW
Alejandro E FollerSpainAsiya Javayant NEW
Jennifer L IturbideRussiaAsiya Javayant RENEWAL
Tony G ButtFranceXuxue Feng UNQUALIFIED
Munro V FlosiGermanyStephen Shaw NEGOTIATION
Rodrigues P SergiItalyAmy Elsner QUALIFIED
Johnson O FollerJapanOnyama Limba NEGOTIATION
Arvin V KolmetzBrazilAsiya Javayant RENEWAL
Francesco Z WaycottUnited KingdomBernardo Dominic RENEWAL
Salvatore E RutaArgentinaXuxue Feng UNQUALIFIED
Octavia O RutaRussiaAnna Fali UNQUALIFIED
Costa D MorascaAustraliaXuxue Feng UNQUALIFIED
Francesco V MorascaBrazilElwin Sharvill UNQUALIFIED
Kaitlin Z RimArgentinaAmy Elsner PROPOSAL
Mujtaba J PaprockiBrazilXuxue Feng QUALIFIED
Sinclair I RutaAustraliaIvan Magalhaes PROPOSAL
Sinclair S CaldareraRussiaAmy Elsner UNQUALIFIED
Clifford E TollnerArgentinaAnna Fali PROPOSAL
Francesco C BriddickArgentinaXuxue Feng UNQUALIFIED
Jefferson L OldroydBrazilIoni Bowcher NEGOTIATION
Maria X KolmetzArgentinaAsiya Javayant UNQUALIFIED
Arvin L OstroskyArgentinaAnna Fali QUALIFIED
Isabel K RulapaughJapanBernardo Dominic NEW
Maria R FlosiIndiaAmy Elsner PROPOSAL
Alejandro S TollnerJapanAnna Fali PROPOSAL
Cody X DoeGermanyAmy Elsner NEGOTIATION
Tony B RoysterAustraliaElwin Sharvill UNQUALIFIED
Nicolas B OstroskyAustraliaAnna Fali RENEWAL
Stacey J NestleCanadaXuxue Feng QUALIFIED
Leja Y OstroskyJapanElwin Sharvill QUALIFIED
Chavez J KolmetzSpainIoni Bowcher UNQUALIFIED
Tony N StockhamIndiaIoni Bowcher NEGOTIATION
Claire K MaletSpainIvan Magalhaes UNQUALIFIED
Arvin X DarakjyIndiaAnna Fali RENEWAL
Johnson Q DoeAustraliaStephen Shaw RENEWAL
Maria J GillianUnited KingdomBernardo Dominic QUALIFIED
Isabel Y WieserUnited KingdomIoni Bowcher RENEWAL
Mayumi G RutaUnited KingdomIoni Bowcher QUALIFIED
Smith C NickaBrazilStephen Shaw UNQUALIFIED
Mayumi C InouyeSpainIoni Bowcher QUALIFIED
Salvatore G CaudySpainIvan Magalhaes UNQUALIFIED
Sinclair T ButtItalyBernardo Dominic RENEWAL
Leon L CaldareraItalyOnyama Limba NEGOTIATION
Greenwood U GlickBrazilStephen Shaw NEW
Kaitlin H ButtUnited KingdomAnna Fali NEW
Jeanfrancois R MorascaUnited KingdomBernardo Dominic RENEWAL
Jeanfrancois S IturbideCanadaAnna Fali RENEWAL
Leja Z NestleBrazilXuxue Feng QUALIFIED
Aditya M VocelkaSpainOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams B FollerRussiaStephen Shaw NEW
Jones V GarufiAustraliaStephen Shaw NEW
Arvin G FigeroaFranceBernardo Dominic UNQUALIFIED
Claire O CampainGermanyIvan Magalhaes QUALIFIED
Wickens U StensethCanadaXuxue Feng UNQUALIFIED
Greenwood N InouyeBrazilOnyama Limba UNQUALIFIED
James D WieserIndiaOnyama Limba NEW
Greenwood W PoquetteGermanyXuxue Feng RENEWAL
Aruna C SergiGermanyStephen Shaw QUALIFIED
Izzy P RimAustraliaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues B GarufiBrazil2024-06-23Printing Dimensions QUALIFIED13Ivan Magalhaes
1001Alejandro D IturbideItaly2024-06-10Commercial Press QUALIFIED90Onyama Limba
1002Octavia G RimRussia2024-06-05King, Christopher A Esq UNQUALIFIED2Bernardo Dominic
1003Deepesh E FigeroaJapan2024-06-13Chapman, Ross E Esq NEW81Elwin Sharvill
1004Arvin A ChuiCanada2024-06-20Chapman, Ross E Esq UNQUALIFIED96Stephen Shaw
1005Adams J BowleyRussia2024-06-23Rousseaux, Michael Esq UNQUALIFIED30Onyama Limba
1006Alejandro D OldroydSpain2024-06-15Benton, John B Jr PROPOSAL58Stephen Shaw
1007Izzy V CaudyJapan2024-06-16Rousseaux, Michael Esq PROPOSAL12Xuxue Feng
1008Jefferson O BologniaSpain2024-06-04Truhlar And Truhlar Attys UNQUALIFIED56Bernardo Dominic
1009Aditya Y CampainArgentina2024-06-03Printing Dimensions NEGOTIATION55Xuxue Feng
1010Ashley I DarakjyFrance2024-05-28Buckley Miller Wright QUALIFIED65Ioni Bowcher
1011Izzy Q WhobreyArgentina2024-06-18Chapman, Ross E Esq NEGOTIATION59Elwin Sharvill
1012Smith U OldroydItaly2024-06-08Chemel, James L Cpa NEGOTIATION78Ivan Magalhaes
1013Aruna B BriddickCanada2024-06-11Morlong Associates NEW1Elwin Sharvill
1014Darci P RutaUnited Kingdom2024-06-15Feltz Printing Service NEGOTIATION59Anna Fali
1015Kaitlin J FerenczItaly2024-05-26Feltz Printing Service QUALIFIED38Ioni Bowcher
1016Mujtaba T GauchoJapan2024-05-30Feltz Printing Service RENEWAL38Xuxue Feng
1017Cody R StockhamArgentina2024-06-13Rangoni Of Florence NEW51Bernardo Dominic
1018Octavia G ShinkoRussia2024-06-16Chapman, Ross E Esq NEGOTIATION93Anna Fali
1019Darci C IturbideArgentina2024-06-23Dorl, James J Esq RENEWAL24Ioni Bowcher
1020Tony Q PaprockiCanada2024-05-30Rangoni Of Florence QUALIFIED63Anna Fali
1021Francesco T KuskoJapan2024-06-18Feltz Printing Service NEW35Onyama Limba
1022Juan I VenereSpain2024-05-26Rousseaux, Michael Esq RENEWAL2Elwin Sharvill
1023Jennifer V KuskoGermany2024-05-27Feiner Bros QUALIFIED8Asiya Javayant
1024Greenwood M WaycottFrance2024-06-06Buckley Miller Wright QUALIFIED17Onyama Limba
1025Clifford N RulapaughCanada2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED95Onyama Limba
1026Clifford Y CaldareraFrance2024-05-31Morlong Associates PROPOSAL47Ivan Magalhaes
1027Aika R PerinItaly2024-06-15Truhlar And Truhlar Attys NEW44Ivan Magalhaes
1028Munro T SlusarskiArgentina2024-05-27King, Christopher A Esq NEW42Anna Fali
1029Misaki O FollerAustralia2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED57Ioni Bowcher
1030Antonio Y IturbideRussia2024-06-05Benton, John B Jr PROPOSAL30Anna Fali
1031Ricardo U KuskoAustralia2024-06-20Rangoni Of Florence QUALIFIED64Asiya Javayant
1032Aditya M StockhamUnited Kingdom2024-06-07Chemel, James L Cpa UNQUALIFIED76Anna Fali
1033Jefferson K CaudyUnited Kingdom2024-06-07Dorl, James J Esq RENEWAL48Bernardo Dominic
1034Maria V VocelkaGermany2024-06-03Printing Dimensions QUALIFIED3Amy Elsner
1035James Z StensethRussia2024-06-09Benton, John B Jr PROPOSAL76Elwin Sharvill
1036Silvio K SergiBrazil2024-06-11Feltz Printing Service NEW95Ivan Magalhaes
1037Ivar B KuskoFrance2024-06-10Truhlar And Truhlar Attys QUALIFIED18Xuxue Feng
1038Ashley R GauchoJapan2024-06-05Chemel, James L Cpa NEW33Elwin Sharvill
1039Emily Q WieserJapan2024-06-15Morlong Associates NEGOTIATION30Elwin Sharvill
1040Ricardo V CaudyItaly2024-06-08Feltz Printing Service PROPOSAL1Ivan Magalhaes
1041Tony N IturbideAustralia2024-06-09Buckley Miller Wright UNQUALIFIED16Ioni Bowcher
1042Morrow T StockhamJapan2024-05-28King, Christopher A Esq QUALIFIED20Amy Elsner
1043Antonio W NestleIndia2024-06-05Feltz Printing Service QUALIFIED45Elwin Sharvill
1044Salvatore N FollerItaly2024-06-19Morlong Associates RENEWAL2Ioni Bowcher
1045Cody R VocelkaRussia2024-06-17Dorl, James J Esq PROPOSAL34Amy Elsner
1046Claire F RimAustralia2024-05-27Benton, John B Jr NEGOTIATION81Amy Elsner
1047Costa Y AmigonArgentina2024-05-27Benton, John B Jr NEW99Asiya Javayant
1048David B SaylorsSpain2024-06-02Commercial Press QUALIFIED87Ioni Bowcher
1049Smith P OldroydFrance2024-05-26Feiner Bros NEGOTIATION89Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Cody D SaylorsFranceXuxue Feng NEGOTIATION
Maisha P RimGermanyIvan Magalhaes PROPOSAL
Kaitlin M InouyeBrazilIvan Magalhaes PROPOSAL
David C ChuiAustraliaAmy Elsner PROPOSAL
Jennifer Y BowleyBrazilAsiya Javayant RENEWAL
Greenwood H VenereIndiaElwin Sharvill NEGOTIATION
Adams Y SchemmerGermanyStephen Shaw QUALIFIED
Sinclair W CaudyBrazilElwin Sharvill NEGOTIATION
Jefferson Y FigeroaUnited KingdomBernardo Dominic PROPOSAL
Aruna O AmigonUnited KingdomXuxue Feng PROPOSAL
Tony U OldroydBrazilStephen Shaw PROPOSAL
Faith T FigeroaItalyIoni Bowcher NEW
Jefferson W RimJapanXuxue Feng UNQUALIFIED
James V BowleyArgentinaElwin Sharvill RENEWAL
Smith U OstroskyItalyOnyama Limba NEW
Deepesh Z BriddickRussiaXuxue Feng UNQUALIFIED
Nicolas T CampainArgentinaAmy Elsner NEW
Arvin U RoysterJapanBernardo Dominic QUALIFIED
Nicolas V CaudyGermanyElwin Sharvill PROPOSAL
Deepesh M OldroydUnited KingdomAsiya Javayant QUALIFIED
Adams A GlickBrazilXuxue Feng QUALIFIED
Murillo U BowleyItalyIvan Magalhaes NEW
Misaki S SchemmerSpainAnna Fali UNQUALIFIED
Arvin O AlbaresJapanAmy Elsner NEW
Octavia G MarrierFranceElwin Sharvill PROPOSAL
Cody C SchemmerSpainOnyama Limba RENEWAL
Kaitlin L RimArgentinaAnna Fali QUALIFIED
Silvio J FerenczItalyStephen Shaw NEW
Rodrigues Y BriddickArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois W MaletRussiaAnna Fali NEGOTIATION
Ivar V BriddickUnited KingdomIvan Magalhaes QUALIFIED
Nicolas N PaprockiJapanAsiya Javayant NEW
Octavia K MacleadFranceStephen Shaw UNQUALIFIED
Aika E CaudyUnited KingdomAmy Elsner RENEWAL
Aruna O CampainUnited KingdomBernardo Dominic NEGOTIATION
Leja E DarakjyCanadaAmy Elsner NEW
Maria W WhobreyIndiaXuxue Feng UNQUALIFIED
Costa N OldroydIndiaBernardo Dominic NEW
Faith F PoquetteCanadaElwin Sharvill RENEWAL
Mujtaba P GarufiBrazilElwin Sharvill NEGOTIATION
Chavez M MacleadRussiaElwin Sharvill UNQUALIFIED
Jeanfrancois U RulapaughJapanOnyama Limba NEW
Octavia T VenereAustraliaBernardo Dominic NEW
Silvio S RoysterIndiaIvan Magalhaes RENEWAL
Adams A MacleadAustraliaIvan Magalhaes NEGOTIATION
Aruna Y CaldareraRussiaIoni Bowcher UNQUALIFIED
Aika B SergiBrazilIvan Magalhaes PROPOSAL
David I FerenczIndiaElwin Sharvill NEW
Adams L KuskoUnited KingdomXuxue Feng QUALIFIED
Nicolas B CampainIndiaOnyama Limba RENEWAL
Frozen Columns
Name
Ashley U Butt
Cody K Chui
Munro J Oldroyd
Julie V Gaucho
Sinclair F Vocelka
Nicolas Q Chui
Johnson F Gaucho
Jefferson M Garufi
Munro M Paprocki
Jeanfrancois D Tollner
Aika P Caudy
Costa O Caudy
Jefferson X Vocelka
Johnson I Sergi
Johnson B Maclead
Faith H Gillian
Greenwood J Wieser
Stacey F Gaucho
Chavez L Perin
Costa J Nestle
Mujtaba Q Flosi
Mayumi P Inouye
Morrow C Inouye
Izzy T Morasca
Ricardo U Ostrosky
Darci B Maclead
Misaki F Stockham
Misaki I Flosi
Isabel C Ferencz
Smith W Nestle
Mayumi U Caldarera
Ivar O Nestle
Faith B Whobrey
Clifford G Rulapaugh
Maria K Amigon
Ricardo H Perin
Jeanfrancois P Campain
Jennifer G Tollner
Maisha K Dilliard
Tony B Wieser
Johnson Z Glick
Faith J Vocelka
Chavez G Oldroyd
Leja Z Dilliard
Salvatore Z Stockham
Misaki H Kolmetz
Mayumi C Dilliard
Isabel Y Sergi
Mayumi Q Bowley
Jefferson N Wieser
IdCountryDate
1000Brazil2024-06-13
1001India2024-06-11
1002France2024-06-11
1003Argentina2024-06-03
1004Spain2024-06-17
1005France2024-06-03
1006Canada2024-06-13
1007India2024-06-02
1008France2024-05-29
1009Japan2024-06-13
1010India2024-06-07
1011United Kingdom2024-06-19
1012United Kingdom2024-06-01
1013Brazil2024-06-19
1014Argentina2024-06-21
1015Canada2024-05-30
1016Argentina2024-05-26
1017Australia2024-06-19
1018Australia2024-06-03
1019Japan2024-06-22
1020France2024-06-04
1021Germany2024-05-25
1022Germany2024-06-02
1023Brazil2024-05-25
1024Italy2024-05-26
1025France2024-06-07
1026United Kingdom2024-06-14
1027United Kingdom2024-06-21
1028Germany2024-05-26
1029Brazil2024-06-15
1030Australia2024-06-02
1031India2024-06-03
1032United Kingdom2024-06-18
1033Russia2024-06-13
1034Russia2024-06-14
1035India2024-06-09
1036Russia2024-06-21
1037Australia2024-06-17
1038Germany2024-06-17
1039Brazil2024-05-28
1040Italy2024-05-28
1041France2024-06-09
1042Italy2024-05-30
1043Germany2024-05-28
1044Italy2024-06-22
1045India2024-06-21
1046Japan2024-06-10
1047Spain2024-06-01
1048Canada2024-06-08
1049India2024-06-22

On-Demand Data

NameIdCountryDate
Francesco I Stenseth1000Germany2024-06-04
Greenwood C Chui1001Italy2024-06-08
Jones F Doe1002United Kingdom2024-06-22
David R Foller1003Australia2024-06-02
Mayumi L Foller1004Brazil2024-06-04
Mujtaba B Nicka1005Italy2024-06-03
Aika K Caldarera1006Russia2024-06-23
Silvio R Morasca1007United Kingdom2024-06-07
Ivar D Ruta1008Canada2024-06-09
Wickens T Saylors1009France2024-06-03
Aruna W Chui1010Canada2024-06-10
Darci A Shinko1011Japan2024-06-14
Tony H Marrier1012Argentina2024-05-26
Darci W Oldroyd1013Russia2024-06-02
Clifford K Dilliard1014Italy2024-06-08
David K Stenseth1015Italy2024-06-08
Claire T Gillian1016Argentina2024-06-15
Misaki O Oldroyd1017Spain2024-05-26
Adams O Royster1018Canada2024-06-13
Leja U Kusko1019Australia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore L GlickItalyAnna Fali NEW
Munro N WieserItalyElwin Sharvill PROPOSAL
Nicolas B KuskoCanadaAsiya Javayant RENEWAL
Clifford U RoysterGermanyOnyama Limba UNQUALIFIED
Aruna N SlusarskiCanadaAmy Elsner NEGOTIATION
Wickens Y RulapaughSpainAsiya Javayant UNQUALIFIED
Julie G IturbideGermanyIvan Magalhaes RENEWAL
Claire B CampainUnited KingdomAsiya Javayant NEGOTIATION
Salvatore F AmigonSpainBernardo Dominic QUALIFIED
Rodrigues Q GarufiFranceXuxue Feng UNQUALIFIED
Isabel B PaprockiRussiaIvan Magalhaes RENEWAL
Ricardo L MorascaJapanXuxue Feng RENEWAL
Octavia N GauchoFranceBernardo Dominic PROPOSAL
Claire X BowleyRussiaAmy Elsner UNQUALIFIED
Claire Z FlosiIndiaStephen Shaw UNQUALIFIED
Maria F VenereSpainElwin Sharvill QUALIFIED
Adams U IturbideJapanIoni Bowcher NEGOTIATION
Maria N DilliardItalyAsiya Javayant PROPOSAL
Mujtaba G ButtIndiaAmy Elsner PROPOSAL
Costa J OldroydUnited KingdomBernardo Dominic RENEWAL
Aika K AmigonUnited KingdomIvan Magalhaes PROPOSAL
Antonio G PerinItalyXuxue Feng NEW
Aruna Y ButtAustraliaAmy Elsner UNQUALIFIED
Alejandro T SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Isabel E VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas P ChuiRussiaOnyama Limba UNQUALIFIED
Morrow V GillianItalyAsiya Javayant NEW
Wickens G SergiIndiaBernardo Dominic NEGOTIATION
Jefferson Y MaletAustraliaAnna Fali NEGOTIATION
Isabel D VenereJapanAmy Elsner NEGOTIATION
Ashley G PoquetteGermanyAsiya Javayant NEGOTIATION
Adams Q CampainRussiaElwin Sharvill UNQUALIFIED
Izzy J BriddickBrazilBernardo Dominic PROPOSAL
Leja M TollnerFranceStephen Shaw UNQUALIFIED
Rodrigues U CaudyIndiaIoni Bowcher NEW
James V FerenczJapanAsiya Javayant NEGOTIATION
Emily P BriddickIndiaXuxue Feng PROPOSAL
Aditya A GauchoCanadaAmy Elsner PROPOSAL
David M GauchoItalyStephen Shaw PROPOSAL
Arvin M OstroskyItalyOnyama Limba 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>