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
Leon T PerinAustraliaOnyama Limba RENEWAL
Juan P KolmetzSpainOnyama Limba NEW
Sinclair Z FigeroaArgentinaAnna Fali PROPOSAL
Silvio M WaycottSpainAmy Elsner RENEWAL
Aruna W BologniaRussiaIoni Bowcher NEGOTIATION
Jeanfrancois G VocelkaAustraliaIoni Bowcher RENEWAL
Mujtaba R PoquetteGermanyBernardo Dominic NEGOTIATION
Aika Z CaldareraRussiaIvan Magalhaes UNQUALIFIED
Misaki S DoeFranceAsiya Javayant NEGOTIATION
Emily J GarufiRussiaAmy Elsner UNQUALIFIED
Aruna P MaletRussiaElwin Sharvill NEW
Izzy Y RulapaughFranceStephen Shaw QUALIFIED
Jefferson G AmigonFranceAmy Elsner UNQUALIFIED
Leon E SergiCanadaXuxue Feng PROPOSAL
Maria P RoysterAustraliaAsiya Javayant UNQUALIFIED
Greenwood E CaldareraBrazilXuxue Feng RENEWAL
Faith T RulapaughFranceXuxue Feng PROPOSAL
Aika X CaldareraBrazilIvan Magalhaes UNQUALIFIED
Johnson K RoysterJapanAnna Fali UNQUALIFIED
Jeanfrancois A AlbaresFranceAsiya Javayant NEGOTIATION
Ivar Z MacleadIndiaStephen Shaw UNQUALIFIED
Smith W IturbideFranceAsiya Javayant NEGOTIATION
Ricardo A ShinkoSpainBernardo Dominic NEW
Francesco C WhobreyRussiaAsiya Javayant QUALIFIED
Jones Z GlickJapanStephen Shaw RENEWAL
Antonio O MacleadUnited KingdomBernardo Dominic PROPOSAL
Emily Z ChuiCanadaBernardo Dominic UNQUALIFIED
Kadeem Y OldroydRussiaXuxue Feng PROPOSAL
Ashley T GauchoRussiaIoni Bowcher NEGOTIATION
Wickens M RoysterIndiaBernardo Dominic PROPOSAL
Murillo F OstroskyUnited KingdomAnna Fali NEW
Stacey J PerinItalyStephen Shaw UNQUALIFIED
Kadeem G MarrierUnited KingdomIvan Magalhaes PROPOSAL
Jennifer C BowleyArgentinaAnna Fali NEGOTIATION
Mujtaba S BriddickIndiaAmy Elsner PROPOSAL
Isabel D NickaFranceIoni Bowcher UNQUALIFIED
Arvin O MacleadCanadaOnyama Limba RENEWAL
Kaitlin M MarrierJapanXuxue Feng RENEWAL
Jones T DilliardBrazilAmy Elsner NEW
Ashley R CaudySpainIvan Magalhaes PROPOSAL
Morrow L DarakjyUnited KingdomOnyama Limba QUALIFIED
Cody D CaudyGermanyElwin Sharvill QUALIFIED
Mujtaba K StensethBrazilOnyama Limba PROPOSAL
Octavia U ButtCanadaOnyama Limba PROPOSAL
Darci M FlosiIndiaBernardo Dominic PROPOSAL
Aditya P GauchoArgentinaXuxue Feng NEW
Clifford J KuskoUnited KingdomOnyama Limba QUALIFIED
Sinclair E SchemmerJapanIoni Bowcher NEW
Jeanfrancois X MaletBrazilAnna Fali QUALIFIED
Jeanfrancois G DilliardItalyBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois K CaudyUnited KingdomElwin Sharvill QUALIFIED
Leon I FerenczCanadaAsiya Javayant NEW
Murillo S GillianCanadaIvan Magalhaes UNQUALIFIED
Munro V MorascaItalyBernardo Dominic UNQUALIFIED
Adams E OldroydSpainStephen Shaw PROPOSAL
Greenwood A RutaArgentinaAsiya Javayant RENEWAL
Jones O VocelkaGermanyBernardo Dominic NEGOTIATION
Ivar P SaylorsJapanIoni Bowcher UNQUALIFIED
Maisha J MarrierFranceAsiya Javayant RENEWAL
Ivar Z DilliardAustraliaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily G DarakjyIndia2024-06-07Feiner Bros RENEWAL0Ivan Magalhaes
1001Claire D CampainCanada2024-06-08Morlong Associates RENEWAL92Amy Elsner
1002James U OstroskyCanada2024-06-08Chemel, James L Cpa NEW65Asiya Javayant
1003Rodrigues E SchemmerItaly2024-05-25Rangoni Of Florence PROPOSAL12Bernardo Dominic
1004Izzy X KolmetzArgentina2024-05-20Feiner Bros RENEWAL5Asiya Javayant
1005Sinclair L SaylorsUnited Kingdom2024-05-21Morlong Associates UNQUALIFIED57Xuxue Feng
1006Francesco K AlbaresGermany2024-06-07Chemel, James L Cpa RENEWAL86Stephen Shaw
1007Costa U BologniaIndia2024-06-09Feltz Printing Service QUALIFIED95Stephen Shaw
1008Francesco U MarrierUnited Kingdom2024-06-01Rousseaux, Michael Esq UNQUALIFIED86Bernardo Dominic
1009Munro O MarrierJapan2024-05-28Morlong Associates PROPOSAL4Asiya Javayant
1010Chavez N CaldareraRussia2024-06-09Chanay, Jeffrey A Esq RENEWAL40Asiya Javayant
1011Greenwood A GarufiSpain2024-05-31Commercial Press NEW35Onyama Limba
1012Ivar W FollerUnited Kingdom2024-06-11Rousseaux, Michael Esq NEGOTIATION56Asiya Javayant
1013Jefferson W FerenczArgentina2024-05-20Chemel, James L Cpa NEGOTIATION65Elwin Sharvill
1014Mujtaba P RimItaly2024-05-28Rangoni Of Florence UNQUALIFIED56Xuxue Feng
1015Faith C DilliardItaly2024-05-21Chapman, Ross E Esq RENEWAL57Amy Elsner
1016Darci J PaprockiItaly2024-06-04Dorl, James J Esq UNQUALIFIED59Ivan Magalhaes
1017Jefferson G FigeroaUnited Kingdom2024-05-27Chapman, Ross E Esq QUALIFIED73Xuxue Feng
1018Ricardo S OldroydBrazil2024-06-05Morlong Associates NEGOTIATION50Onyama Limba
1019Jones Q KuskoGermany2024-05-28Benton, John B Jr UNQUALIFIED57Xuxue Feng
1020Isabel I FlosiUnited Kingdom2024-06-13King, Christopher A Esq QUALIFIED63Anna Fali
1021Rodrigues T MarrierCanada2024-05-20King, Christopher A Esq RENEWAL1Stephen Shaw
1022Nicolas K MaletIndia2024-05-31Chemel, James L Cpa PROPOSAL71Ivan Magalhaes
1023Arvin V BologniaFrance2024-06-11Buckley Miller Wright RENEWAL89Elwin Sharvill
1024Ricardo W RulapaughFrance2024-05-27Truhlar And Truhlar Attys RENEWAL16Asiya Javayant
1025Aruna A OldroydRussia2024-06-01Truhlar And Truhlar Attys UNQUALIFIED43Ivan Magalhaes
1026Morrow D FerenczJapan2024-06-06Feiner Bros UNQUALIFIED58Anna Fali
1027Smith G OldroydSpain2024-05-27Rangoni Of Florence NEGOTIATION58Stephen Shaw
1028James G AlbaresAustralia2024-05-22Truhlar And Truhlar Attys NEW40Asiya Javayant
1029Mayumi O NestleAustralia2024-05-25Commercial Press RENEWAL66Asiya Javayant
1030Leon A DilliardJapan2024-05-27Rangoni Of Florence QUALIFIED57Amy Elsner
1031Greenwood M BologniaCanada2024-05-28King, Christopher A Esq NEW11Amy Elsner
1032Ricardo S FollerGermany2024-06-05Printing Dimensions UNQUALIFIED59Elwin Sharvill
1033Maria C RoysterAustralia2024-05-18Feltz Printing Service UNQUALIFIED28Elwin Sharvill
1034Juan I OstroskyFrance2024-05-17Commercial Press NEW66Stephen Shaw
1035David K CaudyAustralia2024-06-09Rousseaux, Michael Esq QUALIFIED67Asiya Javayant
1036Mujtaba Z MaletArgentina2024-05-25Truhlar And Truhlar Attys PROPOSAL62Elwin Sharvill
1037Francesco A IturbideCanada2024-06-06Rangoni Of Florence UNQUALIFIED80Xuxue Feng
1038Greenwood M RimFrance2024-05-19Rousseaux, Michael Esq UNQUALIFIED38Asiya Javayant
1039Morrow G MorascaJapan2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED23Amy Elsner
1040Greenwood L OstroskyCanada2024-06-03Chapman, Ross E Esq UNQUALIFIED22Stephen Shaw
1041Antonio F MacleadGermany2024-06-07Truhlar And Truhlar Attys NEW34Bernardo Dominic
1042Leja R GillianFrance2024-06-04Feiner Bros QUALIFIED7Anna Fali
1043Alejandro J KolmetzUnited Kingdom2024-06-11Chemel, James L Cpa NEW29Anna Fali
1044Clifford M CaldareraIndia2024-05-20Rangoni Of Florence NEGOTIATION24Ioni Bowcher
1045Ricardo V CaudyCanada2024-05-22Rousseaux, Michael Esq UNQUALIFIED92Ioni Bowcher
1046Greenwood B StockhamIndia2024-05-24Feiner Bros PROPOSAL55Elwin Sharvill
1047Leja T StockhamBrazil2024-06-12Rangoni Of Florence QUALIFIED33Bernardo Dominic
1048Maria S PoquetteJapan2024-06-01Dorl, James J Esq RENEWAL38Xuxue Feng
1049Octavia R KolmetzRussia2024-05-24Rousseaux, Michael Esq NEGOTIATION47Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood P RulapaughArgentinaIvan Magalhaes QUALIFIED
Deepesh K FerenczSpainXuxue Feng QUALIFIED
Leon J AlbaresCanadaIvan Magalhaes PROPOSAL
Stacey T StockhamAustraliaAmy Elsner NEGOTIATION
Jeanfrancois T GarufiRussiaIoni Bowcher NEGOTIATION
Claire G MaletArgentinaBernardo Dominic PROPOSAL
Antonio Z SlusarskiJapanIvan Magalhaes NEGOTIATION
Nicolas Q SergiIndiaStephen Shaw NEGOTIATION
Arvin S StockhamRussiaIoni Bowcher NEW
Maria K TollnerSpainXuxue Feng NEGOTIATION
Isabel I RimFranceAsiya Javayant RENEWAL
Ashley K DarakjySpainAmy Elsner NEGOTIATION
Salvatore T SergiArgentinaAmy Elsner UNQUALIFIED
Costa A ButtUnited KingdomIvan Magalhaes QUALIFIED
Murillo Q FollerUnited KingdomBernardo Dominic NEW
Silvio E VenereFranceStephen Shaw RENEWAL
Deepesh V FerenczBrazilBernardo Dominic NEW
Johnson I PoquetteRussiaBernardo Dominic RENEWAL
Jones C OldroydJapanIoni Bowcher RENEWAL
Chavez X FerenczAustraliaIoni Bowcher RENEWAL
Greenwood U AmigonBrazilOnyama Limba NEW
Deepesh K BologniaIndiaElwin Sharvill NEGOTIATION
Leon W AlbaresFranceAsiya Javayant NEW
Salvatore U BriddickUnited KingdomElwin Sharvill NEGOTIATION
Costa E DoeSpainAmy Elsner PROPOSAL
Wickens C NickaIndiaIvan Magalhaes QUALIFIED
Misaki T DarakjyRussiaIoni Bowcher RENEWAL
Sinclair Q MarrierArgentinaBernardo Dominic NEGOTIATION
Johnson I GlickAustraliaBernardo Dominic RENEWAL
Maisha U NickaGermanyIvan Magalhaes PROPOSAL
Johnson W GauchoJapanAnna Fali UNQUALIFIED
Tony Q PerinJapanStephen Shaw UNQUALIFIED
Costa F RimJapanBernardo Dominic NEGOTIATION
Maria V WhobreyArgentinaAnna Fali UNQUALIFIED
Ivar Y BologniaUnited KingdomXuxue Feng QUALIFIED
Jefferson X ShinkoUnited KingdomAsiya Javayant NEGOTIATION
Nicolas N KuskoJapanOnyama Limba RENEWAL
Silvio I FlosiRussiaIvan Magalhaes UNQUALIFIED
Nicolas C RulapaughSpainAsiya Javayant RENEWAL
Greenwood J ShinkoSpainXuxue Feng UNQUALIFIED
Sinclair L ChuiBrazilElwin Sharvill QUALIFIED
Faith S BowleyFranceIoni Bowcher RENEWAL
Octavia X IturbideArgentinaIvan Magalhaes NEW
Aruna R MacleadIndiaBernardo Dominic NEW
Smith F DarakjyBrazilXuxue Feng PROPOSAL
Johnson M FlosiFranceAsiya Javayant UNQUALIFIED
Faith K PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Salvatore K KuskoRussiaAmy Elsner QUALIFIED
Leja J RoysterRussiaIoni Bowcher UNQUALIFIED
Misaki F MacleadBrazilIvan Magalhaes PROPOSAL
Frozen Columns
Name
Chavez O Paprocki
Faith R Gaucho
Ivar C Vocelka
Jennifer B Nestle
Stacey S Ostrosky
Francesco C Shinko
Antonio F Sergi
Wickens B Rim
Julie X Kusko
Ivar B Oldroyd
Rodrigues C Maclead
Ricardo T Wieser
Alejandro N Bolognia
Francesco D Glick
Jefferson C Poquette
Octavia T Iturbide
Deepesh R Glick
Nicolas R Ostrosky
Claire V Slusarski
Stacey N Glick
Antonio A Oldroyd
Greenwood E Wieser
Aruna J Maclead
Clifford B Briddick
Deepesh E Maclead
Cody B Stockham
Silvio Q Butt
Greenwood F Dilliard
Darci G Marrier
Deepesh S Ruta
Sinclair T Butt
Kaitlin D Whobrey
Chavez W Albares
Sinclair B Royster
Arvin S Flosi
Izzy E Kusko
Jones G Darakjy
Nicolas S Saylors
Julie T Caudy
Leja X Vocelka
Alejandro X Schemmer
Munro M Malet
David A Caudy
Sinclair A Caldarera
Antonio C Caudy
Aruna H Venere
Smith T Chui
Octavia G Nestle
Ashley H Nestle
Morrow I Chui
IdCountryDate
1000Italy2024-06-08
1001Germany2024-05-27
1002Canada2024-05-18
1003Brazil2024-05-31
1004Australia2024-05-19
1005India2024-06-11
1006Canada2024-05-22
1007India2024-05-31
1008Germany2024-05-29
1009United Kingdom2024-05-17
1010United Kingdom2024-06-03
1011Spain2024-05-19
1012Russia2024-05-23
1013Argentina2024-05-28
1014Argentina2024-05-22
1015Italy2024-06-04
1016United Kingdom2024-05-26
1017Argentina2024-06-06
1018United Kingdom2024-05-17
1019Brazil2024-05-30
1020Australia2024-06-02
1021France2024-06-12
1022Italy2024-06-12
1023Russia2024-05-20
1024Spain2024-06-12
1025Canada2024-06-05
1026Brazil2024-06-06
1027Argentina2024-06-05
1028India2024-05-20
1029Canada2024-05-18
1030India2024-06-09
1031Italy2024-05-31
1032Italy2024-05-25
1033Australia2024-06-01
1034United Kingdom2024-06-14
1035France2024-05-18
1036United Kingdom2024-06-02
1037India2024-05-31
1038France2024-05-24
1039France2024-05-22
1040India2024-05-31
1041France2024-06-09
1042Germany2024-06-11
1043Spain2024-06-09
1044France2024-05-17
1045Argentina2024-06-14
1046Russia2024-05-31
1047Germany2024-05-28
1048Italy2024-05-20
1049India2024-06-07

