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
Cody V AlbaresSpainXuxue Feng UNQUALIFIED
Aruna S WaycottRussiaAnna Fali QUALIFIED
David V OldroydItalyAnna Fali NEGOTIATION
Emily E ButtJapanIvan Magalhaes RENEWAL
Jones P CaldareraGermanyAmy Elsner PROPOSAL
Jeanfrancois A FollerRussiaAsiya Javayant NEGOTIATION
Julie K PerinAustraliaAmy Elsner RENEWAL
Munro H BologniaIndiaOnyama Limba RENEWAL
Tony R SaylorsJapanOnyama Limba NEGOTIATION
Chavez W SergiIndiaStephen Shaw RENEWAL
Johnson K BologniaGermanyXuxue Feng UNQUALIFIED
Alejandro K MaletCanadaIvan Magalhaes PROPOSAL
David T VenereRussiaBernardo Dominic NEW
Leon L SaylorsFranceXuxue Feng NEGOTIATION
Munro N CaudyFranceAmy Elsner RENEWAL
Leja S NickaArgentinaStephen Shaw UNQUALIFIED
Ivar U ButtItalyAsiya Javayant RENEWAL
Aruna Z CaldareraItalyXuxue Feng NEGOTIATION
Maria H VocelkaArgentinaAmy Elsner NEW
Kaitlin O GarufiAustraliaElwin Sharvill NEW
Clifford N TollnerSpainBernardo Dominic PROPOSAL
Isabel S RimIndiaBernardo Dominic PROPOSAL
Julie P MarrierJapanBernardo Dominic UNQUALIFIED
Maria X GillianArgentinaElwin Sharvill RENEWAL
Silvio F StockhamUnited KingdomXuxue Feng NEGOTIATION
Adams L MacleadSpainElwin Sharvill NEW
Arvin N RutaCanadaIvan Magalhaes PROPOSAL
Chavez R MarrierJapanAnna Fali NEW
Mujtaba C RulapaughItalyElwin Sharvill NEGOTIATION
Leja H MaletGermanyElwin Sharvill NEW
Isabel F GillianCanadaIvan Magalhaes NEGOTIATION
Aditya C FigeroaUnited KingdomXuxue Feng RENEWAL
Alejandro F TollnerItalyAsiya Javayant PROPOSAL
Leon Z MarrierAustraliaAmy Elsner PROPOSAL
Leon U ChuiItalyAmy Elsner UNQUALIFIED
Mayumi J PerinJapanBernardo Dominic QUALIFIED
Stacey C RimGermanyIvan Magalhaes QUALIFIED
Stacey F ChuiIndiaXuxue Feng QUALIFIED
Isabel V RimRussiaAmy Elsner NEGOTIATION
Smith A ChuiGermanyBernardo Dominic PROPOSAL
Faith B InouyeArgentinaIoni Bowcher NEW
Adams H OldroydArgentinaAnna Fali PROPOSAL
Greenwood B RoysterFranceIvan Magalhaes RENEWAL
Rodrigues P MacleadRussiaAnna Fali NEGOTIATION
Kadeem I PerinGermanyOnyama Limba UNQUALIFIED
Mujtaba L ChuiFranceXuxue Feng NEW
Darci Q StockhamAustraliaBernardo Dominic NEW
Costa B WaycottBrazilStephen Shaw NEGOTIATION
Silvio Z InouyeIndiaIoni Bowcher RENEWAL
Ashley O MorascaGermanyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio K MarrierUnited KingdomXuxue Feng QUALIFIED
Francesco U MaletJapanBernardo Dominic NEGOTIATION
Jefferson Z PaprockiBrazilAmy Elsner UNQUALIFIED
Arvin P WaycottBrazilAsiya Javayant NEW
Isabel B RulapaughJapanAsiya Javayant NEGOTIATION
Julie G FollerArgentinaElwin Sharvill UNQUALIFIED
Aditya S PerinSpainIoni Bowcher PROPOSAL
James X DilliardGermanyStephen Shaw RENEWAL
Ivar X MaletGermanyStephen Shaw NEGOTIATION
Leja X TollnerIndiaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio R RutaArgentina2025-05-25Rousseaux, Michael Esq RENEWAL55Ioni Bowcher
1001Leja Y GlickJapan2025-06-11Chapman, Ross E Esq RENEWAL79Stephen Shaw
1002Jefferson R FerenczCanada2025-05-24King, Christopher A Esq PROPOSAL15Ivan Magalhaes
1003Jeanfrancois P MaletFrance2025-05-25Benton, John B Jr UNQUALIFIED77Asiya Javayant
1004Ricardo C KuskoUnited Kingdom2025-06-08Truhlar And Truhlar Attys UNQUALIFIED71Asiya Javayant
1005Jones K NickaGermany2025-05-23Morlong Associates PROPOSAL11Asiya Javayant
1006Alejandro B SchemmerUnited Kingdom2025-06-06Buckley Miller Wright NEW44Elwin Sharvill
1007Tony D DilliardCanada2025-06-03Rousseaux, Michael Esq NEW1Bernardo Dominic
1008Mujtaba A WieserBrazil2025-05-24Dorl, James J Esq QUALIFIED11Ivan Magalhaes
1009Stacey E GarufiSpain2025-06-14Chanay, Jeffrey A Esq NEW92Bernardo Dominic
1010Kaitlin X BriddickUnited Kingdom2025-05-27King, Christopher A Esq QUALIFIED19Bernardo Dominic
1011Faith V FerenczFrance2025-05-21Printing Dimensions NEGOTIATION93Amy Elsner
1012Tony O IturbideJapan2025-05-18Morlong Associates UNQUALIFIED87Xuxue Feng
1013Jones X StockhamJapan2025-06-10Benton, John B Jr QUALIFIED0Ioni Bowcher
1014James W KolmetzAustralia2025-06-16Chanay, Jeffrey A Esq PROPOSAL96Amy Elsner
1015Leon S NestleRussia2025-05-21Feiner Bros NEW81Stephen Shaw
1016David H WhobreyArgentina2025-05-31King, Christopher A Esq PROPOSAL1Ioni Bowcher
1017Clifford N CaudyRussia2025-06-07Rousseaux, Michael Esq RENEWAL9Bernardo Dominic
1018Antonio F ChuiAustralia2025-05-28Dorl, James J Esq NEW87Elwin Sharvill
1019Salvatore L MaletItaly2025-06-10Rousseaux, Michael Esq RENEWAL23Bernardo Dominic
1020Clifford D FigeroaBrazil2025-06-08Buckley Miller Wright QUALIFIED53Onyama Limba
1021Aditya M RoysterAustralia2025-06-07Rousseaux, Michael Esq PROPOSAL45Elwin Sharvill
1022Misaki L ChuiItaly2025-05-25Buckley Miller Wright QUALIFIED68Stephen Shaw
1023Kadeem G DarakjyFrance2025-06-09Commercial Press UNQUALIFIED47Ivan Magalhaes
1024Chavez K VenereArgentina2025-05-19Feltz Printing Service UNQUALIFIED23Anna Fali
1025Wickens F FerenczRussia2025-06-10Morlong Associates PROPOSAL92Asiya Javayant
1026Maisha Y MaletFrance2025-05-31King, Christopher A Esq QUALIFIED44Anna Fali
1027Nicolas M WhobreyBrazil2025-06-12Feltz Printing Service NEW18Stephen Shaw
1028Tony D CaudyGermany2025-06-01Chemel, James L Cpa NEGOTIATION53Elwin Sharvill
1029Jones G OstroskySpain2025-06-06Dorl, James J Esq QUALIFIED78Onyama Limba
1030Faith U RulapaughAustralia2025-05-30Buckley Miller Wright RENEWAL72Asiya Javayant
1031Darci J GillianGermany2025-05-30Feltz Printing Service NEW41Ioni Bowcher
1032Deepesh O VenereIndia2025-05-19Commercial Press UNQUALIFIED26Ivan Magalhaes
1033Octavia K SaylorsRussia2025-05-18Rousseaux, Michael Esq UNQUALIFIED55Xuxue Feng
1034Julie C BowleyBrazil2025-06-04Chanay, Jeffrey A Esq RENEWAL36Anna Fali
1035Leon F StensethItaly2025-06-13Chapman, Ross E Esq PROPOSAL17Stephen Shaw
1036Smith B WhobreyCanada2025-05-31King, Christopher A Esq NEW80Elwin Sharvill
1037Johnson F InouyeGermany2025-05-19Commercial Press NEGOTIATION36Xuxue Feng
1038Munro J SlusarskiRussia2025-06-05King, Christopher A Esq QUALIFIED28Xuxue Feng
1039Claire N WieserFrance2025-06-07Rangoni Of Florence PROPOSAL53Asiya Javayant
1040Deepesh O CaudyRussia2025-05-19Dorl, James J Esq QUALIFIED38Ioni Bowcher
1041Stacey U DilliardFrance2025-06-11Rangoni Of Florence NEW89Elwin Sharvill
1042Mujtaba Z RoysterBrazil2025-06-02Truhlar And Truhlar Attys PROPOSAL91Bernardo Dominic
1043Kaitlin S NickaUnited Kingdom2025-06-01Printing Dimensions PROPOSAL13Elwin Sharvill
1044Silvio I BologniaBrazil2025-05-26King, Christopher A Esq NEGOTIATION21Stephen Shaw
1045Stacey G RimIndia2025-06-05Commercial Press QUALIFIED89Stephen Shaw
1046Salvatore Q KolmetzArgentina2025-06-13Truhlar And Truhlar Attys RENEWAL74Ivan Magalhaes
1047Smith Q FerenczFrance2025-06-05Rousseaux, Michael Esq PROPOSAL33Onyama Limba
1048Jeanfrancois E BologniaGermany2025-06-10Buckley Miller Wright QUALIFIED57Stephen Shaw
1049Octavia W CaudyJapan2025-05-18Morlong Associates NEGOTIATION80Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley S CaudyArgentinaAmy Elsner NEW
Faith W MaletItalyIoni Bowcher NEGOTIATION
Clifford U RulapaughIndiaAmy Elsner RENEWAL
Leon O ChuiItalyElwin Sharvill RENEWAL
Maria Y MacleadArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois K MarrierBrazilAnna Fali QUALIFIED
Costa T GarufiSpainIoni Bowcher RENEWAL
Stacey P OstroskyItalyElwin Sharvill PROPOSAL
Aditya D NestleBrazilAmy Elsner PROPOSAL
Johnson D PerinGermanyAnna Fali NEW
Greenwood H PerinFranceOnyama Limba NEGOTIATION
Antonio V PoquetteArgentinaXuxue Feng NEGOTIATION
Kaitlin G AlbaresRussiaOnyama Limba NEW
Sinclair B OldroydRussiaAmy Elsner NEW
Tony D RimArgentinaStephen Shaw NEW
Aika W MacleadIndiaOnyama Limba NEW
Greenwood N RoysterArgentinaXuxue Feng NEGOTIATION
Leon E FollerGermanyStephen Shaw PROPOSAL
Leon Y WhobreyUnited KingdomStephen Shaw NEW
Chavez D AmigonItalyAmy Elsner NEW
Faith R ButtJapanXuxue Feng NEW
Ivar H AmigonFranceStephen Shaw RENEWAL
Kaitlin Y SlusarskiBrazilOnyama Limba PROPOSAL
Clifford D NickaBrazilBernardo Dominic PROPOSAL
Emily A ShinkoItalyAsiya Javayant PROPOSAL
Ashley L GillianUnited KingdomElwin Sharvill QUALIFIED
Ivar N RoysterRussiaIvan Magalhaes RENEWAL
Francesco U CampainCanadaAmy Elsner RENEWAL
Smith U MarrierFranceBernardo Dominic PROPOSAL
Francesco C DarakjyFranceAnna Fali QUALIFIED
Rodrigues U KolmetzJapanElwin Sharvill RENEWAL
Kaitlin T MaletRussiaIoni Bowcher RENEWAL
Jefferson R IturbideIndiaAsiya Javayant NEGOTIATION
Johnson T FollerGermanyBernardo Dominic RENEWAL
Juan K MacleadItalyOnyama Limba RENEWAL
Kaitlin T GillianJapanAnna Fali RENEWAL
Clifford E SergiUnited KingdomAnna Fali NEGOTIATION
Izzy R RulapaughSpainAmy Elsner NEGOTIATION
Wickens C CaldareraBrazilAmy Elsner QUALIFIED
Ricardo P DoeGermanyAsiya Javayant PROPOSAL
Chavez T MarrierBrazilXuxue Feng PROPOSAL
Costa Q ChuiJapanElwin Sharvill UNQUALIFIED
Alejandro R GarufiGermanyIvan Magalhaes NEGOTIATION
Jones H GauchoJapanXuxue Feng PROPOSAL
Johnson B ButtItalyBernardo Dominic UNQUALIFIED
Silvio H MacleadBrazilAsiya Javayant UNQUALIFIED
Maisha S MacleadGermanyXuxue Feng PROPOSAL
Kadeem A GillianFranceAmy Elsner PROPOSAL
Jones A DarakjyIndiaOnyama Limba QUALIFIED
Costa O RimJapanAmy Elsner PROPOSAL
Frozen Columns
Name
David H Dilliard
Murillo V Nicka
Kadeem O Poquette
Misaki E Bolognia
Mayumi Z Tollner
Izzy R Perin
Octavia X Kolmetz
Jones Y Poquette
Silvio U Kolmetz
Tony W Shinko
Claire D Briddick
Julie T Maclead
Maisha X Saylors
David F Maclead
Aditya M Butt
Costa L Paprocki
Costa S Rim
Kaitlin X Maclead
Murillo A Slusarski
Julie F Bolognia
Maisha T Rim
Chavez I Flosi
Ashley S Poquette
Wickens U Stockham
Mayumi E Bolognia
Kadeem A Wieser
Francesco X Saylors
Leja S Butt
Ivar F Vocelka
Leja G Whobrey
Johnson X Malet
David E Saylors
Jones D Ostrosky
Juan A Maclead
Jennifer Y Ruta
Octavia J Malet
Nicolas E Glick
Antonio C Chui
Kaitlin H Bolognia
Nicolas V Wieser
Leja R Perin
Octavia Q Marrier
Clifford K Whobrey
Jennifer C Campain
Nicolas S Nicka
Smith I Marrier
Adams K Ruta
Smith N Stenseth
Smith I Ruta
Octavia Q Paprocki
IdCountryDate
1000Australia2025-06-16
1001Australia2025-06-14
1002Argentina2025-05-26
1003Italy2025-06-16
1004Australia2025-05-21
1005Argentina2025-05-30
1006Argentina2025-06-09
1007Germany2025-05-29
1008Argentina2025-06-09
1009United Kingdom2025-06-10
1010United Kingdom2025-06-07
1011Australia2025-05-23
1012Argentina2025-05-18
1013India2025-05-24
1014Canada2025-05-29
1015Australia2025-06-12
1016Canada2025-05-24
1017France2025-06-14
1018United Kingdom2025-05-29
1019Italy2025-06-01
1020Germany2025-06-13
1021Japan2025-06-01
1022Russia2025-05-18
1023Italy2025-05-20
1024Spain2025-05-26
1025Spain2025-06-06
1026Canada2025-05-25
1027Brazil2025-06-01
1028Argentina2025-05-22
1029Argentina2025-06-08
1030Canada2025-06-12
1031Australia2025-06-08
1032Germany2025-06-12
1033Japan2025-05-31
1034Japan2025-05-24
1035Australia2025-05-20
1036Italy2025-06-05
1037Argentina2025-05-28
1038Argentina2025-06-15
1039India2025-06-08
1040Russia2025-06-12
1041Canada2025-06-15
1042Australia2025-06-10
1043India2025-05-23
1044Argentina2025-05-26
1045Canada2025-06-10
1046Italy2025-06-06
1047Canada2025-05-25
1048United Kingdom2025-05-30
1049Brazil2025-06-13

