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
Jeanfrancois B MaletCanadaElwin Sharvill PROPOSAL
Tony F VenereAustraliaAmy Elsner UNQUALIFIED
Ashley V ButtIndiaXuxue Feng NEGOTIATION
Jennifer L AmigonBrazilIoni Bowcher QUALIFIED
Clifford W FollerUnited KingdomAnna Fali NEGOTIATION
Julie Q BologniaFranceIvan Magalhaes NEGOTIATION
David N WieserFranceIvan Magalhaes NEGOTIATION
Kaitlin C PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Munro A MorascaIndiaBernardo Dominic NEGOTIATION
Alejandro O StockhamFranceStephen Shaw RENEWAL
Jennifer U SchemmerGermanyIoni Bowcher NEGOTIATION
Mayumi I AlbaresArgentinaAsiya Javayant RENEWAL
Wickens C PaprockiSpainIoni Bowcher UNQUALIFIED
Leja G CaldareraAustraliaElwin Sharvill QUALIFIED
Faith V SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Ivar J CampainFranceXuxue Feng UNQUALIFIED
Jennifer W CampainSpainIvan Magalhaes NEW
Wickens S PerinItalyStephen Shaw QUALIFIED
Jeanfrancois M DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Aika X WaycottBrazilOnyama Limba RENEWAL
Aika I InouyeBrazilElwin Sharvill RENEWAL
Ivar O MacleadRussiaAsiya Javayant UNQUALIFIED
Clifford W BowleyGermanyIvan Magalhaes UNQUALIFIED
Leon H RutaBrazilOnyama Limba UNQUALIFIED
Ricardo A MarrierBrazilStephen Shaw QUALIFIED
David F KolmetzItalyAmy Elsner RENEWAL
Mujtaba S InouyeAustraliaIoni Bowcher RENEWAL
Francesco U FlosiItalyBernardo Dominic RENEWAL
Murillo Z FerenczSpainAsiya Javayant UNQUALIFIED
Mujtaba Y FollerUnited KingdomStephen Shaw RENEWAL
Munro A RutaUnited KingdomIvan Magalhaes NEGOTIATION
Adams U DilliardIndiaAmy Elsner PROPOSAL
Jennifer L SchemmerCanadaElwin Sharvill PROPOSAL
Octavia H RutaFranceIoni Bowcher RENEWAL
Greenwood C RoysterAustraliaElwin Sharvill RENEWAL
Aika Q SaylorsBrazilElwin Sharvill QUALIFIED
Juan F NickaItalyElwin Sharvill UNQUALIFIED
Juan D StensethArgentinaAsiya Javayant NEW
Adams N PaprockiAustraliaIvan Magalhaes NEW
Alejandro K GlickAustraliaAsiya Javayant QUALIFIED
Jeanfrancois Z InouyeBrazilXuxue Feng QUALIFIED
Morrow M TollnerIndiaAsiya Javayant NEGOTIATION
Cody P TollnerCanadaBernardo Dominic NEW
Juan C TollnerRussiaAsiya Javayant NEW
Jeanfrancois H RimItalyAnna Fali NEW
Isabel S GlickCanadaAnna Fali QUALIFIED
Mujtaba T OldroydBrazilXuxue Feng QUALIFIED
Arvin H SlusarskiAustraliaAsiya Javayant RENEWAL
Jennifer A VenereGermanyElwin Sharvill RENEWAL
Murillo W CaldareraUnited KingdomAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David L CaudyRussiaBernardo Dominic RENEWAL
Deepesh K SchemmerIndiaIvan Magalhaes UNQUALIFIED
Antonio I TollnerGermanyBernardo Dominic PROPOSAL
Jefferson Y FlosiArgentinaAsiya Javayant QUALIFIED
Aika X FollerJapanXuxue Feng QUALIFIED
Juan G AmigonCanadaStephen Shaw QUALIFIED
Antonio I BowleyItalyAsiya Javayant NEGOTIATION
Ivar F StockhamIndiaXuxue Feng NEGOTIATION
Claire F SchemmerGermanyIoni Bowcher PROPOSAL
Cody K TollnerBrazilXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio V VenereGermany2024-06-20Rousseaux, Michael Esq UNQUALIFIED47Elwin Sharvill
1001Jones B PaprockiArgentina2024-06-15Printing Dimensions NEW33Xuxue Feng
1002Darci G FerenczFrance2024-06-17Buckley Miller Wright QUALIFIED55Elwin Sharvill
1003Morrow C MacleadFrance2024-06-22King, Christopher A Esq RENEWAL12Elwin Sharvill
1004Johnson Q PoquetteCanada2024-06-05Chapman, Ross E Esq QUALIFIED74Anna Fali
1005Costa N DoeCanada2024-06-17Feiner Bros NEGOTIATION65Elwin Sharvill
1006Greenwood N OstroskyAustralia2024-06-09Buckley Miller Wright NEW72Ivan Magalhaes
1007Rodrigues B WaycottSpain2024-06-14Chapman, Ross E Esq RENEWAL98Xuxue Feng
1008Izzy K DoeSpain2024-06-09Chapman, Ross E Esq UNQUALIFIED47Asiya Javayant
1009Wickens N FlosiArgentina2024-06-11Chemel, James L Cpa NEW83Anna Fali
1010Kaitlin V CaudySpain2024-06-01Chemel, James L Cpa QUALIFIED74Elwin Sharvill
1011Alejandro X FlosiBrazil2024-06-08Morlong Associates UNQUALIFIED9Anna Fali
1012Murillo C MaletCanada2024-05-25Chemel, James L Cpa NEGOTIATION59Asiya Javayant
1013Ricardo E AlbaresRussia2024-05-28Truhlar And Truhlar Attys NEW75Asiya Javayant
1014Ashley D StensethCanada2024-06-12Chemel, James L Cpa NEGOTIATION5Bernardo Dominic
1015Adams M RulapaughAustralia2024-05-30Chemel, James L Cpa QUALIFIED59Xuxue Feng
1016Costa Z GarufiArgentina2024-06-03Commercial Press QUALIFIED4Amy Elsner
1017Wickens B RimRussia2024-06-14Printing Dimensions NEW39Anna Fali
1018Mujtaba A KuskoAustralia2024-06-10Feiner Bros NEW30Asiya Javayant
1019Claire R SlusarskiUnited Kingdom2024-06-01Benton, John B Jr RENEWAL70Anna Fali
1020Cody U ChuiBrazil2024-05-28Truhlar And Truhlar Attys QUALIFIED79Anna Fali
1021Jones G DilliardGermany2024-06-03Buckley Miller Wright NEW96Ivan Magalhaes
1022Octavia C MaletJapan2024-06-03Feltz Printing Service PROPOSAL28Stephen Shaw
1023Jefferson Z GlickFrance2024-06-11Feiner Bros QUALIFIED40Onyama Limba
1024Tony T RoysterUnited Kingdom2024-06-04Buckley Miller Wright NEGOTIATION71Onyama Limba
1025Leon Z SchemmerRussia2024-06-04Rousseaux, Michael Esq NEW88Asiya Javayant
1026Cody J ChuiArgentina2024-06-12Buckley Miller Wright NEW25Asiya Javayant
1027Ashley A MacleadRussia2024-06-17Chanay, Jeffrey A Esq QUALIFIED32Ivan Magalhaes
1028Tony D MaletAustralia2024-06-02Buckley Miller Wright NEGOTIATION8Onyama Limba
1029Arvin Z ChuiSpain2024-05-25Morlong Associates QUALIFIED16Xuxue Feng
1030Wickens R FlosiIndia2024-06-13Rangoni Of Florence QUALIFIED81Xuxue Feng
1031Misaki J RulapaughRussia2024-06-09Feiner Bros NEW70Onyama Limba
1032Greenwood I StensethIndia2024-05-25King, Christopher A Esq UNQUALIFIED60Amy Elsner
1033Isabel X BriddickBrazil2024-06-03Feiner Bros NEW89Bernardo Dominic
1034Nicolas J RulapaughSpain2024-06-06Feiner Bros UNQUALIFIED53Asiya Javayant
1035Ivar O CaudyBrazil2024-06-15Rangoni Of Florence PROPOSAL75Ioni Bowcher
1036Costa P GillianAustralia2024-06-05Chapman, Ross E Esq UNQUALIFIED7Anna Fali
1037Misaki W CaldareraBrazil2024-06-03Buckley Miller Wright NEW34Ioni Bowcher
1038Kaitlin N OldroydFrance2024-05-31Printing Dimensions RENEWAL36Onyama Limba
1039Isabel W FlosiAustralia2024-06-08Rangoni Of Florence NEW79Amy Elsner
1040Jones J AmigonSpain2024-05-30Rousseaux, Michael Esq QUALIFIED73Anna Fali
1041Francesco N SergiGermany2024-06-16Rousseaux, Michael Esq PROPOSAL76Ioni Bowcher
1042Juan O MarrierItaly2024-06-09Feltz Printing Service NEGOTIATION95Onyama Limba
1043Aika Y GarufiAustralia2024-06-23Buckley Miller Wright RENEWAL70Ioni Bowcher
1044Munro T AmigonBrazil2024-06-20Benton, John B Jr NEW3Ivan Magalhaes
1045Tony A DoeRussia2024-06-07Printing Dimensions RENEWAL14Amy Elsner
1046Chavez B GillianArgentina2024-06-21Truhlar And Truhlar Attys UNQUALIFIED83Stephen Shaw
1047Chavez Y GillianSpain2024-05-26Chemel, James L Cpa PROPOSAL97Anna Fali
1048Aika D FerenczSpain2024-06-20Benton, John B Jr RENEWAL97Onyama Limba
1049Mujtaba S PaprockiItaly2024-06-23Rangoni Of Florence UNQUALIFIED75Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mayumi O BriddickIndiaAmy Elsner NEGOTIATION
Francesco J KuskoArgentinaElwin Sharvill NEGOTIATION
Aditya N PoquetteFranceAsiya Javayant QUALIFIED
Octavia E MaletRussiaOnyama Limba QUALIFIED
Jennifer M ChuiSpainStephen Shaw UNQUALIFIED
Salvatore S CaudyArgentinaIvan Magalhaes NEGOTIATION
Tony X MaletFranceBernardo Dominic QUALIFIED
Cody V FollerRussiaIoni Bowcher PROPOSAL
Jones X MorascaSpainOnyama Limba PROPOSAL
Aika P RulapaughAustraliaAmy Elsner NEW
Sinclair P DilliardJapanAsiya Javayant NEW
Leon U BologniaArgentinaBernardo Dominic QUALIFIED
Ivar K StensethUnited KingdomOnyama Limba QUALIFIED
Silvio H MacleadAustraliaAsiya Javayant NEW
Faith G MacleadIndiaAmy Elsner UNQUALIFIED
Mujtaba L OstroskyJapanIoni Bowcher RENEWAL
Darci J SchemmerAustraliaAmy Elsner NEW
Kaitlin B BowleyGermanyAsiya Javayant PROPOSAL
Greenwood O RutaRussiaElwin Sharvill RENEWAL
Claire K CaldareraCanadaAmy Elsner RENEWAL
Isabel X VocelkaFranceAnna Fali QUALIFIED
Jeanfrancois L MaletIndiaIoni Bowcher QUALIFIED
Chavez T MaletItalyXuxue Feng QUALIFIED
Ashley Z MacleadAustraliaAmy Elsner RENEWAL
Morrow G SergiSpainAmy Elsner QUALIFIED
Cody T GauchoGermanyStephen Shaw UNQUALIFIED
Jeanfrancois C InouyeFranceIvan Magalhaes UNQUALIFIED
David M GarufiAustraliaIoni Bowcher RENEWAL
Julie U GlickRussiaElwin Sharvill NEGOTIATION
Alejandro K OstroskyJapanAsiya Javayant NEGOTIATION
Johnson C WieserItalyBernardo Dominic NEW
Antonio G BriddickJapanAsiya Javayant RENEWAL
Smith Z RulapaughGermanyIoni Bowcher NEGOTIATION
Juan T CampainSpainAnna Fali NEW
Greenwood S MarrierCanadaAsiya Javayant PROPOSAL
Adams L NestleGermanyIoni Bowcher QUALIFIED
Wickens D MorascaUnited KingdomAnna Fali PROPOSAL
Murillo R MaletGermanyIvan Magalhaes QUALIFIED
Deepesh L PaprockiRussiaIvan Magalhaes UNQUALIFIED
Murillo X OldroydCanadaBernardo Dominic PROPOSAL
Johnson I CaudyJapanElwin Sharvill QUALIFIED
Julie G DarakjyItalyAmy Elsner QUALIFIED
Aika K RutaSpainXuxue Feng NEGOTIATION
Kadeem I GarufiItalyAmy Elsner NEW
Aditya O DarakjyItalyIvan Magalhaes UNQUALIFIED
Arvin W MaletRussiaBernardo Dominic NEW
Jennifer O MorascaRussiaAnna Fali RENEWAL
Jennifer V ButtIndiaElwin Sharvill NEW
Juan B ShinkoGermanyXuxue Feng QUALIFIED
Claire X DilliardArgentinaAmy Elsner QUALIFIED
Frozen Columns
Name
Tony N Wieser
Mujtaba I Rim
Aditya X Stockham
Stacey P Ferencz
Aruna M Butt
Ricardo Y Malet
Johnson J Flosi
Maisha H Paprocki
David X Stenseth
Ricardo K Nestle
Tony E Waycott
Sinclair D Gillian
David D Doe
Ricardo W Kusko
Francesco C Morasca
Salvatore N Ostrosky
Izzy M Chui
Izzy L Slusarski
Jeanfrancois I Kolmetz
Ricardo D Ruta
Silvio J Inouye
Izzy I Ruta
Isabel O Schemmer
Francesco D Royster
Kadeem K Albares
Julie O Vocelka
Maisha V Kusko
Claire Q Rim
Ricardo W Waycott
Deepesh Z Bowley
Aruna E Wieser
Greenwood C Rulapaugh
Cody Y Whobrey
Juan I Butt
Aika X Paprocki
Chavez D Marrier
Ricardo K Doe
Cody H Stockham
Sinclair W Dilliard
Jennifer O Perin
Aika M Doe
Misaki I Perin
Rodrigues P Stockham
Juan J Slusarski
Mayumi N Malet
Juan G Morasca
James T Perin
Sinclair H Gillian
Isabel D Stenseth
Faith V Garufi
IdCountryDate
1000United Kingdom2024-05-30
1001Argentina2024-06-11
1002Argentina2024-06-16
1003Spain2024-06-06
1004Argentina2024-06-04
1005Spain2024-06-08
1006Brazil2024-05-30
1007Brazil2024-06-04
1008France2024-06-07
1009Canada2024-06-19
1010Australia2024-06-16
1011Argentina2024-06-15
1012Canada2024-06-03
1013Germany2024-06-13
1014Argentina2024-05-29
1015Japan2024-05-31
1016Australia2024-06-12
1017Germany2024-05-27
1018Canada2024-06-15
1019Brazil2024-06-05
1020Brazil2024-06-20
1021Italy2024-05-30
1022Japan2024-06-14
1023France2024-06-11
1024India2024-05-27
1025Australia2024-06-13
1026Japan2024-05-27
1027India2024-06-22
1028United Kingdom2024-06-10
1029Germany2024-06-23
1030Canada2024-06-12
1031Spain2024-06-05
1032Argentina2024-06-01
1033India2024-06-10
1034Canada2024-06-21
1035Japan2024-06-16
1036Japan2024-06-11
1037Argentina2024-05-25
1038Argentina2024-06-15
1039India2024-06-21
1040Brazil2024-06-17
1041Russia2024-05-25
1042Russia2024-05-25
1043Australia2024-06-15
1044Japan2024-06-15
1045Argentina2024-06-15
1046Italy2024-06-18
1047Germany2024-06-14
1048Japan2024-06-14
1049Italy2024-06-09

