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
Rodrigues L FlosiJapanAsiya Javayant QUALIFIED
Jeanfrancois Z OldroydArgentinaBernardo Dominic RENEWAL
Arvin P NestleJapanAmy Elsner RENEWAL
Murillo I PoquetteUnited KingdomAsiya Javayant PROPOSAL
Cody G GauchoIndiaIoni Bowcher QUALIFIED
Deepesh G KolmetzArgentinaIoni Bowcher NEGOTIATION
Claire U FigeroaCanadaOnyama Limba UNQUALIFIED
Emily A WhobreyIndiaOnyama Limba NEW
Ricardo R NestleArgentinaAmy Elsner NEW
David P PoquetteCanadaAnna Fali RENEWAL
Juan R MaletSpainAsiya Javayant RENEWAL
Cody F KolmetzRussiaXuxue Feng NEGOTIATION
Alejandro S MaletSpainAsiya Javayant NEW
Morrow Y MaletUnited KingdomAmy Elsner NEGOTIATION
Leon S PaprockiSpainElwin Sharvill NEW
Jennifer S VenereIndiaStephen Shaw UNQUALIFIED
Adams F GarufiSpainIoni Bowcher UNQUALIFIED
Arvin R DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo B DilliardJapanIvan Magalhaes RENEWAL
Chavez F FigeroaBrazilXuxue Feng RENEWAL
Deepesh O KolmetzGermanyStephen Shaw QUALIFIED
Maria Y MarrierCanadaAnna Fali QUALIFIED
Izzy X OstroskyJapanAmy Elsner NEGOTIATION
Sinclair H KuskoArgentinaOnyama Limba UNQUALIFIED
Greenwood M DilliardAustraliaStephen Shaw NEW
Maria Y FollerIndiaAnna Fali UNQUALIFIED
Julie W GillianCanadaAsiya Javayant QUALIFIED
Antonio C VenereCanadaIoni Bowcher RENEWAL
Julie D AlbaresIndiaBernardo Dominic QUALIFIED
James M AmigonItalyXuxue Feng RENEWAL
Maria M DoeRussiaXuxue Feng NEW
Emily U KuskoCanadaAsiya Javayant QUALIFIED
Francesco B FollerCanadaXuxue Feng PROPOSAL
Chavez T VocelkaItalyAnna Fali RENEWAL
Leja U StockhamJapanBernardo Dominic PROPOSAL
Jefferson I FlosiAustraliaAsiya Javayant RENEWAL
Claire O DoeSpainAmy Elsner PROPOSAL
Juan P DilliardGermanyAnna Fali RENEWAL
Johnson Z AmigonSpainAmy Elsner QUALIFIED
James E BologniaIndiaAsiya Javayant UNQUALIFIED
Kaitlin Z BriddickJapanXuxue Feng QUALIFIED
Sinclair B CaudyFranceIoni Bowcher RENEWAL
Misaki B AmigonIndiaAmy Elsner NEW
Costa S NestleFranceStephen Shaw UNQUALIFIED
Jones T SaylorsBrazilStephen Shaw RENEWAL
Darci B GarufiJapanIoni Bowcher UNQUALIFIED
Alejandro M SergiFranceOnyama Limba PROPOSAL
Alejandro P CaldareraIndiaXuxue Feng NEGOTIATION
Deepesh H FlosiFranceAnna Fali UNQUALIFIED
Costa P VenereGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha W CaldareraCanadaAnna Fali NEW
Greenwood F SchemmerCanadaElwin Sharvill UNQUALIFIED
Smith M ChuiGermanyBernardo Dominic NEW
Ricardo C FollerBrazilElwin Sharvill UNQUALIFIED
Misaki W DoeUnited KingdomAnna Fali NEGOTIATION
Ricardo L FlosiUnited KingdomStephen Shaw UNQUALIFIED
Ricardo G BowleyJapanAnna Fali QUALIFIED
Wickens U GauchoSpainXuxue Feng QUALIFIED
Murillo I StensethJapanOnyama Limba RENEWAL
Rodrigues L BowleyGermanyStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin J FlosiRussia2024-05-12Morlong Associates UNQUALIFIED63Bernardo Dominic
1001Mayumi Z SergiFrance2024-05-02Chapman, Ross E Esq UNQUALIFIED69Bernardo Dominic
1002Aika K BowleyCanada2024-05-05Truhlar And Truhlar Attys RENEWAL99Bernardo Dominic
1003Ivar S GarufiJapan2024-05-26Feiner Bros NEW84Ivan Magalhaes
1004Rodrigues C CampainGermany2024-04-29Chanay, Jeffrey A Esq NEGOTIATION75Asiya Javayant
1005Rodrigues S PerinSpain2024-05-13Chemel, James L Cpa PROPOSAL64Anna Fali
1006Sinclair O SchemmerIndia2024-05-01Feiner Bros PROPOSAL51Anna Fali
1007Jennifer I MacleadAustralia2024-05-18Printing Dimensions QUALIFIED3Ioni Bowcher
1008Darci H NestleItaly2024-05-20Feltz Printing Service RENEWAL61Anna Fali
1009Deepesh R VenereIndia2024-05-12Feltz Printing Service NEGOTIATION92Bernardo Dominic
1010Silvio O AlbaresRussia2024-05-15Morlong Associates RENEWAL91Elwin Sharvill
1011Maisha E KolmetzAustralia2024-05-12King, Christopher A Esq QUALIFIED94Xuxue Feng
1012Smith A PaprockiRussia2024-05-14Truhlar And Truhlar Attys UNQUALIFIED58Ivan Magalhaes
1013Alejandro K CampainRussia2024-04-30Printing Dimensions NEGOTIATION71Xuxue Feng
1014Leon O GillianBrazil2024-05-22Dorl, James J Esq UNQUALIFIED4Xuxue Feng
1015Arvin P NestleArgentina2024-05-06Truhlar And Truhlar Attys QUALIFIED47Onyama Limba
1016Smith L FlosiGermany2024-05-15Rousseaux, Michael Esq UNQUALIFIED14Xuxue Feng
1017Ivar S OldroydAustralia2024-05-08King, Christopher A Esq QUALIFIED8Stephen Shaw
1018Aika P WaycottAustralia2024-05-26Dorl, James J Esq RENEWAL10Bernardo Dominic
1019Claire U MarrierItaly2024-05-26Commercial Press NEW40Onyama Limba
1020Adams H FollerJapan2024-05-06Morlong Associates RENEWAL28Ivan Magalhaes
1021Emily B IturbideArgentina2024-05-01Rousseaux, Michael Esq NEW53Anna Fali
1022Mayumi V MorascaIndia2024-05-14Commercial Press RENEWAL4Ivan Magalhaes
1023Julie O SlusarskiCanada2024-05-15Morlong Associates PROPOSAL30Stephen Shaw
1024Cody E CampainJapan2024-05-02King, Christopher A Esq NEGOTIATION27Stephen Shaw
1025Deepesh K VocelkaUnited Kingdom2024-05-28Truhlar And Truhlar Attys RENEWAL19Xuxue Feng
1026Kadeem D AlbaresBrazil2024-05-07Chapman, Ross E Esq PROPOSAL41Ioni Bowcher
1027Chavez D PoquetteUnited Kingdom2024-05-26Truhlar And Truhlar Attys PROPOSAL67Asiya Javayant
1028Johnson T FollerItaly2024-05-07Chemel, James L Cpa PROPOSAL10Xuxue Feng
1029Antonio P TollnerCanada2024-05-10Printing Dimensions RENEWAL79Bernardo Dominic
1030Tony W MorascaSpain2024-05-07Truhlar And Truhlar Attys UNQUALIFIED61Ivan Magalhaes
1031Francesco D FlosiSpain2024-05-20King, Christopher A Esq QUALIFIED55Amy Elsner
1032Ashley C AmigonSpain2024-05-04Printing Dimensions QUALIFIED82Elwin Sharvill
1033Smith H ShinkoCanada2024-05-06Chemel, James L Cpa NEGOTIATION5Asiya Javayant
1034Chavez F PoquetteGermany2024-05-21Feiner Bros RENEWAL25Stephen Shaw
1035Smith R SlusarskiItaly2024-05-12Buckley Miller Wright QUALIFIED44Asiya Javayant
1036Francesco D StockhamArgentina2024-05-01Rousseaux, Michael Esq NEW41Bernardo Dominic
1037Chavez M KuskoAustralia2024-05-25Chapman, Ross E Esq UNQUALIFIED13Amy Elsner
1038Munro C RimCanada2024-05-07Feltz Printing Service UNQUALIFIED65Xuxue Feng
1039Chavez M WieserFrance2024-05-02Truhlar And Truhlar Attys UNQUALIFIED60Bernardo Dominic
1040Darci K RimFrance2024-05-09Truhlar And Truhlar Attys RENEWAL7Amy Elsner
1041Maria X MaletGermany2024-05-26Morlong Associates NEW80Stephen Shaw
1042Faith K CaldareraSpain2024-05-25Truhlar And Truhlar Attys NEW5Ioni Bowcher
1043Greenwood J RutaCanada2024-05-27Morlong Associates PROPOSAL82Ivan Magalhaes
1044Isabel J KolmetzRussia2024-05-22Chapman, Ross E Esq NEGOTIATION17Elwin Sharvill
1045Maria E WaycottCanada2024-05-22Chapman, Ross E Esq QUALIFIED32Bernardo Dominic
1046Smith I MaletGermany2024-05-08Feiner Bros RENEWAL11Stephen Shaw
1047Clifford U WieserCanada2024-05-19Buckley Miller Wright UNQUALIFIED33Bernardo Dominic
1048Leon H MaletBrazil2024-05-23King, Christopher A Esq PROPOSAL15Ivan Magalhaes
1049Aruna S RulapaughIndia2024-04-30Commercial Press UNQUALIFIED80Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens K StensethItalyIvan Magalhaes QUALIFIED
Ashley Z TollnerRussiaAmy Elsner NEGOTIATION
Mujtaba U DarakjyAustraliaAmy Elsner NEGOTIATION
Chavez D BriddickArgentinaIvan Magalhaes NEW
Emily C PerinFranceIoni Bowcher NEGOTIATION
Leja Y PerinSpainAmy Elsner QUALIFIED
Misaki S SergiFranceOnyama Limba PROPOSAL
Julie B TollnerBrazilAmy Elsner NEGOTIATION
Aika B DoeGermanyIoni Bowcher UNQUALIFIED
Leja P RulapaughJapanStephen Shaw PROPOSAL
Murillo P InouyeUnited KingdomAsiya Javayant QUALIFIED
Jones V MaletRussiaIvan Magalhaes QUALIFIED
Kadeem A SergiUnited KingdomAnna Fali UNQUALIFIED
Jefferson K ChuiGermanyIvan Magalhaes PROPOSAL
David H FollerJapanAmy Elsner NEW
Isabel V WaycottJapanXuxue Feng PROPOSAL
Francesco H MaletIndiaIoni Bowcher UNQUALIFIED
Alejandro A MaletItalyIoni Bowcher PROPOSAL
Adams K FlosiCanadaAsiya Javayant UNQUALIFIED
Emily Z KolmetzJapanStephen Shaw QUALIFIED
Johnson L DilliardItalyStephen Shaw QUALIFIED
Aruna E GillianIndiaIoni Bowcher RENEWAL
Wickens N MorascaSpainXuxue Feng PROPOSAL
Mayumi U InouyeSpainIvan Magalhaes NEW
Maria C WaycottRussiaOnyama Limba NEW
Jennifer L MorascaSpainBernardo Dominic UNQUALIFIED
James R RoysterAustraliaIoni Bowcher PROPOSAL
Emily Y BologniaCanadaBernardo Dominic NEGOTIATION
Morrow Q AlbaresFranceOnyama Limba PROPOSAL
Maisha Q PaprockiUnited KingdomAsiya Javayant PROPOSAL
Chavez D RoysterJapanBernardo Dominic QUALIFIED
Jeanfrancois L VenereGermanyBernardo Dominic NEW
Johnson J PoquetteIndiaIoni Bowcher UNQUALIFIED
Wickens L ButtCanadaElwin Sharvill QUALIFIED
Darci U OldroydRussiaStephen Shaw NEGOTIATION
Kadeem M DarakjyFranceStephen Shaw NEGOTIATION
Jones U OldroydRussiaAsiya Javayant UNQUALIFIED
Aruna T PoquetteGermanyIoni Bowcher NEW
Maria B RutaArgentinaIvan Magalhaes NEGOTIATION
Clifford V MorascaIndiaAsiya Javayant NEGOTIATION
Ivar W GillianIndiaElwin Sharvill NEW
Aruna U SaylorsArgentinaAsiya Javayant QUALIFIED
Chavez U OstroskyJapanOnyama Limba PROPOSAL
Leja L BologniaBrazilStephen Shaw NEGOTIATION
Antonio Y PoquetteArgentinaStephen Shaw PROPOSAL
Maisha L StockhamUnited KingdomXuxue Feng RENEWAL
Cody B CaudyBrazilAmy Elsner NEGOTIATION
Smith W CampainCanadaBernardo Dominic NEGOTIATION
Munro D KolmetzIndiaIoni Bowcher RENEWAL
Deepesh X DilliardArgentinaBernardo Dominic PROPOSAL
Frozen Columns
Name
Aruna R Gillian
Ricardo J Malet
Costa I Stenseth
Wickens P Amigon
Octavia E Marrier
Wickens D Bowley
Deepesh I Briddick
Salvatore S Tollner
Adams Y Garufi
Murillo A Saylors
Claire Q Inouye
Salvatore C Rulapaugh
Aruna L Ruta
Stacey V Venere
Misaki K Ostrosky
Tony Y Waycott
Deepesh E Stockham
James Q Campain
David V Gaucho
Sinclair E Rulapaugh
Tony K Shinko
Silvio L Gillian
Johnson L Sergi
Adams F Shinko
Chavez B Dilliard
Mujtaba C Tollner
Mayumi E Doe
Misaki W Nicka
Costa C Kolmetz
Darci T Ferencz
Mayumi J Maclead
Leja T Bowley
Kaitlin S Flosi
Jeanfrancois N Darakjy
Jennifer K Schemmer
Greenwood W Royster
Mujtaba Q Kolmetz
Ivar N Poquette
Tony F Albares
Salvatore D Royster
Stacey X Paprocki
Ashley W Iturbide
Leon O Kusko
Maisha G Malet
Costa D Vocelka
Nicolas I Gaucho
Izzy A Schemmer
Leon J Stenseth
Alejandro K Briddick
Aruna U Waycott
IdCountryDate
1000United Kingdom2024-05-16
1001France2024-05-11
1002Spain2024-05-08
1003Brazil2024-05-17
1004Italy2024-05-05
1005Argentina2024-05-21
1006Canada2024-05-27
1007France2024-05-11
1008France2024-05-25
1009Argentina2024-05-13
1010Canada2024-05-25
1011Spain2024-05-21
1012Argentina2024-05-14
1013Germany2024-05-12
1014Spain2024-05-15
1015Spain2024-05-05
1016Spain2024-05-13
1017Argentina2024-05-16
1018United Kingdom2024-05-26
1019Italy2024-05-08
1020Germany2024-05-10
1021Canada2024-05-19
1022Brazil2024-05-14
1023Italy2024-05-03
1024Japan2024-05-24
1025India2024-05-03
1026Spain2024-05-27
1027Brazil2024-05-20
1028Italy2024-05-05
1029India2024-05-04
1030Spain2024-05-15
1031Russia2024-05-10
1032Spain2024-05-24
1033India2024-05-16
1034India2024-05-26
1035Australia2024-05-25
1036Japan2024-05-12
1037India2024-05-05
1038United Kingdom2024-05-07
1039India2024-05-17
1040United Kingdom2024-05-26
1041Germany2024-04-30
1042Russia2024-05-19
1043Brazil2024-05-25
1044Canada2024-05-17
1045Canada2024-04-30
1046Italy2024-05-03
1047France2024-05-23
1048Argentina2024-05-08
1049Brazil2024-05-11