On-Demand Data

NameIdCountryDate
Ricardo A Oldroyd1000France2025-06-07
Murillo J Tollner1001Japan2025-05-24
Murillo U Gaucho1002Russia2025-06-01
Cody R Kusko1003Brazil2025-06-10
Juan E Foller1004India2025-05-29
Sinclair K Venere1005Argentina2025-05-25
James B Sergi1006Russia2025-05-30
Darci M Stenseth1007Italy2025-06-10
Kadeem A Nestle1008France2025-05-21
Mujtaba L Waycott1009India2025-05-18
Izzy Y Doe1010Russia2025-06-12
Jones Z Stenseth1011Japan2025-05-22
Greenwood H Figeroa1012Australia2025-05-27
Nicolas E Figeroa1013Germany2025-05-19
Chavez L Glick1014Australia2025-06-13
Jefferson B Malet1015Spain2025-06-05
Deepesh U Rulapaugh1016Brazil2025-05-27
David A Morasca1017India2025-06-16
Greenwood J Tollner1018India2025-06-01
Darci K Morasca1019India2025-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey M PerinArgentinaIvan Magalhaes RENEWAL
Kaitlin X DoeUnited KingdomStephen Shaw NEGOTIATION
Arvin D MaletBrazilXuxue Feng PROPOSAL
Francesco E GauchoJapanXuxue Feng RENEWAL
Mayumi W AmigonCanadaElwin Sharvill RENEWAL
Nicolas L BologniaFranceElwin Sharvill RENEWAL
Kaitlin F CampainGermanyAsiya Javayant PROPOSAL
Claire U WieserCanadaAnna Fali NEGOTIATION
Arvin Z CampainSpainElwin Sharvill QUALIFIED
Greenwood U NickaItalyStephen Shaw PROPOSAL
Nicolas L MacleadFranceAsiya Javayant UNQUALIFIED
Cody V RutaUnited KingdomAsiya Javayant PROPOSAL
Maisha Z MaletRussiaAsiya Javayant PROPOSAL
Murillo S MorascaUnited KingdomIoni Bowcher NEGOTIATION
Murillo D PerinFranceBernardo Dominic QUALIFIED
Ricardo E KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Greenwood R PaprockiIndiaElwin Sharvill UNQUALIFIED
Alejandro M FigeroaGermanyXuxue Feng NEGOTIATION
Claire N GarufiAustraliaXuxue Feng QUALIFIED
Munro S DarakjyUnited KingdomAsiya Javayant NEW
Munro M CampainUnited KingdomAsiya Javayant QUALIFIED
Izzy I RulapaughRussiaAsiya Javayant PROPOSAL
Tony V RimItalyStephen Shaw QUALIFIED
Clifford A NickaFranceOnyama Limba NEGOTIATION
Deepesh B MorascaAustraliaElwin Sharvill NEW
Antonio Z NickaBrazilElwin Sharvill QUALIFIED
Johnson A AlbaresJapanIvan Magalhaes QUALIFIED
Darci O MarrierSpainAnna Fali PROPOSAL
Salvatore K OstroskyGermanyAmy Elsner RENEWAL
Munro W SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson I WhobreyBrazilOnyama Limba PROPOSAL
Isabel G NestleSpainStephen Shaw UNQUALIFIED
Clifford C WieserFranceAnna Fali RENEWAL
Izzy E NestleCanadaElwin Sharvill NEGOTIATION
Aditya J RimArgentinaIvan Magalhaes NEGOTIATION
Clifford H StockhamBrazilAmy Elsner NEW
David S OldroydSpainIoni Bowcher QUALIFIED
Jeanfrancois B RimGermanyAnna Fali NEGOTIATION
Leja U DoeBrazilXuxue Feng NEW
Morrow T StockhamIndiaElwin Sharvill NEW

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