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
Octavia K GarufiRussiaIoni Bowcher PROPOSAL
Emily M DarakjyFranceElwin Sharvill QUALIFIED
Misaki V InouyeAustraliaStephen Shaw QUALIFIED
Octavia X ChuiJapanAmy Elsner RENEWAL
Nicolas N StensethJapanElwin Sharvill RENEWAL
Jeanfrancois Q CaudyCanadaIvan Magalhaes NEW
Murillo O SergiUnited KingdomElwin Sharvill PROPOSAL
Morrow F AlbaresGermanyIoni Bowcher QUALIFIED
David G ShinkoSpainIoni Bowcher NEW
Costa M NestleJapanXuxue Feng QUALIFIED
Darci C DoeFranceBernardo Dominic PROPOSAL
Silvio K GillianJapanAmy Elsner PROPOSAL
Emily P VocelkaItalyAmy Elsner PROPOSAL
Smith S VocelkaJapanXuxue Feng NEGOTIATION
Stacey Q FigeroaArgentinaBernardo Dominic RENEWAL
Silvio T RoysterAustraliaIoni Bowcher RENEWAL
Maisha H SchemmerIndiaIoni Bowcher QUALIFIED
Aruna Q GillianJapanBernardo Dominic RENEWAL
Kadeem J GillianAustraliaAsiya Javayant UNQUALIFIED
Johnson H InouyeItalyIvan Magalhaes NEW
Sinclair T FollerAustraliaAnna Fali PROPOSAL
Julie S StensethAustraliaAnna Fali RENEWAL
Clifford M StockhamGermanyAmy Elsner NEGOTIATION
Cody U MaletBrazilIvan Magalhaes PROPOSAL
Kadeem J FerenczSpainIoni Bowcher QUALIFIED
Nicolas S PerinItalyIvan Magalhaes QUALIFIED
Johnson F BriddickUnited KingdomElwin Sharvill NEGOTIATION
Sinclair P ButtGermanyStephen Shaw UNQUALIFIED
Aruna B MaletArgentinaAnna Fali QUALIFIED
Faith Q IturbideSpainStephen Shaw PROPOSAL
Maisha P StensethGermanyStephen Shaw RENEWAL
Aruna F MaletCanadaElwin Sharvill NEW
Isabel H NickaBrazilStephen Shaw NEW
Clifford T GillianFranceAmy Elsner QUALIFIED
Arvin T DoeAustraliaXuxue Feng UNQUALIFIED
Aruna B KuskoUnited KingdomXuxue Feng PROPOSAL
Faith Q StensethGermanyAnna Fali RENEWAL
Julie R BriddickAustraliaAsiya Javayant UNQUALIFIED
Costa U RulapaughItalyIvan Magalhaes QUALIFIED
Izzy Q PerinBrazilAmy Elsner NEGOTIATION
Leon X GauchoArgentinaAsiya Javayant NEGOTIATION
Alejandro F MaletAustraliaIvan Magalhaes RENEWAL
Aika B SlusarskiBrazilElwin Sharvill PROPOSAL
Faith R BowleyItalyIvan Magalhaes RENEWAL
Isabel O GauchoIndiaAnna Fali UNQUALIFIED
Rodrigues X MorascaGermanyStephen Shaw RENEWAL
Adams G NestleSpainBernardo Dominic UNQUALIFIED
Nicolas P SlusarskiJapanBernardo Dominic NEW
David Y WhobreyGermanyAmy Elsner NEGOTIATION
Costa F KuskoGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha R FlosiUnited KingdomOnyama Limba NEGOTIATION
Kadeem E AlbaresBrazilStephen Shaw PROPOSAL
Jennifer Y BologniaGermanyStephen Shaw PROPOSAL
Leja M BowleyArgentinaAmy Elsner PROPOSAL
Tony J KuskoRussiaIoni Bowcher NEW
Faith P IturbideSpainElwin Sharvill PROPOSAL
Jefferson B ShinkoJapanOnyama Limba UNQUALIFIED
Salvatore M FlosiRussiaAmy Elsner PROPOSAL
Kadeem W SchemmerAustraliaIoni Bowcher NEW
Aruna S SlusarskiJapanElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey G BologniaFrance2025-06-03Dorl, James J Esq RENEWAL80Amy Elsner
1001Maisha Q KuskoRussia2025-05-24Chapman, Ross E Esq NEGOTIATION97Anna Fali
1002Nicolas I VocelkaRussia2025-06-09King, Christopher A Esq QUALIFIED50Xuxue Feng
1003Izzy A MaletGermany2025-06-08Chapman, Ross E Esq NEGOTIATION12Onyama Limba
1004Leja Z BowleySpain2025-06-01Chanay, Jeffrey A Esq NEGOTIATION98Onyama Limba
1005Arvin L VenereRussia2025-05-19Chapman, Ross E Esq NEGOTIATION52Ivan Magalhaes
1006Mujtaba A FlosiRussia2025-06-06Rangoni Of Florence NEW63Ivan Magalhaes
1007Clifford L SchemmerArgentina2025-06-07Chapman, Ross E Esq QUALIFIED49Amy Elsner
1008Emily K VocelkaGermany2025-05-31Benton, John B Jr UNQUALIFIED20Anna Fali
1009Juan Z FollerSpain2025-05-28Chanay, Jeffrey A Esq RENEWAL42Anna Fali
1010Rodrigues Q IturbideAustralia2025-05-23Buckley Miller Wright QUALIFIED67Ivan Magalhaes
1011Costa K DarakjyBrazil2025-05-26Truhlar And Truhlar Attys QUALIFIED22Ivan Magalhaes
1012James Z GauchoAustralia2025-05-18Morlong Associates NEW61Stephen Shaw
1013Mujtaba V WieserFrance2025-06-12Dorl, James J Esq QUALIFIED40Xuxue Feng
1014Alejandro B CampainArgentina2025-05-22Morlong Associates QUALIFIED43Ioni Bowcher
1015Stacey V IturbideJapan2025-05-31Dorl, James J Esq NEGOTIATION50Ioni Bowcher
1016Adams B GarufiFrance2025-06-08Dorl, James J Esq PROPOSAL99Ivan Magalhaes
1017Alejandro X WieserBrazil2025-06-04Printing Dimensions NEGOTIATION39Ivan Magalhaes
1018Chavez Y VenereBrazil2025-05-30Truhlar And Truhlar Attys NEW55Bernardo Dominic
1019Isabel D ButtGermany2025-05-30Morlong Associates PROPOSAL49Bernardo Dominic
1020Leja X AlbaresJapan2025-06-03Morlong Associates QUALIFIED74Onyama Limba
1021Mujtaba Q BologniaGermany2025-05-28Commercial Press RENEWAL94Bernardo Dominic
1022Maria V MarrierAustralia2025-05-28Benton, John B Jr NEW68Stephen Shaw
1023Ricardo Z NickaCanada2025-06-10Chapman, Ross E Esq NEW5Onyama Limba
1024Claire T VocelkaUnited Kingdom2025-06-05Feiner Bros UNQUALIFIED16Anna Fali
1025Stacey T KuskoCanada2025-06-10Commercial Press QUALIFIED8Ioni Bowcher
1026Francesco P PaprockiFrance2025-06-12Rangoni Of Florence PROPOSAL83Ivan Magalhaes
1027Maria G WieserArgentina2025-06-09Feltz Printing Service NEGOTIATION25Elwin Sharvill
1028Juan U SlusarskiRussia2025-06-14Printing Dimensions QUALIFIED83Amy Elsner
1029Johnson G StockhamUnited Kingdom2025-05-18Commercial Press RENEWAL54Elwin Sharvill
1030James N WhobreyAustralia2025-05-18Dorl, James J Esq QUALIFIED71Ivan Magalhaes
1031Cody G RimSpain2025-05-23Chapman, Ross E Esq NEGOTIATION78Elwin Sharvill
1032Chavez B NickaGermany2025-06-05Commercial Press UNQUALIFIED65Onyama Limba
1033Silvio L WieserCanada2025-06-08Commercial Press RENEWAL6Anna Fali
1034Misaki X InouyeGermany2025-06-05Printing Dimensions NEW77Anna Fali
1035Claire H ShinkoArgentina2025-06-01Chemel, James L Cpa PROPOSAL89Onyama Limba
1036Antonio E MaletArgentina2025-05-26Chemel, James L Cpa NEGOTIATION52Amy Elsner
1037Maria U InouyeBrazil2025-05-27Morlong Associates RENEWAL83Ivan Magalhaes
1038Ashley U BowleyIndia2025-05-26Printing Dimensions UNQUALIFIED37Anna Fali
1039Ashley T CaldareraAustralia2025-06-10Dorl, James J Esq NEGOTIATION3Anna Fali
1040Greenwood D ShinkoCanada2025-06-12Chanay, Jeffrey A Esq UNQUALIFIED41Amy Elsner
1041Wickens I NickaGermany2025-06-08Dorl, James J Esq PROPOSAL60Stephen Shaw
1042Cody V PoquetteArgentina2025-05-26Chemel, James L Cpa NEGOTIATION39Xuxue Feng
1043Rodrigues C OstroskyAustralia2025-05-20Commercial Press PROPOSAL36Amy Elsner
1044Jones E InouyeGermany2025-05-30Chapman, Ross E Esq NEGOTIATION1Elwin Sharvill
1045Jefferson I AlbaresFrance2025-05-24Chapman, Ross E Esq NEGOTIATION3Onyama Limba
1046Stacey V NickaAustralia2025-06-03Feiner Bros PROPOSAL45Ioni Bowcher
1047Mujtaba W RutaBrazil2025-05-17Feiner Bros UNQUALIFIED79Asiya Javayant
1048James G KolmetzJapan2025-05-27Truhlar And Truhlar Attys UNQUALIFIED27Elwin Sharvill
1049Morrow P SergiGermany2025-05-20Chanay, Jeffrey A Esq UNQUALIFIED72Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Julie G ChuiItalyElwin Sharvill NEGOTIATION
Ashley C RutaFranceOnyama Limba QUALIFIED
Leja U WieserJapanStephen Shaw NEGOTIATION
Greenwood M KuskoUnited KingdomIvan Magalhaes RENEWAL
Juan J MaletCanadaIoni Bowcher NEGOTIATION
Munro Q MaletAustraliaXuxue Feng RENEWAL
Chavez T OstroskyRussiaIvan Magalhaes NEW
Silvio H MaletAustraliaBernardo Dominic QUALIFIED
Mujtaba Z KolmetzArgentinaStephen Shaw NEGOTIATION
Misaki F IturbideFranceIoni Bowcher NEGOTIATION
Francesco M SaylorsBrazilIvan Magalhaes QUALIFIED
Salvatore X MarrierRussiaIoni Bowcher NEGOTIATION
Francesco Q ShinkoFranceIvan Magalhaes PROPOSAL
Francesco H MarrierArgentinaBernardo Dominic UNQUALIFIED
Wickens Z CaudyGermanyAmy Elsner RENEWAL
Izzy Q GauchoBrazilIvan Magalhaes PROPOSAL
Francesco F NestleSpainXuxue Feng RENEWAL
Arvin F SergiBrazilAmy Elsner UNQUALIFIED
Mujtaba Y BologniaBrazilStephen Shaw PROPOSAL
Nicolas F RoysterUnited KingdomXuxue Feng NEGOTIATION
Munro V FollerCanadaXuxue Feng RENEWAL
Costa W BowleyIndiaOnyama Limba QUALIFIED
Adams R StockhamItalyIvan Magalhaes RENEWAL
Claire N CampainAustraliaXuxue Feng NEW
Mayumi S SergiSpainStephen Shaw PROPOSAL
Isabel A KolmetzJapanAsiya Javayant NEGOTIATION
Antonio M GauchoRussiaAmy Elsner PROPOSAL
Ashley H MacleadRussiaAnna Fali NEW
Murillo J GlickJapanXuxue Feng RENEWAL
Costa A SaylorsRussiaXuxue Feng RENEWAL
Julie W RoysterItalyAsiya Javayant NEGOTIATION
Maria B FerenczIndiaAnna Fali RENEWAL
Salvatore P FigeroaIndiaAsiya Javayant RENEWAL
Aika Y NickaCanadaAnna Fali NEGOTIATION
Cody I MaletUnited KingdomIvan Magalhaes NEW
Costa P WaycottArgentinaAnna Fali UNQUALIFIED
Costa S MaletRussiaAmy Elsner QUALIFIED
Nicolas A SaylorsJapanStephen Shaw PROPOSAL
Murillo Y PaprockiFranceXuxue Feng NEGOTIATION
Ashley O SergiRussiaAmy Elsner RENEWAL
Emily Q GauchoBrazilStephen Shaw NEW
Johnson L DarakjyUnited KingdomStephen Shaw QUALIFIED
Izzy V VenereRussiaBernardo Dominic QUALIFIED
Chavez E SchemmerBrazilAmy Elsner UNQUALIFIED
Adams U BologniaSpainAmy Elsner RENEWAL
Isabel Y WaycottFranceElwin Sharvill RENEWAL
Octavia W PoquetteItalyAsiya Javayant NEGOTIATION
Claire J GarufiBrazilAnna Fali RENEWAL
David U FlosiFranceElwin Sharvill RENEWAL
Jeanfrancois K PaprockiCanadaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Ashley G Nicka
Ashley S Iturbide
Salvatore U Iturbide
Aditya B Rim
Alejandro Y Waycott
Alejandro X Caldarera
Kadeem P Wieser
Julie O Iturbide
Mayumi A Caldarera
Claire O Bowley
Jeanfrancois T Ruta
Julie H Malet
Claire H Butt
Silvio N Paprocki
Aika Y Briddick
Aruna C Darakjy
Morrow W Venere
Smith Z Paprocki
Julie I Nestle
Adams Z Royster
Chavez R Gaucho
Claire R Kusko
Morrow Y Whobrey
Rodrigues A Poquette
Isabel R Campain
Silvio S Whobrey
Wickens H Royster
Aruna X Kolmetz
Kaitlin C Flosi
Clifford C Malet
Mujtaba A Ruta
Octavia O Amigon
Kaitlin N Paprocki
Ivar K Sergi
Mujtaba B Butt
Munro W Wieser
Jefferson R Sergi
Deepesh J Paprocki
Costa Z Perin
Stacey C Glick
Maisha R Wieser
Leon K Vocelka
Jeanfrancois A Dilliard
Antonio U Poquette
Johnson S Gaucho
Claire O Waycott
Isabel O Rim
Darci E Poquette
Claire V Chui
Antonio G Rim
IdCountryDate
1000Italy2025-06-10
1001France2025-06-04
1002Argentina2025-06-03
1003Italy2025-06-01
1004Argentina2025-06-07
1005Japan2025-05-20
1006Spain2025-06-13
1007Germany2025-06-14
1008Japan2025-06-13
1009Japan2025-05-18
1010Argentina2025-06-14
1011France2025-05-29
1012Spain2025-05-31
1013Germany2025-06-12
1014Canada2025-05-25
1015Italy2025-06-04
1016Japan2025-06-05
1017Australia2025-06-05
1018Canada2025-06-12
1019France2025-05-28
1020Australia2025-06-13
1021Australia2025-06-08
1022Russia2025-05-17
1023Russia2025-05-27
1024Australia2025-05-21
1025Russia2025-06-12
1026Japan2025-06-15
1027Brazil2025-05-23
1028Argentina2025-06-14
1029Argentina2025-06-07
1030United Kingdom2025-06-10
1031Brazil2025-06-14
1032Russia2025-05-25
1033United Kingdom2025-06-08
1034Japan2025-05-29
1035Italy2025-05-30
1036United Kingdom2025-05-28
1037United Kingdom2025-06-04
1038Argentina2025-06-15
1039Canada2025-06-05
1040India2025-06-03
1041Japan2025-06-05
1042Canada2025-05-18
1043Germany2025-06-01
1044Brazil2025-06-15
1045Australia2025-06-06
1046Russia2025-06-14
1047United Kingdom2025-05-27
1048Brazil2025-06-10
1049Russia2025-05-24

