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
Stacey Y KolmetzItalyOnyama Limba NEW
Emily E IturbideAustraliaIvan Magalhaes NEW
Claire T GauchoAustraliaIvan Magalhaes NEGOTIATION
Murillo V GillianUnited KingdomIoni Bowcher NEGOTIATION
Smith Q GauchoAustraliaIvan Magalhaes NEGOTIATION
Ashley Z FigeroaFranceAnna Fali RENEWAL
Johnson H CampainSpainIoni Bowcher PROPOSAL
Julie X NestleFranceBernardo Dominic RENEWAL
James L ShinkoUnited KingdomAnna Fali PROPOSAL
Faith U FlosiFranceStephen Shaw PROPOSAL
Silvio O SlusarskiAustraliaAsiya Javayant RENEWAL
Salvatore E BologniaAustraliaStephen Shaw RENEWAL
Isabel B VocelkaGermanyAmy Elsner RENEWAL
Mujtaba Q SchemmerIndiaIvan Magalhaes QUALIFIED
Cody H GauchoAustraliaIoni Bowcher QUALIFIED
Cody I BowleyIndiaXuxue Feng QUALIFIED
Ivar S RoysterIndiaOnyama Limba PROPOSAL
Smith S CampainArgentinaStephen Shaw PROPOSAL
Ashley J MaletRussiaIvan Magalhaes NEGOTIATION
Morrow O GarufiCanadaXuxue Feng UNQUALIFIED
Cody H RutaRussiaAsiya Javayant NEGOTIATION
Ivar U SchemmerGermanyAmy Elsner PROPOSAL
Greenwood F BologniaAustraliaStephen Shaw UNQUALIFIED
Mayumi Y StensethUnited KingdomBernardo Dominic NEGOTIATION
David Y RutaIndiaOnyama Limba UNQUALIFIED
Silvio P MorascaFranceIvan Magalhaes UNQUALIFIED
Mujtaba Q StensethRussiaBernardo Dominic PROPOSAL
Johnson K RulapaughIndiaBernardo Dominic RENEWAL
Smith J ShinkoGermanyAmy Elsner NEW
Maisha D NestleAustraliaBernardo Dominic NEW
Murillo A ChuiItalyElwin Sharvill NEGOTIATION
Octavia P FlosiUnited KingdomXuxue Feng RENEWAL
Ricardo J AmigonSpainAmy Elsner NEW
Mujtaba U WieserUnited KingdomElwin Sharvill RENEWAL
Faith T OstroskyItalyAmy Elsner PROPOSAL
Maria V FollerSpainAmy Elsner RENEWAL
Kaitlin H WaycottSpainBernardo Dominic PROPOSAL
Adams W StockhamRussiaAmy Elsner QUALIFIED
Alejandro Q GarufiSpainStephen Shaw RENEWAL
Claire Z DoeSpainBernardo Dominic NEGOTIATION
Ricardo N ChuiSpainIvan Magalhaes RENEWAL
David M GarufiAustraliaIvan Magalhaes UNQUALIFIED
Jones F StensethCanadaAmy Elsner NEGOTIATION
Antonio D FerenczRussiaElwin Sharvill NEGOTIATION
Emily T BriddickArgentinaIvan Magalhaes RENEWAL
James O RimIndiaOnyama Limba RENEWAL
Antonio Y MaletCanadaStephen Shaw RENEWAL
Aditya X TollnerFranceIvan Magalhaes NEW
Jeanfrancois O RimSpainElwin Sharvill QUALIFIED
Maisha G PerinSpainAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa G WaycottJapanElwin Sharvill PROPOSAL
Antonio M WaycottIndiaXuxue Feng PROPOSAL
Julie E SchemmerBrazilXuxue Feng NEGOTIATION
Jones H FollerJapanXuxue Feng RENEWAL
Ashley L VocelkaCanadaStephen Shaw NEW
Darci P VenereGermanyElwin Sharvill NEW
Maisha X MaletBrazilIvan Magalhaes PROPOSAL
Isabel T SlusarskiItalyAnna Fali NEGOTIATION
Wickens L OstroskyFranceStephen Shaw NEW
Tony N PaprockiCanadaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco C GillianBrazil2024-09-15Buckley Miller Wright RENEWAL79Ivan Magalhaes
1001Alejandro W OldroydItaly2024-09-07Printing Dimensions NEW36Elwin Sharvill
1002Faith I GlickAustralia2024-09-11Chapman, Ross E Esq RENEWAL57Bernardo Dominic
1003Ricardo S MaletGermany2024-09-04Rangoni Of Florence NEW0Stephen Shaw
1004Stacey D ButtGermany2024-08-31Chapman, Ross E Esq NEW50Ioni Bowcher
1005Arvin K KolmetzSpain2024-08-31Rangoni Of Florence UNQUALIFIED28Asiya Javayant
1006Rodrigues I IturbideGermany2024-09-20Morlong Associates RENEWAL34Bernardo Dominic
1007Leja L AmigonAustralia2024-09-01Printing Dimensions NEW31Elwin Sharvill
1008Aika M SchemmerItaly2024-09-07Commercial Press RENEWAL85Onyama Limba
1009Tony F DarakjyAustralia2024-09-08Rousseaux, Michael Esq QUALIFIED44Elwin Sharvill
1010Ricardo S SchemmerJapan2024-08-25Printing Dimensions NEW9Elwin Sharvill
1011Aruna Y SergiUnited Kingdom2024-09-22Feltz Printing Service QUALIFIED69Ivan Magalhaes
1012Jefferson X GarufiCanada2024-09-02Rangoni Of Florence PROPOSAL68Ivan Magalhaes
1013Mayumi X RutaUnited Kingdom2024-08-30Dorl, James J Esq RENEWAL75Stephen Shaw
1014David N BologniaUnited Kingdom2024-09-18Commercial Press RENEWAL45Ioni Bowcher
1015Costa D ChuiGermany2024-09-11Buckley Miller Wright NEGOTIATION89Elwin Sharvill
1016Costa Q FollerFrance2024-09-18Morlong Associates UNQUALIFIED97Amy Elsner
1017Jefferson G SlusarskiArgentina2024-09-01Buckley Miller Wright UNQUALIFIED93Asiya Javayant
1018David U RutaAustralia2024-09-23Truhlar And Truhlar Attys RENEWAL53Ioni Bowcher
1019Faith U GlickJapan2024-08-26Chemel, James L Cpa NEW9Stephen Shaw
1020Kaitlin U RutaArgentina2024-09-20Rousseaux, Michael Esq NEGOTIATION24Stephen Shaw
1021Greenwood H NestleGermany2024-09-06Chemel, James L Cpa UNQUALIFIED90Stephen Shaw
1022Leja N GillianItaly2024-09-04Rangoni Of Florence NEGOTIATION96Amy Elsner
1023Jones F MacleadItaly2024-09-07Morlong Associates UNQUALIFIED1Bernardo Dominic
1024Ivar B FigeroaUnited Kingdom2024-09-09Chanay, Jeffrey A Esq RENEWAL84Amy Elsner
1025James R WieserUnited Kingdom2024-09-23Rangoni Of Florence UNQUALIFIED42Bernardo Dominic
1026Sinclair V KolmetzSpain2024-09-05Dorl, James J Esq NEGOTIATION28Onyama Limba
1027Aika H OldroydUnited Kingdom2024-09-17Chemel, James L Cpa NEGOTIATION99Anna Fali
1028Maisha B NickaArgentina2024-09-20Chemel, James L Cpa PROPOSAL99Elwin Sharvill
1029Maisha E KolmetzRussia2024-09-07Morlong Associates NEGOTIATION57Bernardo Dominic
1030Emily V PerinJapan2024-09-04Rangoni Of Florence NEGOTIATION96Xuxue Feng
1031Johnson N RulapaughArgentina2024-09-06Truhlar And Truhlar Attys NEW21Xuxue Feng
1032Emily O DoeFrance2024-08-26Chanay, Jeffrey A Esq RENEWAL26Asiya Javayant
1033Jeanfrancois Y CaldareraArgentina2024-08-28Chapman, Ross E Esq PROPOSAL32Asiya Javayant
1034Octavia Y BowleyRussia2024-09-12Chapman, Ross E Esq NEGOTIATION5Bernardo Dominic
1035Sinclair U MorascaRussia2024-09-22Chemel, James L Cpa NEW85Elwin Sharvill
1036Octavia Y GarufiUnited Kingdom2024-09-13Feltz Printing Service RENEWAL51Onyama Limba
1037Faith B PerinBrazil2024-08-26Chapman, Ross E Esq NEW17Bernardo Dominic
1038James I FollerCanada2024-09-04Rousseaux, Michael Esq RENEWAL65Ioni Bowcher
1039David L NickaSpain2024-09-17Chapman, Ross E Esq NEW39Onyama Limba
1040Arvin N OldroydArgentina2024-08-28Rangoni Of Florence QUALIFIED26Xuxue Feng
1041Maisha Z FlosiCanada2024-09-08Morlong Associates UNQUALIFIED66Ivan Magalhaes
1042Julie X GarufiCanada2024-09-12Dorl, James J Esq UNQUALIFIED29Onyama Limba
1043Arvin P ButtItaly2024-08-29King, Christopher A Esq NEGOTIATION84Xuxue Feng
1044Maisha V PoquetteArgentina2024-08-28Rousseaux, Michael Esq QUALIFIED9Elwin Sharvill
1045Johnson K GarufiItaly2024-08-26Buckley Miller Wright NEW86Stephen Shaw
1046Arvin B IturbideAustralia2024-09-22Chanay, Jeffrey A Esq QUALIFIED40Asiya Javayant
1047Stacey O DilliardFrance2024-09-08Chemel, James L Cpa UNQUALIFIED39Stephen Shaw
1048Faith B WhobreyAustralia2024-09-03Feltz Printing Service UNQUALIFIED74Anna Fali
1049Darci W MorascaItaly2024-09-13Feiner Bros QUALIFIED7Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro T SlusarskiJapanElwin Sharvill NEW
Alejandro L RoysterUnited KingdomStephen Shaw QUALIFIED
Nicolas H IturbideFranceBernardo Dominic RENEWAL
Smith S SaylorsFranceIvan Magalhaes QUALIFIED
Arvin N ButtIndiaOnyama Limba NEW
Emily V WhobreyJapanStephen Shaw UNQUALIFIED
Rodrigues U NickaGermanyStephen Shaw RENEWAL
Wickens W MorascaArgentinaStephen Shaw NEGOTIATION
Murillo I IturbideGermanyIoni Bowcher QUALIFIED
Maisha A RutaJapanBernardo Dominic PROPOSAL
James I MaletFranceAsiya Javayant RENEWAL
Maisha W OstroskyRussiaBernardo Dominic QUALIFIED
Morrow H NickaSpainAnna Fali NEW
Francesco M SergiArgentinaBernardo Dominic RENEWAL
Jones Q InouyeIndiaAnna Fali NEGOTIATION
Claire J CaudyAustraliaAnna Fali PROPOSAL
Smith Z InouyeArgentinaAmy Elsner RENEWAL
Nicolas J RulapaughFranceIoni Bowcher PROPOSAL
Tony W RoysterAustraliaStephen Shaw NEGOTIATION
Mayumi Q RimGermanyAmy Elsner RENEWAL
Claire H CaudyArgentinaXuxue Feng NEGOTIATION
Mayumi V PoquetteCanadaAnna Fali RENEWAL
Stacey J FerenczIndiaAsiya Javayant NEW
Salvatore R ButtAustraliaElwin Sharvill QUALIFIED
Ivar A BologniaRussiaOnyama Limba QUALIFIED
Nicolas I StockhamArgentinaAmy Elsner NEW
Emily Z TollnerUnited KingdomStephen Shaw NEW
Silvio M SlusarskiItalyBernardo Dominic PROPOSAL
Izzy W RutaIndiaAsiya Javayant UNQUALIFIED
Jefferson A RimRussiaIoni Bowcher RENEWAL
Greenwood E PerinItalyOnyama Limba NEW
Leja G FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson R ShinkoFranceXuxue Feng RENEWAL
Murillo B SlusarskiSpainAmy Elsner NEW
Murillo H SergiAustraliaIoni Bowcher UNQUALIFIED
Francesco U FlosiJapanIvan Magalhaes QUALIFIED
Isabel U MaletAustraliaAnna Fali RENEWAL
Stacey B OldroydSpainOnyama Limba PROPOSAL
Jennifer F InouyeArgentinaAsiya Javayant UNQUALIFIED
Morrow R MarrierGermanyAsiya Javayant NEGOTIATION
David G MarrierFranceIvan Magalhaes NEW
Darci Y WaycottSpainAsiya Javayant NEW
Alejandro O MacleadGermanyIoni Bowcher NEW
Salvatore P CampainArgentinaAmy Elsner NEW
Leon I FigeroaAustraliaIvan Magalhaes UNQUALIFIED
Izzy F RutaRussiaStephen Shaw NEGOTIATION
Wickens D SlusarskiCanadaOnyama Limba NEGOTIATION
Faith E NestleAustraliaIoni Bowcher UNQUALIFIED
Costa V DarakjyGermanyStephen Shaw RENEWAL
Deepesh D ButtRussiaIoni Bowcher NEW
Frozen Columns
Name
Jefferson S Bolognia
Munro U Rulapaugh
Aruna Q Perin
Tony Q Figeroa
Sinclair P Slusarski
James Q Rim
Aika E Iturbide
Emily C Bolognia
Leja S Albares
Costa G Slusarski
Kaitlin H Chui
Misaki B Foller
Julie Z Stockham
Ashley O Flosi
Francesco J Flosi
Smith T Kolmetz
Leon E Saylors
Izzy B Darakjy
Jefferson I Venere
Munro G Schemmer
Kaitlin H Saylors
Silvio A Whobrey
Octavia B Shinko
Salvatore A Poquette
Adams L Paprocki
Francesco Y Whobrey
Aruna U Malet
Murillo N Caldarera
Adams H Glick
Mujtaba A Whobrey
Mujtaba Y Paprocki
Claire X Darakjy
Darci O Maclead
Ashley X Amigon
Juan I Bowley
James P Schemmer
Darci Y Royster
Alejandro A Flosi
Salvatore S Figeroa
James G Albares
Murillo N Sergi
Julie I Garufi
Juan H Tollner
Rodrigues P Dilliard
Leja T Morasca
Maisha E Venere
Leon D Bolognia
Jones C Malet
Deepesh K Caldarera
Murillo Q Malet
IdCountryDate
1000Germany2024-08-28
1001Argentina2024-09-02
1002Canada2024-09-17
1003Australia2024-09-16
1004Argentina2024-09-12
1005Canada2024-09-09
1006Italy2024-08-30
1007France2024-08-25
1008Italy2024-09-22
1009Spain2024-09-02
1010Australia2024-09-05
1011Japan2024-09-17
1012Spain2024-09-20
1013United Kingdom2024-09-21
1014France2024-09-04
1015Argentina2024-08-25
1016Brazil2024-09-06
1017India2024-09-10
1018Russia2024-09-06
1019Brazil2024-09-05
1020Russia2024-09-11
1021Argentina2024-09-17
1022United Kingdom2024-09-12
1023Germany2024-09-08
1024United Kingdom2024-08-31
1025Brazil2024-09-18
1026Italy2024-08-26
1027France2024-09-23
1028Brazil2024-09-22
1029Germany2024-09-07
1030Canada2024-09-06
1031Italy2024-09-23
1032France2024-08-27
1033Argentina2024-08-27
1034Italy2024-09-15
1035France2024-09-04
1036France2024-09-08
1037Germany2024-08-26
1038France2024-09-11
1039Canada2024-08-30
1040Japan2024-09-05
1041India2024-09-04
1042United Kingdom2024-09-16
1043Brazil2024-09-22
1044India2024-09-14
1045Brazil2024-09-01
1046Spain2024-09-11
1047Australia2024-09-13
1048Japan2024-09-16
1049India2024-09-23

