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 CaudyJapanOnyama Limba PROPOSAL
Deepesh L FollerRussiaBernardo Dominic QUALIFIED
Morrow K FigeroaItalyOnyama Limba QUALIFIED
Murillo J RutaCanadaXuxue Feng QUALIFIED
Nicolas V SaylorsItalyAnna Fali UNQUALIFIED
Aruna O AlbaresJapanAsiya Javayant UNQUALIFIED
Mujtaba Z StensethUnited KingdomAsiya Javayant RENEWAL
Izzy W CampainGermanyOnyama Limba RENEWAL
Munro U PoquetteArgentinaAnna Fali QUALIFIED
Cody I ButtSpainXuxue Feng NEW
Julie X OstroskySpainXuxue Feng QUALIFIED
Juan I RoysterBrazilAsiya Javayant UNQUALIFIED
Costa J MarrierCanadaIvan Magalhaes UNQUALIFIED
Alejandro X KuskoCanadaXuxue Feng NEGOTIATION
Octavia V OldroydRussiaAsiya Javayant PROPOSAL
James P BriddickCanadaOnyama Limba QUALIFIED
Maria K FerenczIndiaIvan Magalhaes RENEWAL
Stacey J RutaSpainIvan Magalhaes UNQUALIFIED
Isabel E SlusarskiItalyBernardo Dominic QUALIFIED
Morrow U PerinUnited KingdomStephen Shaw QUALIFIED
Jefferson W MacleadUnited KingdomAnna Fali RENEWAL
David I StockhamFranceAsiya Javayant RENEWAL
Adams H PaprockiIndiaStephen Shaw NEW
Rodrigues Q GarufiCanadaIvan Magalhaes NEGOTIATION
Emily M DarakjyAustraliaAnna Fali PROPOSAL
Mujtaba S FollerBrazilOnyama Limba PROPOSAL
Octavia I ShinkoGermanyIvan Magalhaes NEGOTIATION
Maria E DilliardFranceAmy Elsner NEGOTIATION
Silvio M CampainItalyStephen Shaw RENEWAL
Leja L NestleRussiaElwin Sharvill RENEWAL
Izzy G SlusarskiIndiaElwin Sharvill UNQUALIFIED
Izzy A MorascaIndiaIvan Magalhaes QUALIFIED
Leja N MaletUnited KingdomIoni Bowcher NEW
Morrow S WaycottItalyXuxue Feng NEGOTIATION
David I WaycottFranceIvan Magalhaes NEGOTIATION
Octavia V OstroskyJapanElwin Sharvill UNQUALIFIED
Rodrigues J BowleyRussiaStephen Shaw UNQUALIFIED
Kadeem G GillianSpainXuxue Feng NEGOTIATION
Jeanfrancois B AmigonIndiaAnna Fali PROPOSAL
Rodrigues A ChuiCanadaIoni Bowcher NEGOTIATION
Morrow X RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Faith T PerinCanadaBernardo Dominic UNQUALIFIED
Alejandro A KolmetzItalyAsiya Javayant UNQUALIFIED
Nicolas O RoysterUnited KingdomBernardo Dominic NEW
Claire P AmigonBrazilOnyama Limba UNQUALIFIED
Jones G GauchoJapanOnyama Limba RENEWAL
Wickens U RoysterIndiaAmy Elsner UNQUALIFIED
Smith I RoysterBrazilAnna Fali PROPOSAL
Claire X MaletGermanyIoni Bowcher PROPOSAL
David D ButtJapanXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh V GillianIndiaXuxue Feng QUALIFIED
Jefferson E ButtAustraliaIoni Bowcher PROPOSAL
Alejandro T DilliardItalyXuxue Feng RENEWAL
Sinclair E PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Clifford F MacleadRussiaAmy Elsner NEGOTIATION
Jeanfrancois I StensethCanadaAmy Elsner RENEWAL
Julie P RoysterItalyStephen Shaw NEW
Greenwood J IturbideArgentinaAmy Elsner PROPOSAL
Aditya Y DoeIndiaAsiya Javayant NEW
Isabel M MacleadArgentinaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy A ChuiJapan2024-06-13Dorl, James J Esq NEGOTIATION34Amy Elsner
1001David I FollerArgentina2024-06-13Chapman, Ross E Esq RENEWAL70Ivan Magalhaes
1002Darci C IturbideItaly2024-06-20Truhlar And Truhlar Attys RENEWAL79Anna Fali
1003Tony W WieserCanada2024-06-08Chemel, James L Cpa UNQUALIFIED38Bernardo Dominic
1004Maria Q OstroskyCanada2024-06-13Buckley Miller Wright RENEWAL73Ioni Bowcher
1005Kaitlin E WaycottSpain2024-05-31Chemel, James L Cpa QUALIFIED30Amy Elsner
1006Claire A RulapaughJapan2024-06-03Dorl, James J Esq QUALIFIED14Ivan Magalhaes
1007Morrow Y SergiArgentina2024-06-02Dorl, James J Esq UNQUALIFIED8Ivan Magalhaes
1008Salvatore N DarakjyIndia2024-05-24Commercial Press PROPOSAL10Amy Elsner
1009Kaitlin J KuskoBrazil2024-05-29Chapman, Ross E Esq PROPOSAL28Ioni Bowcher
1010Jefferson R GauchoCanada2024-06-09Chanay, Jeffrey A Esq QUALIFIED76Stephen Shaw
1011Francesco M InouyeIndia2024-05-26Truhlar And Truhlar Attys UNQUALIFIED73Xuxue Feng
1012Darci E VocelkaItaly2024-05-24Printing Dimensions QUALIFIED68Asiya Javayant
1013Salvatore K FerenczUnited Kingdom2024-06-08Buckley Miller Wright PROPOSAL83Ivan Magalhaes
1014Claire J InouyeCanada2024-06-01Morlong Associates QUALIFIED51Anna Fali
1015Cody Y PoquetteItaly2024-05-24Chanay, Jeffrey A Esq RENEWAL57Amy Elsner
1016Chavez P GlickSpain2024-06-17Benton, John B Jr NEGOTIATION33Elwin Sharvill
1017Isabel T MorascaAustralia2024-06-11Chanay, Jeffrey A Esq RENEWAL28Onyama Limba
1018Faith S NestleRussia2024-06-20Morlong Associates NEW66Stephen Shaw
1019Aika G DilliardUnited Kingdom2024-06-01Commercial Press PROPOSAL22Amy Elsner
1020Francesco Q KuskoArgentina2024-06-17Commercial Press QUALIFIED5Bernardo Dominic
1021Maisha L VocelkaAustralia2024-06-06King, Christopher A Esq NEW18Elwin Sharvill
1022Leja U MaletJapan2024-06-07Buckley Miller Wright QUALIFIED22Stephen Shaw
1023Francesco F WieserCanada2024-06-20Feiner Bros NEW14Ioni Bowcher
1024Jones H VenereUnited Kingdom2024-06-03Commercial Press RENEWAL52Xuxue Feng
1025Smith R GlickItaly2024-06-12Rangoni Of Florence UNQUALIFIED47Stephen Shaw
1026Ashley I VenereSpain2024-06-13Truhlar And Truhlar Attys PROPOSAL20Amy Elsner
1027Salvatore H AlbaresAustralia2024-06-03Commercial Press PROPOSAL35Xuxue Feng
1028Maisha G GlickArgentina2024-05-31Benton, John B Jr UNQUALIFIED44Amy Elsner
1029Adams I FigeroaItaly2024-06-18Chemel, James L Cpa UNQUALIFIED64Anna Fali
1030Ivar R PaprockiCanada2024-06-09Buckley Miller Wright UNQUALIFIED98Elwin Sharvill
1031Tony P RimRussia2024-05-28Chemel, James L Cpa NEGOTIATION14Stephen Shaw
1032Morrow Y KuskoAustralia2024-06-04Chapman, Ross E Esq UNQUALIFIED40Asiya Javayant
1033David Q IturbideAustralia2024-06-01Benton, John B Jr QUALIFIED80Ioni Bowcher
1034Octavia S NickaFrance2024-06-13Dorl, James J Esq PROPOSAL18Elwin Sharvill
1035Silvio L DarakjyRussia2024-06-09King, Christopher A Esq NEW91Amy Elsner
1036Rodrigues Q WhobreyIndia2024-06-02Morlong Associates NEW10Ioni Bowcher
1037Ricardo W VenereAustralia2024-06-21Feiner Bros PROPOSAL71Elwin Sharvill
1038Juan V FerenczBrazil2024-06-04Dorl, James J Esq NEGOTIATION7Bernardo Dominic
1039Cody N FerenczArgentina2024-06-18Benton, John B Jr RENEWAL56Xuxue Feng
1040Juan Y BowleyIndia2024-05-29Rousseaux, Michael Esq QUALIFIED75Ioni Bowcher
1041Sinclair D KuskoBrazil2024-05-30Morlong Associates NEGOTIATION83Stephen Shaw
1042Mayumi F GillianGermany2024-06-14Chapman, Ross E Esq RENEWAL46Ivan Magalhaes
1043Isabel S IturbideBrazil2024-06-09Truhlar And Truhlar Attys UNQUALIFIED48Ivan Magalhaes
1044Emily K GauchoGermany2024-05-26Commercial Press QUALIFIED21Anna Fali
1045Munro Z OstroskyRussia2024-05-28Morlong Associates NEGOTIATION53Ioni Bowcher
1046Chavez C FigeroaIndia2024-06-18Chemel, James L Cpa NEGOTIATION85Ivan Magalhaes
1047Julie N KolmetzGermany2024-06-07Truhlar And Truhlar Attys PROPOSAL1Anna Fali
1048Murillo E CampainGermany2024-06-05Rousseaux, Michael Esq QUALIFIED59Xuxue Feng
1049Wickens T MaletGermany2024-06-05Truhlar And Truhlar Attys NEGOTIATION19Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Silvio B GauchoRussiaBernardo Dominic NEGOTIATION
Stacey O BologniaGermanyIoni Bowcher NEGOTIATION
Sinclair M CaldareraGermanyXuxue Feng QUALIFIED
Arvin Z NickaAustraliaBernardo Dominic PROPOSAL
Ashley J ChuiJapanElwin Sharvill PROPOSAL
Ashley Y KolmetzArgentinaIvan Magalhaes RENEWAL
Morrow R RoysterSpainOnyama Limba UNQUALIFIED
Aika V SlusarskiFranceStephen Shaw NEW
Emily G MorascaRussiaIoni Bowcher RENEWAL
Misaki D BologniaUnited KingdomIoni Bowcher QUALIFIED
Smith M FollerCanadaAmy Elsner NEGOTIATION
Alejandro V FollerArgentinaOnyama Limba UNQUALIFIED
Juan F TollnerFranceAsiya Javayant UNQUALIFIED
Smith E StockhamItalyIvan Magalhaes UNQUALIFIED
Aika W ShinkoFranceIvan Magalhaes RENEWAL
Kadeem C MorascaGermanyAmy Elsner PROPOSAL
Faith O BriddickCanadaOnyama Limba UNQUALIFIED
Costa F TollnerBrazilIvan Magalhaes UNQUALIFIED
Greenwood X NestleIndiaBernardo Dominic RENEWAL
Deepesh L SchemmerArgentinaStephen Shaw RENEWAL
Mayumi D NickaGermanyBernardo Dominic PROPOSAL
Smith G NickaGermanyStephen Shaw NEW
Aruna U FlosiArgentinaElwin Sharvill UNQUALIFIED
Cody S BriddickGermanyAsiya Javayant QUALIFIED
David N FollerItalyAmy Elsner QUALIFIED
Antonio C MacleadItalyOnyama Limba PROPOSAL
Claire B OstroskyArgentinaAnna Fali QUALIFIED
Faith C MarrierRussiaAmy Elsner QUALIFIED
Jefferson L BowleyJapanAmy Elsner NEGOTIATION
Maria N RutaUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin Y MarrierAustraliaAnna Fali UNQUALIFIED
Jefferson F WaycottBrazilAnna Fali NEW
Juan P SergiAustraliaAmy Elsner NEGOTIATION
James B MaletJapanIvan Magalhaes UNQUALIFIED
Mayumi F MaletSpainAsiya Javayant QUALIFIED
Stacey S MaletItalyAmy Elsner PROPOSAL
Morrow K NestleBrazilXuxue Feng QUALIFIED
Octavia W RutaAustraliaXuxue Feng NEW
Jefferson E NickaUnited KingdomElwin Sharvill NEGOTIATION
Mujtaba E NestleAustraliaAmy Elsner RENEWAL
Juan U AmigonJapanIvan Magalhaes PROPOSAL
Ivar X RutaItalyStephen Shaw PROPOSAL
Mujtaba A OstroskyRussiaBernardo Dominic NEGOTIATION
Tony D GillianSpainOnyama Limba PROPOSAL
Chavez Z OldroydJapanIoni Bowcher PROPOSAL
Ashley X CampainGermanyElwin Sharvill UNQUALIFIED
David Y SaylorsBrazilStephen Shaw PROPOSAL
Mujtaba N VenereAustraliaBernardo Dominic QUALIFIED
Maria S WieserItalyAnna Fali QUALIFIED
Greenwood L DilliardGermanyXuxue Feng NEGOTIATION
Frozen Columns
Name
Johnson N Butt
Wickens D Saylors
Leon I Iturbide
Jeanfrancois E Ruta
Munro A Venere
James B Glick
Munro A Gillian
Arvin Q Doe
Alejandro Y Nicka
Johnson A Ruta
Julie G Paprocki
Murillo D Stenseth
Murillo T Flosi
Wickens X Morasca
Alejandro W Maclead
Antonio I Gaucho
Stacey J Slusarski
Deepesh S Ferencz
Maisha U Campain
Isabel T Bowley
Jeanfrancois T Darakjy
Johnson I Stenseth
Ivar Y Doe
Costa D Figeroa
Leja L Caldarera
Costa Y Flosi
Clifford T Ostrosky
Nicolas U Stenseth
Maisha R Figeroa
Izzy B Malet
Darci W Vocelka
Maria M Nicka
James K Briddick
Clifford M Paprocki
Jones M Royster
Ricardo S Iturbide
Adams C Paprocki
Kaitlin X Briddick
Nicolas N Iturbide
Maria Y Wieser
Julie B Iturbide
Juan P Glick
Wickens S Inouye
Juan D Malet
Ricardo M Bowley
Julie N Foller
Arvin R Darakjy
Chavez A Campain
Clifford D Amigon
Munro L Caldarera
IdCountryDate
1000Argentina2024-06-05
1001Japan2024-06-19
1002Germany2024-05-25
1003Japan2024-06-18
1004Spain2024-06-07
1005Spain2024-06-13
1006United Kingdom2024-06-03
1007Spain2024-06-18
1008United Kingdom2024-06-18
1009Italy2024-06-14
1010Japan2024-05-26
1011Russia2024-05-29
1012Canada2024-06-14
1013Australia2024-06-13
1014Brazil2024-06-22
1015India2024-06-07
1016Germany2024-05-30
1017Italy2024-06-08
1018Russia2024-06-02
1019United Kingdom2024-06-11
1020France2024-06-12
1021Brazil2024-05-27
1022Japan2024-06-22
1023United Kingdom2024-06-22
1024Canada2024-06-08
1025Japan2024-06-01
1026Brazil2024-06-20
1027Spain2024-06-10
1028Russia2024-05-28
1029India2024-05-24
1030France2024-05-27
1031India2024-05-31
1032Germany2024-06-09
1033Germany2024-06-21
1034Germany2024-06-11
1035Italy2024-06-04
1036India2024-06-16
1037India2024-05-25
1038Germany2024-06-03
1039Australia2024-05-24
1040France2024-06-15
1041Russia2024-05-26
1042Spain2024-06-14
1043France2024-06-11
1044Brazil2024-06-18
1045Brazil2024-06-17
1046Japan2024-06-08
1047Spain2024-06-03
1048Russia2024-06-16
1049Argentina2024-06-06