On-Demand Data

NameIdCountryDate
Salvatore R Malet1000Brazil2024-06-11
Jefferson M Glick1001Australia2024-06-15
Jeanfrancois K Poquette1002India2024-06-04
Emily B Paprocki1003India2024-05-21
Munro E Flosi1004Brazil2024-05-28
Costa K Stenseth1005Spain2024-05-21
Adams C Foller1006Russia2024-05-24
Cody E Paprocki1007Brazil2024-06-04
Jeanfrancois O Sergi1008Spain2024-06-10
Maria O Figeroa1009Spain2024-06-14
Claire W Shinko1010Argentina2024-05-31
Antonio M Iturbide1011France2024-05-17
Kaitlin R Flosi1012United Kingdom2024-06-15
Mujtaba R Malet1013Spain2024-05-31
Maisha N Wieser1014Australia2024-05-26
Alejandro R Briddick1015Brazil2024-06-08
Smith G Campain1016Argentina2024-05-29
Chavez C Amigon1017India2024-06-05
James S Tollner1018India2024-05-20
Aruna X Foller1019Italy2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley N AmigonItalyOnyama Limba QUALIFIED
Cody A IturbideFranceBernardo Dominic RENEWAL
Ricardo D InouyeGermanyAmy Elsner RENEWAL
Francesco P RulapaughFranceElwin Sharvill PROPOSAL
Octavia J PerinGermanyIoni Bowcher QUALIFIED
Leon V WaycottJapanAnna Fali NEW
Kaitlin J SergiGermanyAnna Fali PROPOSAL
Mujtaba S MaletCanadaAnna Fali PROPOSAL
Darci I RimIndiaAsiya Javayant NEW
James Y StensethFranceAnna Fali QUALIFIED
Kaitlin F VocelkaIndiaAnna Fali QUALIFIED
Arvin J PaprockiFranceIvan Magalhaes RENEWAL
Ivar Y FigeroaFranceAsiya Javayant UNQUALIFIED
Maisha M RimAustraliaIoni Bowcher NEGOTIATION
Misaki D FigeroaRussiaBernardo Dominic NEW
Francesco N MaletGermanyAnna Fali PROPOSAL
Smith O BologniaCanadaIoni Bowcher RENEWAL
Murillo W GillianJapanAnna Fali PROPOSAL
James W GillianIndiaAnna Fali NEGOTIATION
Morrow E BologniaRussiaXuxue Feng PROPOSAL
Emily T GauchoItalyXuxue Feng RENEWAL
James K IturbideArgentinaXuxue Feng PROPOSAL
Mujtaba E GillianIndiaIoni Bowcher NEW
Isabel A GlickGermanyAnna Fali UNQUALIFIED
Julie Q ChuiBrazilIoni Bowcher NEGOTIATION
Faith C SlusarskiJapanBernardo Dominic RENEWAL
Aruna I GauchoArgentinaBernardo Dominic UNQUALIFIED
Kadeem Z MacleadIndiaAmy Elsner RENEWAL
Ashley B VocelkaGermanyElwin Sharvill NEGOTIATION
Stacey N PerinItalyIoni Bowcher PROPOSAL
Jones H VenereRussiaAmy Elsner NEGOTIATION
Murillo I DarakjyAustraliaElwin Sharvill NEGOTIATION
Aruna W OstroskyJapanStephen Shaw RENEWAL
Rodrigues B DoeItalyIvan Magalhaes NEW
James W MaletItalyElwin Sharvill PROPOSAL
James V MarrierIndiaIvan Magalhaes NEW
Costa H BowleyIndiaBernardo Dominic RENEWAL
Wickens K WhobreyItalyAnna Fali UNQUALIFIED
Mujtaba W DoeBrazilAnna Fali RENEWAL
Cody T SergiJapanBernardo Dominic 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>