On-Demand Data

NameIdCountryDate
Leja R Sergi1000Germany2024-09-01
Maisha R Bolognia1001Russia2024-09-23
Arvin X Vocelka1002Germany2024-08-31
Stacey O Foller1003Australia2024-09-02
Johnson Z Flosi1004India2024-08-31
James U Glick1005Germany2024-09-17
Salvatore L Nestle1006Canada2024-09-12
Deepesh P Whobrey1007France2024-09-06
Octavia H Whobrey1008Brazil2024-09-11
Jeanfrancois B Gillian1009Brazil2024-09-16
Aditya C Campain1010Russia2024-09-09
Aruna N Inouye1011Argentina2024-09-14
Jeanfrancois J Slusarski1012France2024-09-17
Costa M Rim1013Germany2024-08-29
Wickens F Butt1014Spain2024-09-23
Stacey M Perin1015Germany2024-09-12
Rodrigues C Tollner1016Australia2024-09-22
David O Rim1017India2024-09-13
Sinclair H Dilliard1018Brazil2024-09-03
Maisha T Marrier1019Russia2024-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba L NestleCanadaOnyama Limba UNQUALIFIED
Stacey K MacleadAustraliaAmy Elsner QUALIFIED
Aika Y WhobreyArgentinaAnna Fali UNQUALIFIED
Francesco O WaycottUnited KingdomAnna Fali UNQUALIFIED
Nicolas I CaldareraItalyXuxue Feng RENEWAL
Alejandro V FollerBrazilOnyama Limba NEGOTIATION
Aruna H SchemmerArgentinaAsiya Javayant PROPOSAL
Johnson V CaudyRussiaStephen Shaw PROPOSAL
Adams E BowleyUnited KingdomOnyama Limba UNQUALIFIED
Faith O KuskoUnited KingdomAnna Fali RENEWAL
Izzy T ButtFranceAmy Elsner UNQUALIFIED
Leon K ChuiSpainXuxue Feng NEW
Munro J RimBrazilOnyama Limba PROPOSAL
Darci Z BriddickCanadaAsiya Javayant UNQUALIFIED
Jennifer Y RulapaughFranceIvan Magalhaes NEGOTIATION
Jones A DarakjyBrazilXuxue Feng PROPOSAL
Aditya L GarufiUnited KingdomStephen Shaw NEGOTIATION
Morrow F CampainGermanyXuxue Feng PROPOSAL
Julie W AlbaresAustraliaElwin Sharvill NEW
Kadeem P AmigonAustraliaIoni Bowcher NEW
Costa R DarakjyGermanyXuxue Feng RENEWAL
Silvio V NestleSpainAnna Fali UNQUALIFIED
Misaki Z MacleadSpainElwin Sharvill NEW
Chavez W BowleyJapanStephen Shaw NEGOTIATION
Misaki E BologniaUnited KingdomAmy Elsner QUALIFIED
Costa P ShinkoBrazilAmy Elsner UNQUALIFIED
Izzy R CaldareraBrazilAsiya Javayant PROPOSAL
Aditya X DoeAustraliaBernardo Dominic NEW
Darci U StensethBrazilElwin Sharvill RENEWAL
Jennifer S RulapaughBrazilAnna Fali RENEWAL
Leon N FerenczArgentinaBernardo Dominic UNQUALIFIED
Wickens W VocelkaAustraliaOnyama Limba PROPOSAL
Deepesh I ShinkoRussiaAsiya Javayant PROPOSAL
Juan I TollnerIndiaStephen Shaw QUALIFIED
Silvio O RoysterCanadaAnna Fali UNQUALIFIED
Aruna U VenereGermanyIoni Bowcher QUALIFIED
Johnson Y GauchoBrazilAmy Elsner UNQUALIFIED
David K PerinJapanElwin Sharvill NEW
Greenwood T DilliardJapanBernardo Dominic PROPOSAL
Kadeem G InouyeUnited KingdomIoni Bowcher 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>