On-Demand Data

NameIdCountryDate
Alejandro W Waycott1000Canada2024-05-14
Ivar A Butt1001Germany2024-05-04
Murillo F Darakjy1002Germany2024-05-15
Claire Y Ruta1003Australia2024-05-01
Rodrigues N Iturbide1004Italy2024-05-02
Aika R Marrier1005Brazil2024-05-18
Silvio J Campain1006Japan2024-05-12
Greenwood Z Schemmer1007Germany2024-05-04
Julie S Doe1008France2024-05-07
Emily R Bowley1009Russia2024-05-17
Kadeem U Shinko1010United Kingdom2024-05-23
Maria W Shinko1011United Kingdom2024-05-26
Emily O Royster1012Brazil2024-05-09
Munro J Shinko1013Argentina2024-05-08
Aruna V Bowley1014Japan2024-05-03
Misaki Y Amigon1015Italy2024-05-07
Kaitlin I Garufi1016United Kingdom2024-04-29
Faith W Briddick1017Canada2024-05-14
Antonio I Foller1018Spain2024-05-24
Ivar U Ostrosky1019Germany2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair W PerinCanadaAmy Elsner NEGOTIATION
Aruna A RoysterSpainAsiya Javayant NEW
Jennifer D CaudyGermanyStephen Shaw QUALIFIED
Salvatore R StockhamUnited KingdomIoni Bowcher QUALIFIED
Faith Q CaldareraArgentinaStephen Shaw NEW
Kaitlin R BriddickCanadaIoni Bowcher NEGOTIATION
Jennifer W ChuiUnited KingdomOnyama Limba NEGOTIATION
Aika U BowleyFranceAmy Elsner PROPOSAL
Octavia N AmigonAustraliaAmy Elsner RENEWAL
Salvatore A CaldareraSpainElwin Sharvill UNQUALIFIED
Maisha Q RimUnited KingdomXuxue Feng PROPOSAL
Claire D SergiFranceXuxue Feng NEGOTIATION
Aruna V NestleArgentinaAsiya Javayant UNQUALIFIED
Stacey G BologniaItalyXuxue Feng NEW
Ricardo Y FlosiGermanyAnna Fali QUALIFIED
Rodrigues M GillianUnited KingdomAsiya Javayant NEGOTIATION
Cody E NickaIndiaXuxue Feng NEGOTIATION
Aruna Q DoeFranceStephen Shaw PROPOSAL
Ricardo Z BologniaItalyBernardo Dominic NEW
Faith J ButtRussiaElwin Sharvill PROPOSAL
Deepesh Y SergiIndiaXuxue Feng NEW
Rodrigues R NickaCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois E SlusarskiSpainStephen Shaw PROPOSAL
Smith G CaudyGermanyAnna Fali UNQUALIFIED
James G FerenczRussiaXuxue Feng PROPOSAL
Adams A PoquetteIndiaStephen Shaw RENEWAL
Munro S VocelkaItalyStephen Shaw QUALIFIED
Aruna F FollerIndiaElwin Sharvill NEGOTIATION
Kaitlin H BriddickJapanOnyama Limba NEW
Mayumi K WaycottSpainAmy Elsner NEW
Maisha D MaletArgentinaAnna Fali NEW
Jefferson N DilliardBrazilIoni Bowcher UNQUALIFIED
Ivar O FigeroaCanadaOnyama Limba NEW
Tony Z CaudyGermanyAsiya Javayant NEGOTIATION
Rodrigues X RulapaughAustraliaAnna Fali QUALIFIED
Sinclair W StockhamSpainOnyama Limba NEW
Murillo Y MorascaGermanyAnna Fali QUALIFIED
Deepesh Z BologniaCanadaAmy Elsner QUALIFIED
Leja A BologniaBrazilAsiya Javayant QUALIFIED
Chavez S SaylorsItalyOnyama Limba NEGOTIATION

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