On-Demand Data

NameIdCountryDate
Kaitlin H Foller1000Brazil2025-05-29
Rodrigues Z Paprocki1001Canada2025-05-17
Jeanfrancois Z Malet1002Argentina2025-05-19
Darci J Schemmer1003Russia2025-05-28
Leja Z Rulapaugh1004United Kingdom2025-06-14
Sinclair B Morasca1005Spain2025-05-20
Mujtaba T Nicka1006Canada2025-06-11
David T Royster1007Japan2025-06-03
Wickens Y Whobrey1008India2025-06-07
Ivar N Kusko1009Japan2025-05-22
Maisha M Schemmer1010United Kingdom2025-05-18
Emily O Albares1011Germany2025-05-21
Costa Z Kolmetz1012United Kingdom2025-05-28
Aruna P Flosi1013France2025-05-27
Ricardo X Schemmer1014Argentina2025-05-19
Rodrigues S Sergi1015France2025-05-31
Aditya M Ferencz1016Australia2025-05-31
Salvatore P Wieser1017United Kingdom2025-06-13
Jones T Royster1018Spain2025-05-27
Faith P Malet1019Italy2025-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith O GauchoFranceAsiya Javayant RENEWAL
Kadeem W KuskoFranceAsiya Javayant QUALIFIED
Mayumi V WhobreyItalyStephen Shaw QUALIFIED
Clifford H NickaIndiaOnyama Limba QUALIFIED
Izzy H OldroydCanadaAsiya Javayant UNQUALIFIED
Morrow Y StockhamIndiaOnyama Limba NEW
Ivar I MacleadCanadaAsiya Javayant NEGOTIATION
Aruna U MaletArgentinaAnna Fali RENEWAL
Darci S KuskoJapanIvan Magalhaes NEW
Alejandro C DilliardArgentinaIoni Bowcher QUALIFIED
Murillo N WieserRussiaAsiya Javayant QUALIFIED
David X AmigonRussiaIvan Magalhaes NEW
Misaki K VenereJapanElwin Sharvill PROPOSAL
Salvatore W CampainArgentinaStephen Shaw NEGOTIATION
Aruna W FerenczSpainIvan Magalhaes NEW
Murillo A GlickFranceAnna Fali QUALIFIED
Clifford Z RoysterItalyOnyama Limba NEW
Leja Q RimRussiaAnna Fali UNQUALIFIED
Costa L MacleadAustraliaAmy Elsner UNQUALIFIED
Aruna R CampainArgentinaIoni Bowcher UNQUALIFIED
Tony Z VenereAustraliaIvan Magalhaes NEW
Murillo E BowleyFranceElwin Sharvill NEW
Adams E RoysterUnited KingdomXuxue Feng QUALIFIED
Jefferson L MorascaAustraliaAmy Elsner NEGOTIATION
Murillo T NestleBrazilStephen Shaw PROPOSAL
Aruna F PaprockiItalyAnna Fali UNQUALIFIED
Octavia P KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Isabel H WieserAustraliaElwin Sharvill UNQUALIFIED
Kadeem F AlbaresCanadaBernardo Dominic RENEWAL
Juan G AmigonItalyOnyama Limba PROPOSAL
James F SaylorsAustraliaBernardo Dominic QUALIFIED
Kadeem Q OldroydJapanOnyama Limba NEGOTIATION
Costa F KuskoArgentinaIoni Bowcher QUALIFIED
Darci W CaudyIndiaBernardo Dominic UNQUALIFIED
Jefferson F MaletIndiaAmy Elsner QUALIFIED
Morrow T OstroskyIndiaIvan Magalhaes RENEWAL
Emily M FollerCanadaAsiya Javayant PROPOSAL
Nicolas B AmigonAustraliaAnna Fali UNQUALIFIED
Izzy Q VenereFranceAmy Elsner RENEWAL
Sinclair I StensethJapanAnna Fali 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>