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
Kadeem C PaprockiUnited KingdomOnyama Limba PROPOSAL
Mayumi P ChuiJapanElwin Sharvill RENEWAL
Juan N WhobreyArgentinaAnna Fali RENEWAL
Arvin Q AlbaresAustraliaStephen Shaw UNQUALIFIED
Izzy L RimAustraliaAsiya Javayant QUALIFIED
Johnson O BowleyRussiaAmy Elsner NEGOTIATION
Darci M ChuiJapanOnyama Limba QUALIFIED
Tony S OldroydUnited KingdomXuxue Feng PROPOSAL
Chavez R MaletCanadaAmy Elsner UNQUALIFIED
Kaitlin A RimGermanyAmy Elsner UNQUALIFIED
Arvin Z OstroskyArgentinaElwin Sharvill NEGOTIATION
Darci W DarakjyRussiaAnna Fali NEGOTIATION
Salvatore I WaycottArgentinaAnna Fali NEGOTIATION
Claire F WaycottGermanyBernardo Dominic NEW
Sinclair V DarakjyCanadaOnyama Limba RENEWAL
Stacey J GlickRussiaBernardo Dominic QUALIFIED
Francesco O OstroskyItalyAsiya Javayant PROPOSAL
Morrow J CampainUnited KingdomOnyama Limba QUALIFIED
Nicolas G SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Munro P RutaBrazilElwin Sharvill UNQUALIFIED
Murillo F DilliardBrazilIoni Bowcher PROPOSAL
Johnson S MaletRussiaAsiya Javayant PROPOSAL
Rodrigues B MaletRussiaElwin Sharvill PROPOSAL
Mujtaba R NestleAustraliaElwin Sharvill QUALIFIED
Ricardo F NickaRussiaBernardo Dominic UNQUALIFIED
Faith E KolmetzJapanAnna Fali NEGOTIATION
Leja P MaletCanadaStephen Shaw QUALIFIED
Aditya J MacleadAustraliaAnna Fali NEW
Chavez E DarakjyItalyXuxue Feng RENEWAL
Claire V SergiArgentinaAsiya Javayant RENEWAL
Faith C AlbaresRussiaAsiya Javayant NEGOTIATION
Alejandro H FigeroaFranceXuxue Feng UNQUALIFIED
David D RimItalyIvan Magalhaes NEGOTIATION
Maria N BowleyFranceAsiya Javayant RENEWAL
James U RimSpainStephen Shaw NEGOTIATION
Arvin G DarakjyIndiaIoni Bowcher NEW
Julie Q MorascaAustraliaAnna Fali UNQUALIFIED
Clifford H RimJapanAnna Fali RENEWAL
Aika J SaylorsRussiaBernardo Dominic RENEWAL
Ivar I RoysterIndiaIvan Magalhaes NEGOTIATION
Maisha C VocelkaIndiaElwin Sharvill RENEWAL
Alejandro B PaprockiCanadaXuxue Feng QUALIFIED
Costa S NickaSpainIvan Magalhaes UNQUALIFIED
Mujtaba T RoysterGermanyIoni Bowcher RENEWAL
Aika W VenereFranceBernardo Dominic PROPOSAL
Mayumi S IturbideBrazilOnyama Limba NEGOTIATION
Mayumi O CaldareraGermanyXuxue Feng UNQUALIFIED
Cody D VenereIndiaElwin Sharvill NEGOTIATION
Leja O SaylorsGermanyAnna Fali UNQUALIFIED
Chavez V ChuiIndiaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh U CaldareraSpainOnyama Limba QUALIFIED
Julie Y WieserJapanStephen Shaw NEW
Morrow H TollnerJapanAmy Elsner UNQUALIFIED
Ashley P NestleGermanyBernardo Dominic QUALIFIED
Ashley W CaudyRussiaAmy Elsner RENEWAL
Salvatore B FollerItalyAsiya Javayant QUALIFIED
Murillo T PoquetteArgentinaOnyama Limba NEGOTIATION
Ashley T MarrierRussiaBernardo Dominic QUALIFIED
Johnson Z OldroydCanadaElwin Sharvill QUALIFIED
Claire L GauchoJapanBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin L PerinIndia2024-06-15King, Christopher A Esq NEW71Ioni Bowcher
1001Leon I StockhamAustralia2024-06-11King, Christopher A Esq UNQUALIFIED80Ivan Magalhaes
1002Isabel P ShinkoIndia2024-05-31Morlong Associates NEW42Anna Fali
1003Tony X MarrierAustralia2024-06-04Morlong Associates RENEWAL25Asiya Javayant
1004Aditya V GarufiFrance2024-06-08Dorl, James J Esq RENEWAL56Amy Elsner
1005Rodrigues L ShinkoItaly2024-06-07Chapman, Ross E Esq PROPOSAL12Anna Fali
1006Smith W StockhamUnited Kingdom2024-05-31Chemel, James L Cpa UNQUALIFIED8Ioni Bowcher
1007Nicolas S RoysterItaly2024-05-30Benton, John B Jr PROPOSAL23Onyama Limba
1008Alejandro T SchemmerBrazil2024-06-10Dorl, James J Esq QUALIFIED28Onyama Limba
1009Ivar L BowleyItaly2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED18Ioni Bowcher
1010Leja B PaprockiUnited Kingdom2024-05-31Morlong Associates QUALIFIED32Elwin Sharvill
1011Ashley I FerenczIndia2024-05-29Commercial Press UNQUALIFIED89Ioni Bowcher
1012Deepesh X KolmetzBrazil2024-06-19Morlong Associates PROPOSAL27Onyama Limba
1013Adams Y ChuiItaly2024-06-20Truhlar And Truhlar Attys QUALIFIED74Onyama Limba
1014Maisha C CampainSpain2024-06-16Rangoni Of Florence NEGOTIATION67Ivan Magalhaes
1015Ricardo J BowleyAustralia2024-06-11Chapman, Ross E Esq QUALIFIED28Elwin Sharvill
1016Leja Y MaletRussia2024-06-12Feltz Printing Service UNQUALIFIED68Elwin Sharvill
1017Munro L GarufiSpain2024-05-27Printing Dimensions NEW11Amy Elsner
1018Emily O PaprockiBrazil2024-06-05Benton, John B Jr PROPOSAL72Amy Elsner
1019David A MorascaAustralia2024-05-25Chanay, Jeffrey A Esq NEW53Ioni Bowcher
1020Julie Y ButtSpain2024-06-02Chemel, James L Cpa UNQUALIFIED59Stephen Shaw
1021Jeanfrancois L GillianGermany2024-06-19Feiner Bros QUALIFIED48Asiya Javayant
1022Wickens S CaldareraRussia2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED70Anna Fali
1023Adams Q VenereBrazil2024-06-08King, Christopher A Esq QUALIFIED78Elwin Sharvill
1024Ashley M GarufiArgentina2024-05-25Chapman, Ross E Esq NEGOTIATION34Onyama Limba
1025Alejandro S OldroydJapan2024-06-18Feltz Printing Service UNQUALIFIED29Bernardo Dominic
1026Maisha G StensethItaly2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED91Amy Elsner
1027Mayumi B SergiRussia2024-06-01Buckley Miller Wright NEW37Stephen Shaw
1028Tony U CampainSpain2024-06-13King, Christopher A Esq QUALIFIED76Bernardo Dominic
1029Tony J StensethIndia2024-05-30Rousseaux, Michael Esq NEW14Anna Fali
1030Silvio M FerenczBrazil2024-06-12Commercial Press RENEWAL51Bernardo Dominic
1031Clifford J CaudyJapan2024-05-31Morlong Associates NEGOTIATION74Onyama Limba
1032Aika T PoquetteRussia2024-06-04Feiner Bros PROPOSAL73Elwin Sharvill
1033Antonio I StensethFrance2024-06-18Buckley Miller Wright NEGOTIATION94Ioni Bowcher
1034Jeanfrancois Z RimSpain2024-06-08Chanay, Jeffrey A Esq QUALIFIED19Onyama Limba
1035Jones D RulapaughUnited Kingdom2024-06-18Commercial Press NEW32Amy Elsner
1036Maria M CaldareraGermany2024-06-02Commercial Press QUALIFIED30Xuxue Feng
1037Ivar X PaprockiGermany2024-06-21Rousseaux, Michael Esq NEW6Anna Fali
1038Sinclair D MaletJapan2024-06-09Commercial Press PROPOSAL50Onyama Limba
1039Arvin D SergiCanada2024-06-12Commercial Press NEW66Bernardo Dominic
1040Clifford I MaletGermany2024-06-14King, Christopher A Esq NEW32Xuxue Feng
1041Misaki I RoysterUnited Kingdom2024-06-18Chapman, Ross E Esq RENEWAL91Onyama Limba
1042Emily I CampainUnited Kingdom2024-06-20King, Christopher A Esq UNQUALIFIED2Anna Fali
1043Misaki S GlickCanada2024-06-06Morlong Associates RENEWAL48Ivan Magalhaes
1044Sinclair S CaudyItaly2024-06-03Printing Dimensions NEW20Ivan Magalhaes
1045Salvatore O CaudyUnited Kingdom2024-05-29Morlong Associates QUALIFIED52Onyama Limba
1046Darci U WieserArgentina2024-06-09Morlong Associates UNQUALIFIED82Bernardo Dominic
1047David U GarufiFrance2024-05-23Chapman, Ross E Esq RENEWAL37Elwin Sharvill
1048Morrow B MacleadRussia2024-05-28Chanay, Jeffrey A Esq QUALIFIED5Stephen Shaw
1049Maisha Z PaprockiFrance2024-06-07Feiner Bros NEGOTIATION92Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Tony W SergiUnited KingdomXuxue Feng PROPOSAL
Aika U ChuiBrazilAmy Elsner QUALIFIED
Maisha B AlbaresCanadaAmy Elsner RENEWAL
Rodrigues W InouyeGermanyOnyama Limba UNQUALIFIED
Francesco J OstroskyArgentinaIvan Magalhaes QUALIFIED
Stacey Z DarakjySpainAsiya Javayant PROPOSAL
Adams X WieserItalyIoni Bowcher NEGOTIATION
Jefferson E PerinIndiaAsiya Javayant QUALIFIED
Murillo A BowleyRussiaStephen Shaw RENEWAL
Rodrigues D RutaSpainIoni Bowcher QUALIFIED
Leja R SlusarskiIndiaOnyama Limba NEW
Mujtaba L MarrierArgentinaStephen Shaw NEW
Julie W AlbaresCanadaElwin Sharvill QUALIFIED
Rodrigues F StockhamCanadaStephen Shaw UNQUALIFIED
Faith F WieserUnited KingdomBernardo Dominic RENEWAL
Ricardo L TollnerItalyAmy Elsner NEW
Misaki R DoeBrazilAsiya Javayant RENEWAL
Aruna S DilliardGermanyXuxue Feng NEW
Maria H VenereUnited KingdomBernardo Dominic PROPOSAL
Ricardo Q BologniaFranceElwin Sharvill PROPOSAL
Costa N ChuiFranceAnna Fali UNQUALIFIED
Ricardo X InouyeGermanyIoni Bowcher NEGOTIATION
Aditya D MarrierGermanyStephen Shaw PROPOSAL
Salvatore X SergiJapanAnna Fali UNQUALIFIED
Clifford O StockhamItalyXuxue Feng QUALIFIED
Maria D DilliardIndiaAnna Fali QUALIFIED
Wickens X PerinCanadaAnna Fali NEGOTIATION
Alejandro M MaletItalyXuxue Feng PROPOSAL
Murillo Y StockhamJapanXuxue Feng UNQUALIFIED
Silvio E OstroskyGermanyXuxue Feng NEW
Misaki U GauchoArgentinaAmy Elsner RENEWAL
Tony V BologniaRussiaBernardo Dominic NEGOTIATION
Ivar G KuskoIndiaAnna Fali PROPOSAL
Francesco S SaylorsUnited KingdomAsiya Javayant RENEWAL
Ivar E MorascaJapanAsiya Javayant RENEWAL
Julie M CaudyBrazilElwin Sharvill NEGOTIATION
Sinclair M GarufiCanadaIvan Magalhaes NEW
Aditya H WieserBrazilStephen Shaw PROPOSAL
Octavia M NestleRussiaBernardo Dominic PROPOSAL
Leja V KolmetzAustraliaIvan Magalhaes RENEWAL
Smith W PoquetteAustraliaAmy Elsner UNQUALIFIED
Johnson W TollnerAustraliaAnna Fali NEGOTIATION
Sinclair B SlusarskiFranceAsiya Javayant NEGOTIATION
Adams V NestleGermanyAsiya Javayant UNQUALIFIED
Ashley V IturbideGermanyIvan Magalhaes NEW
Murillo Q InouyeSpainAsiya Javayant UNQUALIFIED
Clifford R KolmetzAustraliaXuxue Feng NEW
Jeanfrancois I ShinkoBrazilOnyama Limba PROPOSAL
Sinclair X WieserCanadaXuxue Feng NEGOTIATION
Clifford T CaldareraCanadaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Chavez R Poquette
Antonio P Rulapaugh
David I Nestle
Emily T Foller
Aditya C Ostrosky
Faith F Caldarera
Munro G Vocelka
Rodrigues W Figeroa
Isabel L Ferencz
Maisha N Wieser
Antonio U Sergi
Kadeem E Sergi
Morrow I Ruta
Costa S Kolmetz
Juan A Rim
Alejandro U Slusarski
Mujtaba Q Bolognia
Ricardo B Nicka
Sinclair X Ostrosky
Jefferson U Ferencz
Octavia C Royster
Izzy J Oldroyd
Salvatore D Albares
Ivar A Waycott
Isabel O Paprocki
Maria O Whobrey
Jennifer G Kolmetz
Jefferson C Caudy
Leja X Poquette
Kadeem G Royster
Jones Q Tollner
Maisha Z Rulapaugh
Maisha O Gillian
Salvatore Q Rim
Leja E Foller
Rodrigues L Maclead
Ricardo X Caldarera
Jennifer U Doe
Alejandro J Flosi
Chavez I Marrier
Isabel I Rim
Jeanfrancois D Malet
Leja J Butt
Jones W Flosi
Costa Z Glick
Jennifer X Oldroyd
Ivar X Maclead
Munro M Figeroa
Ricardo U Poquette
Jones T Dilliard
IdCountryDate
1000United Kingdom2024-06-04
1001India2024-06-17
1002United Kingdom2024-06-14
1003Brazil2024-06-04
1004Japan2024-06-10
1005Brazil2024-05-24
1006India2024-06-02
1007Italy2024-06-18
1008France2024-06-19
1009Germany2024-05-28
1010Australia2024-05-28
1011Canada2024-06-21
1012Brazil2024-05-28
1013Russia2024-05-31
1014France2024-06-10
1015India2024-05-25
1016Germany2024-06-01
1017Australia2024-06-17
1018Italy2024-06-13
1019Italy2024-06-04
1020Italy2024-05-24
1021Spain2024-05-31
1022Germany2024-05-25
1023Brazil2024-06-15
1024India2024-06-06
1025Germany2024-06-05
1026Germany2024-06-06
1027Germany2024-06-13
1028Japan2024-06-09
1029Argentina2024-06-20
1030Australia2024-06-19
1031Russia2024-06-02
1032Russia2024-05-27
1033France2024-06-05
1034Australia2024-05-28
1035United Kingdom2024-05-24
1036Japan2024-06-08
1037Brazil2024-05-25
1038Argentina2024-06-13
1039Spain2024-05-29
1040Argentina2024-06-13
1041Australia2024-06-08
1042India2024-06-11
1043France2024-06-07
1044Russia2024-06-03
1045Japan2024-05-27
1046Australia2024-05-25
1047Brazil2024-06-15
1048Argentina2024-06-12
1049Italy2024-05-25

