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
Morrow G RoysterSpainIoni Bowcher NEW
Faith H PoquetteGermanyAmy Elsner PROPOSAL
Smith L InouyeSpainIvan Magalhaes RENEWAL
Silvio L FerenczGermanyAsiya Javayant RENEWAL
Salvatore F VocelkaFranceIoni Bowcher NEGOTIATION
Sinclair I WhobreyAustraliaIoni Bowcher QUALIFIED
Silvio P RulapaughBrazilAsiya Javayant UNQUALIFIED
Ashley E MaletArgentinaElwin Sharvill QUALIFIED
Ashley B InouyeSpainXuxue Feng RENEWAL
Jefferson M CaudyFranceXuxue Feng UNQUALIFIED
Clifford X StockhamSpainIvan Magalhaes PROPOSAL
Morrow O KuskoCanadaBernardo Dominic PROPOSAL
Ashley S SchemmerItalyOnyama Limba NEW
Munro G ChuiItalyIoni Bowcher NEW
Antonio P RulapaughFranceElwin Sharvill PROPOSAL
Greenwood U MaletUnited KingdomIoni Bowcher NEGOTIATION
Silvio B StockhamItalyAnna Fali NEW
Aika J CampainArgentinaXuxue Feng UNQUALIFIED
Munro R OldroydArgentinaAsiya Javayant QUALIFIED
Munro M MorascaFranceXuxue Feng PROPOSAL
Deepesh S StensethAustraliaXuxue Feng RENEWAL
Cody N RutaBrazilBernardo Dominic RENEWAL
Ricardo C GlickAustraliaElwin Sharvill RENEWAL
Sinclair W GauchoUnited KingdomAsiya Javayant RENEWAL
Sinclair J FerenczCanadaIoni Bowcher NEGOTIATION
Aditya N MaletAustraliaXuxue Feng NEW
Cody G FlosiGermanyStephen Shaw PROPOSAL
Ivar T CaudySpainElwin Sharvill RENEWAL
Jeanfrancois M ChuiGermanyStephen Shaw UNQUALIFIED
Francesco X TollnerJapanOnyama Limba PROPOSAL
Cody M KolmetzAustraliaAsiya Javayant RENEWAL
Emily N DilliardCanadaBernardo Dominic UNQUALIFIED
Alejandro P StockhamGermanyIvan Magalhaes NEW
Ricardo X AlbaresRussiaBernardo Dominic UNQUALIFIED
Ivar R RutaArgentinaIoni Bowcher NEGOTIATION
Tony Z FerenczCanadaStephen Shaw RENEWAL
Aditya Q VocelkaIndiaAmy Elsner UNQUALIFIED
Aditya D DilliardSpainIoni Bowcher UNQUALIFIED
Aika O MorascaItalyAnna Fali RENEWAL
Francesco L RimUnited KingdomXuxue Feng NEGOTIATION
James I BowleyAustraliaIvan Magalhaes NEW
David K FlosiCanadaOnyama Limba NEGOTIATION
Jefferson C OstroskySpainBernardo Dominic RENEWAL
Silvio Y RoysterCanadaIoni Bowcher RENEWAL
Aruna W KuskoIndiaAnna Fali NEW
Alejandro Q MorascaGermanyStephen Shaw RENEWAL
Jeanfrancois T FlosiSpainIoni Bowcher NEW
Jennifer B OstroskyUnited KingdomIoni Bowcher PROPOSAL
Alejandro C FollerSpainElwin Sharvill PROPOSAL
Adams A OldroydJapanAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Murillo Q IturbideUnited KingdomAnna Fali QUALIFIED
Sinclair L KolmetzAustraliaOnyama Limba RENEWAL
Stacey H MorascaJapanAnna Fali NEW
Arvin V BriddickRussiaAmy Elsner PROPOSAL
Munro B InouyeAustraliaAnna Fali UNQUALIFIED
Leon I OstroskyGermanyIoni Bowcher PROPOSAL
Mujtaba Q PerinArgentinaStephen Shaw RENEWAL
Greenwood F InouyeJapanAmy Elsner NEGOTIATION
Adams I MorascaItalyAsiya Javayant PROPOSAL
Clifford O FerenczFranceAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan J VocelkaFrance2025-06-15Commercial Press QUALIFIED12Bernardo Dominic
1001Adams L FerenczAustralia2025-06-09Rangoni Of Florence NEW56Bernardo Dominic
1002Deepesh S RoysterSpain2025-06-12Feltz Printing Service RENEWAL55Ivan Magalhaes
1003Salvatore U RulapaughGermany2025-05-18Chanay, Jeffrey A Esq NEW2Xuxue Feng
1004Murillo K KolmetzIndia2025-05-30Commercial Press PROPOSAL68Stephen Shaw
1005Leon L StensethArgentina2025-05-18Feltz Printing Service UNQUALIFIED72Stephen Shaw
1006Faith X AmigonItaly2025-06-14Chapman, Ross E Esq RENEWAL16Bernardo Dominic
1007James O NickaArgentina2025-05-25Chapman, Ross E Esq QUALIFIED96Stephen Shaw
1008Aika I NestleAustralia2025-06-14Chanay, Jeffrey A Esq NEW29Asiya Javayant
1009Jeanfrancois C WhobreyCanada2025-06-11Buckley Miller Wright QUALIFIED60Stephen Shaw
1010Arvin E CaudyJapan2025-05-25Chapman, Ross E Esq PROPOSAL34Bernardo Dominic
1011Jones A PoquetteIndia2025-06-08Dorl, James J Esq RENEWAL43Onyama Limba
1012Mayumi T MarrierArgentina2025-05-31Chanay, Jeffrey A Esq UNQUALIFIED5Ioni Bowcher
1013Tony K GillianCanada2025-05-25Buckley Miller Wright QUALIFIED73Ivan Magalhaes
1014Leja M NestleIndia2025-05-31Feiner Bros UNQUALIFIED34Anna Fali
1015James T RulapaughCanada2025-05-19Chemel, James L Cpa UNQUALIFIED92Ivan Magalhaes
1016Ricardo K ChuiUnited Kingdom2025-06-06Feltz Printing Service RENEWAL86Asiya Javayant
1017Julie D SlusarskiArgentina2025-05-29Benton, John B Jr QUALIFIED27Amy Elsner
1018Smith X SaylorsArgentina2025-05-29Printing Dimensions QUALIFIED89Stephen Shaw
1019James H StockhamFrance2025-06-06Feiner Bros UNQUALIFIED93Elwin Sharvill
1020Arvin U PerinAustralia2025-05-28King, Christopher A Esq PROPOSAL69Xuxue Feng
1021Nicolas A OldroydSpain2025-05-31Chapman, Ross E Esq NEW82Asiya Javayant
1022Ashley E RutaIndia2025-06-10Benton, John B Jr PROPOSAL46Bernardo Dominic
1023Nicolas L PaprockiAustralia2025-06-12Feltz Printing Service QUALIFIED53Amy Elsner
1024David N GauchoUnited Kingdom2025-06-02Feiner Bros UNQUALIFIED70Onyama Limba
1025Sinclair E DarakjyArgentina2025-06-16Rousseaux, Michael Esq NEW96Onyama Limba
1026James N SergiGermany2025-05-31Feltz Printing Service QUALIFIED74Bernardo Dominic
1027Aditya C DoeCanada2025-05-24Printing Dimensions PROPOSAL8Asiya Javayant
1028Silvio S FerenczJapan2025-05-26Chemel, James L Cpa NEW1Ioni Bowcher
1029Julie K WaycottArgentina2025-06-07Morlong Associates NEW59Bernardo Dominic
1030Leja T OldroydFrance2025-06-13Printing Dimensions NEW10Bernardo Dominic
1031Smith I PerinCanada2025-05-30Chemel, James L Cpa QUALIFIED52Anna Fali
1032Smith R CaldareraItaly2025-05-31Printing Dimensions NEW6Xuxue Feng
1033Jefferson E RimBrazil2025-05-23Truhlar And Truhlar Attys UNQUALIFIED19Elwin Sharvill
1034Ashley N MaletIndia2025-06-08Truhlar And Truhlar Attys NEW66Elwin Sharvill
1035Johnson I StockhamCanada2025-05-27Rangoni Of Florence NEW47Ivan Magalhaes
1036Johnson G WaycottAustralia2025-06-12Morlong Associates QUALIFIED26Amy Elsner
1037Aditya Q ChuiRussia2025-06-02Benton, John B Jr UNQUALIFIED88Ioni Bowcher
1038Mujtaba O MarrierFrance2025-05-19Chanay, Jeffrey A Esq PROPOSAL23Stephen Shaw
1039Murillo W BologniaUnited Kingdom2025-06-12Chanay, Jeffrey A Esq QUALIFIED33Amy Elsner
1040Nicolas D RimSpain2025-06-04Commercial Press RENEWAL76Asiya Javayant
1041Ivar K MacleadAustralia2025-05-20Feltz Printing Service NEGOTIATION19Onyama Limba
1042Octavia U SchemmerItaly2025-05-23Truhlar And Truhlar Attys NEGOTIATION71Xuxue Feng
1043Stacey X BriddickArgentina2025-06-13Commercial Press NEGOTIATION61Asiya Javayant
1044Claire P RoysterAustralia2025-06-09Rangoni Of Florence NEW55Elwin Sharvill
1045Ricardo D ButtRussia2025-05-22Commercial Press UNQUALIFIED6Onyama Limba
1046Claire P MorascaSpain2025-05-18Morlong Associates RENEWAL6Amy Elsner
1047David S NestleRussia2025-05-18Chanay, Jeffrey A Esq RENEWAL79Anna Fali
1048Julie S AlbaresAustralia2025-05-27Dorl, James J Esq QUALIFIED78Onyama Limba
1049Munro O FerenczRussia2025-06-15Truhlar And Truhlar Attys QUALIFIED31Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jefferson L SchemmerBrazilStephen Shaw RENEWAL
Arvin X FlosiFranceIvan Magalhaes PROPOSAL
Aruna R OldroydBrazilIoni Bowcher PROPOSAL
Ivar H SchemmerJapanIoni Bowcher UNQUALIFIED
Morrow J GlickBrazilAsiya Javayant QUALIFIED
Mujtaba P VocelkaSpainAnna Fali QUALIFIED
Greenwood B WaycottItalyIoni Bowcher NEGOTIATION
Jefferson J FollerIndiaBernardo Dominic PROPOSAL
David I ChuiRussiaOnyama Limba QUALIFIED
James Z MaletFranceAsiya Javayant QUALIFIED
Izzy T GauchoGermanyAnna Fali NEW
Mujtaba R OstroskyJapanIvan Magalhaes NEGOTIATION
Darci Y SlusarskiGermanyIoni Bowcher NEW
Smith Z BologniaJapanStephen Shaw RENEWAL
David A MorascaCanadaStephen Shaw RENEWAL
Emily F FollerJapanStephen Shaw NEW
Ivar D RimUnited KingdomAmy Elsner QUALIFIED
Ricardo F ChuiCanadaAsiya Javayant QUALIFIED
Mayumi T SchemmerSpainIvan Magalhaes PROPOSAL
Stacey I RutaAustraliaIvan Magalhaes NEGOTIATION
Wickens F MaletAustraliaIvan Magalhaes RENEWAL
Darci K MaletRussiaBernardo Dominic NEW
Izzy T RimAustraliaIoni Bowcher NEW
Jones R RoysterArgentinaIoni Bowcher RENEWAL
Arvin U BriddickItalyIoni Bowcher PROPOSAL
Kaitlin M VenereIndiaAmy Elsner RENEWAL
Leja Y DoeIndiaXuxue Feng QUALIFIED
Julie V KolmetzJapanXuxue Feng PROPOSAL
Smith T MorascaArgentinaStephen Shaw QUALIFIED
Greenwood G CampainArgentinaBernardo Dominic NEW
Kadeem T DarakjySpainAmy Elsner NEW
Chavez V NickaRussiaBernardo Dominic QUALIFIED
Tony J NickaCanadaElwin Sharvill PROPOSAL
Clifford T GlickSpainAsiya Javayant PROPOSAL
Greenwood O VenereIndiaAmy Elsner NEW
Silvio F WieserJapanIvan Magalhaes QUALIFIED
Maisha O CaldareraIndiaAnna Fali NEGOTIATION
Julie Y SaylorsArgentinaIoni Bowcher UNQUALIFIED
Maria B GarufiCanadaXuxue Feng QUALIFIED
Misaki T OstroskyJapanAsiya Javayant UNQUALIFIED
Mujtaba O TollnerBrazilBernardo Dominic NEW
Greenwood R NestleGermanyBernardo Dominic RENEWAL
Maisha K WieserSpainAsiya Javayant QUALIFIED
Cody C WaycottIndiaIoni Bowcher QUALIFIED
David O OldroydGermanyAmy Elsner UNQUALIFIED
Antonio G FigeroaUnited KingdomOnyama Limba NEGOTIATION
James B OldroydItalyAsiya Javayant NEGOTIATION
Morrow A MorascaArgentinaAnna Fali NEGOTIATION
Mujtaba F TollnerBrazilElwin Sharvill QUALIFIED
Ricardo W FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Frozen Columns
Name
Aika X Saylors
Rodrigues W Dilliard
Sinclair B Campain
Jones P Iturbide
Mayumi R Rim
Faith M Bowley
Antonio G Gaucho
Salvatore V Stockham
Claire M Gaucho
Arvin M Shinko
Faith B Slusarski
Misaki Z Inouye
Julie W Ferencz
Ricardo D Maclead
Nicolas X Rulapaugh
Costa H Glick
Mayumi B Iturbide
Johnson U Whobrey
Greenwood N Stenseth
Jennifer U Shinko
Ivar X Ostrosky
James U Nicka
Wickens K Kolmetz
Julie F Malet
Nicolas G Caudy
Isabel I Paprocki
Julie M Bolognia
Aditya E Ferencz
Ivar H Vocelka
Arvin Z Dilliard
Isabel C Stockham
Ashley I Inouye
Arvin R Figeroa
Darci S Bolognia
Jones S Royster
Emily T Kolmetz
Darci J Ostrosky
Stacey M Caldarera
Jennifer F Royster
Jefferson U Poquette
Izzy G Whobrey
James C Doe
Aditya Q Saylors
Cody X Schemmer
Silvio I Kolmetz
Arvin I Bowley
Antonio Y Foller
Jeanfrancois X Paprocki
Mayumi G Gillian
Ashley G Gaucho
IdCountryDate
1000Canada2025-06-10
1001Germany2025-06-02
1002Argentina2025-06-15
1003Canada2025-05-24
1004Argentina2025-05-29
1005India2025-05-21
1006Spain2025-06-03
1007Japan2025-05-19
1008Spain2025-06-10
1009Russia2025-06-01
1010France2025-05-28
1011Russia2025-05-29
1012Germany2025-06-13
1013India2025-05-20
1014Russia2025-05-19
1015Argentina2025-05-28
1016Argentina2025-05-30
1017Brazil2025-06-11
1018Spain2025-05-22
1019Japan2025-05-28
1020India2025-06-06
1021India2025-06-03
1022Canada2025-06-14
1023Brazil2025-06-15
1024India2025-05-27
1025Australia2025-05-30
1026Australia2025-05-31
1027France2025-06-08
1028United Kingdom2025-06-10
1029Australia2025-06-16
1030Russia2025-05-24
1031Argentina2025-05-20
1032Italy2025-06-16
1033Australia2025-05-31
1034Argentina2025-05-28
1035Brazil2025-05-23
1036India2025-05-30
1037Japan2025-06-09
1038Argentina2025-06-15
1039Australia2025-06-10
1040United Kingdom2025-06-01
1041France2025-06-05
1042Italy2025-05-25
1043Germany2025-05-25
1044France2025-05-23
1045India2025-05-28
1046Germany2025-06-07
1047India2025-05-25
1048Australia2025-06-02
1049Russia2025-05-29