On-Demand Data

NameIdCountryDate
Stacey C Nestle1000Russia2024-06-09
Antonio Y Darakjy1001Germany2024-05-29
Chavez F Glick1002Canada2024-05-25
Mujtaba I Ruta1003Germany2024-06-02
Leja N Butt1004India2024-06-07
Adams E Iturbide1005Italy2024-06-20
Aruna S Saylors1006Japan2024-06-15
Francesco H Chui1007Italy2024-06-14
Claire B Foller1008France2024-06-10
Leja B Rim1009Argentina2024-06-16
James V Doe1010Spain2024-06-04
Wickens S Wieser1011Italy2024-06-18
Smith Y Doe1012Russia2024-05-30
Morrow T Flosi1013United Kingdom2024-06-13
Deepesh U Glick1014Brazil2024-06-18
Emily S Bowley1015France2024-06-05
Emily E Caudy1016Brazil2024-06-15
Kadeem S Ferencz1017Russia2024-06-12
Wickens O Malet1018Japan2024-06-09
Mujtaba Y Saylors1019Russia2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel P GillianSpainElwin Sharvill NEGOTIATION
Leja E RutaJapanIvan Magalhaes NEW
Munro T DoeGermanyOnyama Limba QUALIFIED
Octavia A WieserIndiaOnyama Limba PROPOSAL
Mayumi R MarrierIndiaIvan Magalhaes PROPOSAL
Maisha G IturbideArgentinaAsiya Javayant PROPOSAL
Jefferson K FlosiUnited KingdomStephen Shaw NEGOTIATION
Ivar L RimJapanBernardo Dominic QUALIFIED
Julie W WieserSpainAmy Elsner NEW
Sinclair J KolmetzBrazilXuxue Feng PROPOSAL
Leon E PoquetteItalyIvan Magalhaes UNQUALIFIED
Juan E OstroskyIndiaAsiya Javayant UNQUALIFIED
Stacey R NestleGermanyBernardo Dominic NEW
Deepesh V InouyeFranceXuxue Feng NEGOTIATION
Jennifer N GauchoFranceAmy Elsner PROPOSAL
Aika G SergiRussiaIvan Magalhaes NEW
Morrow Z DilliardJapanElwin Sharvill PROPOSAL
Smith P NestleItalyBernardo Dominic QUALIFIED
Salvatore Z IturbideIndiaAsiya Javayant NEW
Morrow S DoeBrazilXuxue Feng PROPOSAL
Chavez V ShinkoGermanyAmy Elsner UNQUALIFIED
Mayumi I DarakjyCanadaXuxue Feng NEW
Munro J FlosiGermanyIvan Magalhaes RENEWAL
Deepesh T AlbaresSpainAnna Fali RENEWAL
Stacey K TollnerRussiaOnyama Limba QUALIFIED
Jeanfrancois B VocelkaGermanyElwin Sharvill UNQUALIFIED
Salvatore A MaletFranceXuxue Feng NEW
Aika P FlosiSpainIoni Bowcher UNQUALIFIED
Murillo G OldroydSpainAmy Elsner QUALIFIED
Juan D RutaAustraliaElwin Sharvill PROPOSAL
Adams P BowleyJapanElwin Sharvill NEGOTIATION
Claire X CaudyItalyOnyama Limba NEW
Johnson R CampainCanadaAnna Fali RENEWAL
James Y RutaIndiaOnyama Limba QUALIFIED
Jeanfrancois V MaletBrazilIvan Magalhaes RENEWAL
Nicolas M RutaFranceXuxue Feng PROPOSAL
Nicolas A CaudyIndiaAsiya Javayant UNQUALIFIED
Darci E GarufiJapanBernardo Dominic NEGOTIATION
Wickens U BriddickAustraliaIvan Magalhaes NEW
Murillo P CaudyCanadaOnyama 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>