On-Demand Data

NameIdCountryDate
Rodrigues M Dilliard1000Japan2024-06-05
Claire G Glick1001Argentina2024-06-02
Johnson M Paprocki1002France2024-06-17
Wickens J Briddick1003Italy2024-06-13
Darci O Bolognia1004Argentina2024-06-15
Ricardo E Nicka1005Spain2024-06-13
Silvio Y Bolognia1006Russia2024-06-12
Murillo M Doe1007Germany2024-06-18
Costa E Ferencz1008Germany2024-06-11
Ashley Z Sergi1009Italy2024-06-04
Deepesh N Wieser1010Spain2024-06-21
Cody O Gillian1011Australia2024-05-29
Johnson F Royster1012United Kingdom2024-06-07
Nicolas G Ruta1013Germany2024-05-26
Isabel M Briddick1014France2024-06-20
Aruna G Albares1015Canada2024-06-13
Morrow R Nicka1016Germany2024-05-28
Salvatore M Oldroyd1017France2024-06-22
Jeanfrancois Q Whobrey1018Argentina2024-06-09
Morrow W Waycott1019Canada2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire D SaylorsArgentinaOnyama Limba PROPOSAL
Morrow F VenereItalyBernardo Dominic RENEWAL
Jennifer T InouyeJapanAsiya Javayant NEW
Jeanfrancois K KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer N TollnerCanadaAnna Fali NEW
David N MaletGermanyIoni Bowcher QUALIFIED
Costa J DoeCanadaElwin Sharvill PROPOSAL
Ivar D SaylorsAustraliaIvan Magalhaes RENEWAL
David K KolmetzArgentinaOnyama Limba PROPOSAL
Rodrigues S DoeUnited KingdomAnna Fali UNQUALIFIED
Wickens W VenereItalyAsiya Javayant RENEWAL
Stacey K BologniaArgentinaIvan Magalhaes UNQUALIFIED
Jennifer D VocelkaJapanStephen Shaw NEW
Jennifer W NickaSpainStephen Shaw QUALIFIED
Octavia F CaudyRussiaOnyama Limba QUALIFIED
Leon A PoquetteArgentinaIoni Bowcher NEGOTIATION
Mujtaba R MacleadArgentinaStephen Shaw PROPOSAL
Ashley E InouyeJapanBernardo Dominic RENEWAL
Silvio A VocelkaFranceStephen Shaw QUALIFIED
Leon K CampainAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois C PoquetteIndiaAsiya Javayant NEGOTIATION
Alejandro R MarrierIndiaIoni Bowcher PROPOSAL
Greenwood N InouyeRussiaBernardo Dominic UNQUALIFIED
Juan U SergiUnited KingdomBernardo Dominic QUALIFIED
Isabel I SergiItalyStephen Shaw NEGOTIATION
Nicolas T FollerRussiaBernardo Dominic NEW
Adams E PoquetteUnited KingdomAmy Elsner PROPOSAL
Clifford Q CampainCanadaStephen Shaw QUALIFIED
Smith R MarrierUnited KingdomOnyama Limba QUALIFIED
Octavia R AlbaresJapanAsiya Javayant NEGOTIATION
Arvin K SaylorsIndiaElwin Sharvill NEW
Mujtaba W ChuiSpainIvan Magalhaes QUALIFIED
Kadeem W RoysterJapanAnna Fali QUALIFIED
Jones R FigeroaAustraliaXuxue Feng NEW
Jones S TollnerGermanyOnyama Limba QUALIFIED
Ricardo I AmigonBrazilAnna Fali NEGOTIATION
Costa O BriddickGermanyXuxue Feng RENEWAL
Aruna R TollnerFranceElwin Sharvill RENEWAL
Jennifer J StensethJapanStephen Shaw PROPOSAL
Arvin K RoysterCanadaBernardo Dominic 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>