On-Demand Data

NameIdCountryDate
Sinclair Y Malet1000France2025-05-24
Jennifer C Figeroa1001India2025-06-01
Francesco M Rim1002Brazil2025-06-04
Arvin I Dilliard1003Spain2025-06-14
Jeanfrancois T Bowley1004Argentina2025-06-02
Nicolas D Oldroyd1005France2025-05-18
Stacey U Shinko1006United Kingdom2025-06-09
Smith X Albares1007Australia2025-05-31
James O Caudy1008Brazil2025-05-18
Costa S Gillian1009Russia2025-06-08
Jennifer C Albares1010Australia2025-06-02
Jennifer R Saylors1011Japan2025-05-23
Julie T Rim1012Canada2025-05-29
Alejandro E Tollner1013Argentina2025-06-11
Salvatore A Venere1014Japan2025-06-02
Mayumi R Dilliard1015Canada2025-05-21
Maisha H Poquette1016Australia2025-06-11
Misaki E Darakjy1017Germany2025-06-01
Greenwood H Glick1018Italy2025-06-02
Jones G Darakjy1019Australia2025-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie M RimUnited KingdomAsiya Javayant UNQUALIFIED
Leon K CaldareraItalyOnyama Limba RENEWAL
Mujtaba E GillianFranceXuxue Feng NEGOTIATION
Murillo Q SlusarskiCanadaIvan Magalhaes RENEWAL
Cody B SergiArgentinaAmy Elsner QUALIFIED
Nicolas W MaletCanadaAnna Fali PROPOSAL
Salvatore E NickaBrazilAnna Fali PROPOSAL
Sinclair D MacleadFranceBernardo Dominic UNQUALIFIED
Jones A BologniaJapanIoni Bowcher UNQUALIFIED
James T InouyeCanadaBernardo Dominic UNQUALIFIED
Cody N CampainBrazilIvan Magalhaes NEW
Maria Z PaprockiCanadaXuxue Feng PROPOSAL
Claire P IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Stacey K BologniaFranceBernardo Dominic QUALIFIED
Stacey E OldroydUnited KingdomAnna Fali UNQUALIFIED
Antonio F RulapaughGermanyBernardo Dominic UNQUALIFIED
David N NestleRussiaElwin Sharvill RENEWAL
Misaki H NestleFranceOnyama Limba NEW
Cody N FerenczJapanAnna Fali RENEWAL
Aika J ShinkoAustraliaAmy Elsner UNQUALIFIED
Silvio B CampainSpainAmy Elsner RENEWAL
Faith F BowleyFranceXuxue Feng UNQUALIFIED
Clifford E MaletJapanAnna Fali QUALIFIED
Ivar Q PoquetteArgentinaAnna Fali NEW
Mujtaba D AmigonJapanBernardo Dominic RENEWAL
Maisha I CampainBrazilOnyama Limba RENEWAL
Jeanfrancois P MaletGermanyOnyama Limba QUALIFIED
Octavia P SlusarskiSpainAnna Fali QUALIFIED
Murillo M AlbaresBrazilOnyama Limba NEW
Leja Z ShinkoJapanAmy Elsner NEW
Misaki F WieserJapanStephen Shaw NEW
Aruna J MorascaArgentinaIoni Bowcher NEW
Salvatore L MarrierRussiaOnyama Limba PROPOSAL
Adams T DoeSpainElwin Sharvill UNQUALIFIED
Aditya Q FigeroaFranceAsiya Javayant QUALIFIED
Isabel I WieserIndiaOnyama Limba NEGOTIATION
Aruna S CampainUnited KingdomStephen Shaw NEW
Stacey O MaletUnited KingdomStephen Shaw RENEWAL
Costa T PerinIndiaIvan Magalhaes RENEWAL
David W InouyeAustraliaAmy Elsner QUALIFIED

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