On-Demand Data

NameIdCountryDate
Faith Q Saylors1000India2024-06-21
Octavia O Morasca1001Italy2024-06-21
Darci D Sergi1002Germany2024-05-24
Jeanfrancois Z Butt1003France2024-06-04
David Y Wieser1004France2024-06-07
Mujtaba N Oldroyd1005Spain2024-06-03
Salvatore T Briddick1006Spain2024-06-19
Izzy F Dilliard1007Russia2024-06-19
Faith T Paprocki1008Germany2024-05-25
Sinclair R Darakjy1009Japan2024-06-02
James L Nestle1010Russia2024-06-16
Silvio N Amigon1011Spain2024-06-07
Aditya M Schemmer1012Argentina2024-05-25
Salvatore R Glick1013Argentina2024-05-23
Isabel A Dilliard1014United Kingdom2024-06-18
Silvio I Ostrosky1015Germany2024-05-26
Jones A Inouye1016Canada2024-05-23
Ricardo V Malet1017France2024-06-10
Munro A Chui1018Australia2024-05-26
Silvio S Vocelka1019Japan2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin P ButtArgentinaBernardo Dominic NEW
Izzy E RimItalyStephen Shaw RENEWAL
Silvio M StockhamBrazilIoni Bowcher RENEWAL
David B FollerAustraliaXuxue Feng NEW
Faith B MarrierUnited KingdomIvan Magalhaes NEW
Rodrigues H RimUnited KingdomStephen Shaw PROPOSAL
Maisha X InouyeAustraliaAnna Fali PROPOSAL
Deepesh Y WaycottArgentinaXuxue Feng PROPOSAL
Deepesh B SlusarskiAustraliaXuxue Feng QUALIFIED
Ivar S KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Aika H FerenczFranceIoni Bowcher PROPOSAL
Izzy L MaletJapanBernardo Dominic QUALIFIED
Octavia W ChuiItalyXuxue Feng PROPOSAL
Stacey G RutaFranceStephen Shaw PROPOSAL
Ricardo K VocelkaSpainIoni Bowcher RENEWAL
Claire C BowleyJapanStephen Shaw RENEWAL
Rodrigues G StensethRussiaXuxue Feng PROPOSAL
Faith N GarufiItalyAnna Fali QUALIFIED
Wickens I SaylorsBrazilAsiya Javayant NEGOTIATION
Morrow K RoysterAustraliaOnyama Limba RENEWAL
Kadeem C CampainAustraliaIoni Bowcher RENEWAL
Ivar J SchemmerJapanBernardo Dominic UNQUALIFIED
Mujtaba X StockhamUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh A DoeIndiaAsiya Javayant QUALIFIED
Jeanfrancois K FollerGermanyXuxue Feng RENEWAL
Maria R BologniaJapanAnna Fali NEW
Francesco D VenereJapanAmy Elsner RENEWAL
David I TollnerJapanStephen Shaw NEGOTIATION
Emily K WhobreyGermanyIvan Magalhaes NEGOTIATION
Ricardo A StockhamItalyBernardo Dominic PROPOSAL
Chavez A MarrierIndiaAnna Fali QUALIFIED
Kaitlin T KolmetzUnited KingdomAmy Elsner RENEWAL
Aditya J MaletAustraliaElwin Sharvill QUALIFIED
Jefferson V OstroskyCanadaStephen Shaw UNQUALIFIED
Rodrigues D RimIndiaElwin Sharvill QUALIFIED
Maisha Q FerenczJapanBernardo Dominic NEW
David R VocelkaIndiaElwin Sharvill NEW
Kaitlin G ShinkoIndiaAnna Fali NEW
Ivar K FollerArgentinaAsiya Javayant RENEWAL
Mayumi N RimIndiaBernardo 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>