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
David X PoquetteBrazilAmy Elsner NEGOTIATION
Smith Y WhobreyItalyAmy Elsner NEGOTIATION
Claire C BologniaGermanyIoni Bowcher NEGOTIATION
Stacey A VocelkaAustraliaStephen Shaw UNQUALIFIED
Morrow M GillianArgentinaIoni Bowcher PROPOSAL
Francesco K MaletCanadaElwin Sharvill PROPOSAL
Leon E RoysterAustraliaElwin Sharvill RENEWAL
Antonio N DarakjyBrazilAsiya Javayant NEW
Claire S BologniaRussiaXuxue Feng UNQUALIFIED
Morrow E ButtJapanOnyama Limba RENEWAL
Claire V FigeroaCanadaXuxue Feng RENEWAL
Francesco Q RimGermanyAnna Fali UNQUALIFIED
Tony P StockhamJapanElwin Sharvill UNQUALIFIED
Nicolas W CampainCanadaBernardo Dominic PROPOSAL
Smith I FlosiGermanyIoni Bowcher NEGOTIATION
Jeanfrancois M GarufiRussiaXuxue Feng PROPOSAL
Johnson C FerenczUnited KingdomIoni Bowcher NEGOTIATION
Silvio O SlusarskiItalyStephen Shaw PROPOSAL
Leon Y RulapaughSpainIvan Magalhaes QUALIFIED
Misaki I AmigonIndiaAsiya Javayant UNQUALIFIED
Maisha O NestleGermanyIoni Bowcher UNQUALIFIED
Clifford M StensethRussiaAnna Fali QUALIFIED
Silvio M BowleyJapanElwin Sharvill QUALIFIED
Munro N DoeGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois O SaylorsIndiaAnna Fali RENEWAL
Maria L NickaGermanyIoni Bowcher NEW
Misaki M ChuiGermanyIvan Magalhaes UNQUALIFIED
Aditya H MaletArgentinaOnyama Limba NEGOTIATION
Francesco F PerinIndiaAsiya Javayant UNQUALIFIED
Ashley D RulapaughGermanyOnyama Limba UNQUALIFIED
Leja J GauchoRussiaAmy Elsner NEW
Munro L RimItalyAmy Elsner RENEWAL
Munro D OldroydArgentinaIoni Bowcher QUALIFIED
Arvin I ShinkoUnited KingdomXuxue Feng NEW
Adams U MacleadUnited KingdomIoni Bowcher RENEWAL
Sinclair J VocelkaFranceXuxue Feng PROPOSAL
Ashley S FigeroaUnited KingdomAsiya Javayant NEW
Sinclair I DoeIndiaOnyama Limba RENEWAL
Stacey E TollnerCanadaOnyama Limba NEW
Jeanfrancois S RimRussiaXuxue Feng UNQUALIFIED
Smith S GlickBrazilIvan Magalhaes NEW
Costa C OldroydJapanElwin Sharvill RENEWAL
Murillo Y CaldareraRussiaAnna Fali NEW
Ricardo I FerenczItalyIoni Bowcher UNQUALIFIED
Darci H FerenczGermanyAmy Elsner UNQUALIFIED
Chavez W DilliardFranceStephen Shaw UNQUALIFIED
Leja I OldroydAustraliaElwin Sharvill NEW
Francesco J OstroskyBrazilOnyama Limba NEGOTIATION
Tony D MaletCanadaAnna Fali NEW
Maisha P VocelkaIndiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio C PerinSpainStephen Shaw UNQUALIFIED
Leon C ShinkoUnited KingdomIoni Bowcher PROPOSAL
Octavia O KolmetzArgentinaElwin Sharvill UNQUALIFIED
Julie W DoeIndiaElwin Sharvill NEW
Ricardo R PoquetteBrazilStephen Shaw QUALIFIED
Nicolas Z VocelkaArgentinaIvan Magalhaes QUALIFIED
Maria Y StensethFranceAmy Elsner PROPOSAL
Aruna T PaprockiFranceIoni Bowcher NEGOTIATION
Jeanfrancois R InouyeBrazilAsiya Javayant NEW
Claire N MaletJapanAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo T FerenczCanada2025-04-06Feiner Bros NEGOTIATION79Amy Elsner
1001Tony B CaudyUnited Kingdom2025-04-15Truhlar And Truhlar Attys QUALIFIED75Amy Elsner
1002Arvin O FerenczJapan2025-04-30Feiner Bros RENEWAL5Ivan Magalhaes
1003Wickens Y StockhamBrazil2025-04-04Buckley Miller Wright QUALIFIED5Xuxue Feng
1004Darci E WhobreyUnited Kingdom2025-04-08Feltz Printing Service QUALIFIED6Amy Elsner
1005Leon S FollerCanada2025-04-22King, Christopher A Esq QUALIFIED31Onyama Limba
1006Aditya J PoquetteArgentina2025-04-21Commercial Press PROPOSAL71Anna Fali
1007Juan I OldroydBrazil2025-04-03Printing Dimensions NEW9Ioni Bowcher
1008Maisha A TollnerFrance2025-04-12Benton, John B Jr PROPOSAL7Stephen Shaw
1009Johnson R AlbaresSpain2025-04-05Chanay, Jeffrey A Esq UNQUALIFIED12Asiya Javayant
1010Aika L TollnerSpain2025-04-22Feltz Printing Service PROPOSAL55Stephen Shaw
1011Cody Y FlosiRussia2025-04-08Commercial Press QUALIFIED49Stephen Shaw
1012Munro D FerenczJapan2025-04-05Dorl, James J Esq NEGOTIATION40Stephen Shaw
1013Ashley K PaprockiIndia2025-04-26Chapman, Ross E Esq QUALIFIED54Anna Fali
1014Murillo X MaletIndia2025-04-04King, Christopher A Esq PROPOSAL86Ivan Magalhaes
1015Isabel S SlusarskiCanada2025-04-05Feltz Printing Service UNQUALIFIED46Elwin Sharvill
1016Morrow T PerinAustralia2025-04-30Chapman, Ross E Esq NEW49Stephen Shaw
1017Izzy C FlosiAustralia2025-04-22Printing Dimensions PROPOSAL70Bernardo Dominic
1018Munro M BowleyFrance2025-04-17Rousseaux, Michael Esq NEW10Asiya Javayant
1019Cody N NickaArgentina2025-04-10Feltz Printing Service PROPOSAL5Asiya Javayant
1020James B KuskoSpain2025-04-04Feiner Bros RENEWAL72Elwin Sharvill
1021Nicolas E DoeCanada2025-04-20Benton, John B Jr NEGOTIATION27Ivan Magalhaes
1022Tony L VenereBrazil2025-04-21Feltz Printing Service QUALIFIED79Ivan Magalhaes
1023Cody I SchemmerIndia2025-04-21Chanay, Jeffrey A Esq UNQUALIFIED92Amy Elsner
1024Wickens U OstroskyJapan2025-04-17Morlong Associates NEW41Anna Fali
1025Isabel U DarakjyRussia2025-04-20Printing Dimensions NEGOTIATION73Stephen Shaw
1026Julie Q FigeroaFrance2025-04-25Chapman, Ross E Esq NEW20Elwin Sharvill
1027Mujtaba M GarufiCanada2025-04-30Dorl, James J Esq UNQUALIFIED83Stephen Shaw
1028James R WieserSpain2025-04-06Feiner Bros QUALIFIED82Elwin Sharvill
1029Jennifer N GlickFrance2025-04-05Chanay, Jeffrey A Esq PROPOSAL52Xuxue Feng
1030Morrow Z OldroydBrazil2025-04-17Morlong Associates NEW92Onyama Limba
1031Smith B FigeroaBrazil2025-04-11Rousseaux, Michael Esq QUALIFIED86Ivan Magalhaes
1032Maisha A DarakjyIndia2025-04-24Morlong Associates QUALIFIED8Ioni Bowcher
1033Clifford D FlosiAustralia2025-04-18Dorl, James J Esq RENEWAL69Xuxue Feng
1034Smith A DilliardUnited Kingdom2025-04-09King, Christopher A Esq QUALIFIED14Bernardo Dominic
1035Misaki R ButtCanada2025-04-16Feltz Printing Service PROPOSAL92Ivan Magalhaes
1036Chavez P PoquetteAustralia2025-04-08Commercial Press RENEWAL37Ivan Magalhaes
1037Jefferson S TollnerBrazil2025-04-18Buckley Miller Wright UNQUALIFIED44Asiya Javayant
1038Faith F KolmetzItaly2025-04-21Buckley Miller Wright NEGOTIATION22Stephen Shaw
1039Deepesh T VenereBrazil2025-04-04King, Christopher A Esq NEW66Anna Fali
1040Aika D StockhamItaly2025-04-26Buckley Miller Wright NEGOTIATION78Amy Elsner
1041Juan B AlbaresAustralia2025-04-24Rousseaux, Michael Esq NEGOTIATION11Amy Elsner
1042Jefferson J NickaRussia2025-04-28Chapman, Ross E Esq RENEWAL5Elwin Sharvill
1043Mayumi Y PaprockiCanada2025-04-13Benton, John B Jr NEGOTIATION99Ioni Bowcher
1044Aditya W DoeAustralia2025-04-01Chanay, Jeffrey A Esq NEW85Bernardo Dominic
1045Misaki F CampainRussia2025-04-21Rousseaux, Michael Esq UNQUALIFIED98Asiya Javayant
1046Leon I FigeroaRussia2025-04-01Truhlar And Truhlar Attys QUALIFIED0Ivan Magalhaes
1047Aika Q MaletFrance2025-04-05Feltz Printing Service NEGOTIATION77Elwin Sharvill
1048Faith X AlbaresJapan2025-04-25Commercial Press QUALIFIED39Asiya Javayant
1049Claire J StockhamSpain2025-04-10Feiner Bros PROPOSAL46Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba N NickaBrazilStephen Shaw UNQUALIFIED
Mujtaba Q StensethRussiaXuxue Feng PROPOSAL
Salvatore K ButtSpainElwin Sharvill NEGOTIATION
Maisha K TollnerArgentinaXuxue Feng PROPOSAL
Ashley S CampainItalyStephen Shaw QUALIFIED
Izzy U DarakjyUnited KingdomIoni Bowcher RENEWAL
Stacey E OldroydJapanElwin Sharvill QUALIFIED
Isabel T IturbideSpainAsiya Javayant PROPOSAL
Salvatore E WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Emily S BologniaRussiaBernardo Dominic UNQUALIFIED
Aditya T NestleFranceIvan Magalhaes QUALIFIED
James N RutaRussiaBernardo Dominic NEW
Octavia V PerinArgentinaStephen Shaw NEGOTIATION
Mujtaba Q RutaCanadaAnna Fali QUALIFIED
Leon G MaletArgentinaStephen Shaw QUALIFIED
Jefferson G MaletJapanAnna Fali QUALIFIED
Claire M CaudyBrazilIoni Bowcher NEGOTIATION
Arvin C IturbideArgentinaXuxue Feng RENEWAL
Kaitlin E ShinkoSpainIoni Bowcher PROPOSAL
Smith Z BologniaJapanXuxue Feng PROPOSAL
Jefferson C DoeIndiaAmy Elsner NEGOTIATION
Maria S PaprockiArgentinaAmy Elsner QUALIFIED
Izzy X PaprockiUnited KingdomStephen Shaw RENEWAL
Stacey N SergiItalyAmy Elsner NEGOTIATION
Jeanfrancois I DoeItalyXuxue Feng NEGOTIATION
Sinclair J MaletGermanyAsiya Javayant NEW
Leja K MaletGermanyIoni Bowcher RENEWAL
Faith A MacleadRussiaIoni Bowcher NEW
Silvio U NestleBrazilElwin Sharvill RENEWAL
Rodrigues L SlusarskiBrazilStephen Shaw PROPOSAL
Ricardo P BowleyArgentinaAmy Elsner NEW
Tony P CaudyGermanyXuxue Feng QUALIFIED
Faith R ShinkoBrazilOnyama Limba NEGOTIATION
Sinclair G WaycottIndiaElwin Sharvill PROPOSAL
Jones I FigeroaAustraliaStephen Shaw RENEWAL
Emily B FerenczGermanyAsiya Javayant UNQUALIFIED
Maisha I KolmetzArgentinaAmy Elsner RENEWAL
Smith B WaycottBrazilOnyama Limba RENEWAL
Mujtaba N RutaUnited KingdomOnyama Limba RENEWAL
Adams S BriddickGermanyIoni Bowcher NEW
Maria H MarrierBrazilStephen Shaw NEW
Morrow D WieserUnited KingdomXuxue Feng PROPOSAL
Octavia A GillianJapanAmy Elsner NEGOTIATION
Greenwood O FigeroaItalyXuxue Feng NEW
Tony W MarrierAustraliaXuxue Feng NEGOTIATION
Murillo S SaylorsJapanOnyama Limba NEGOTIATION
Sinclair S SergiUnited KingdomAnna Fali RENEWAL
Leon B StensethRussiaXuxue Feng NEW
Leja N PoquetteFranceBernardo Dominic PROPOSAL
Smith Q ChuiUnited KingdomBernardo Dominic NEGOTIATION
Frozen Columns
Name
Stacey M Slusarski
Arvin H Tollner
Emily X Amigon
Isabel K Gillian
Costa R Kolmetz
Claire Y Paprocki
Izzy R Chui
Isabel B Gaucho
Leon S Darakjy
Kadeem V Wieser
Nicolas Q Stockham
Francesco X Ostrosky
Leon C Glick
Aika K Whobrey
Stacey L Figeroa
Mujtaba V Stenseth
Salvatore I Stenseth
Misaki N Saylors
Silvio U Slusarski
Johnson J Dilliard
Octavia P Venere
Costa N Venere
Jennifer S Slusarski
Mayumi Y Royster
Leja R Nestle
Johnson P Royster
Maria W Inouye
Jones T Kusko
Claire Z Whobrey
Ivar P Wieser
Wickens N Malet
Aika B Sergi
Cody R Gillian
Kaitlin G Darakjy
Jefferson H Foller
Jeanfrancois Z Malet
Maisha L Glick
Wickens N Albares
Emily B Marrier
Francesco T Schemmer
Wickens R Bolognia
Aika A Flosi
Kadeem S Paprocki
Jefferson X Inouye
Antonio L Albares
Misaki J Perin
Alejandro O Kolmetz
Octavia O Ferencz
Ivar K Briddick
Claire B Ferencz
IdCountryDate
1000India2025-04-18
1001Italy2025-04-09
1002Argentina2025-04-09
1003Australia2025-04-27
1004Germany2025-04-11
1005Italy2025-04-20
1006Australia2025-04-08
1007Italy2025-04-16
1008Germany2025-04-08
1009Argentina2025-04-10
1010France2025-04-05
1011Spain2025-04-14
1012Australia2025-04-08
1013Canada2025-04-12
1014Japan2025-04-20
1015Germany2025-04-11
1016India2025-04-28
1017Japan2025-04-27
1018United Kingdom2025-04-30
1019Argentina2025-04-27
1020Germany2025-04-19
1021France2025-04-16
1022Canada2025-04-19
1023Spain2025-04-02
1024United Kingdom2025-04-10
1025Spain2025-04-10
1026Canada2025-04-24
1027Spain2025-04-04
1028Italy2025-04-11
1029France2025-04-20
1030Brazil2025-04-24
1031Spain2025-04-14
1032Russia2025-04-18
1033Japan2025-04-05
1034Japan2025-04-29
1035Brazil2025-04-05
1036Spain2025-04-14
1037Australia2025-04-13
1038Argentina2025-04-27
1039Germany2025-04-22
1040Germany2025-04-17
1041Italy2025-04-30
1042Canada2025-04-12
1043Australia2025-04-23
1044Italy2025-04-21
1045Italy2025-04-24
1046United Kingdom2025-04-24
1047Russia2025-04-26
1048Italy2025-04-01
1049Argentina2025-04-28

On-Demand Data

NameIdCountryDate
Isabel I Sergi1000Russia2025-04-24
Alejandro M Gaucho1001India2025-04-03
Claire S Poquette1002India2025-04-19
Emily Q Butt1003India2025-04-28
Munro H Figeroa1004Argentina2025-04-24
Leon L Ruta1005France2025-04-11
Jefferson O Bowley1006Canada2025-04-14
Rodrigues P Wieser1007Brazil2025-04-21
Clifford Q Maclead1008Italy2025-04-17
Julie D Inouye1009Brazil2025-04-24
Jones A Dilliard1010France2025-04-05
Misaki O Stenseth1011France2025-04-24
Salvatore Z Briddick1012Japan2025-04-02
Maria S Albares1013France2025-04-29
Octavia V Malet1014Russia2025-04-16
Kadeem V Royster1015Australia2025-04-16
Ricardo O Sergi1016United Kingdom2025-04-17
Deepesh A Rulapaugh1017Italy2025-04-12
Murillo A Ferencz1018France2025-04-22
Jefferson P Ostrosky1019Italy2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan Z WaycottJapanAsiya Javayant RENEWAL
Maria V GillianJapanIoni Bowcher UNQUALIFIED
Octavia R CampainSpainXuxue Feng RENEWAL
Tony J RutaItalyElwin Sharvill UNQUALIFIED
Rodrigues M OstroskyJapanElwin Sharvill NEW
Maisha X SergiGermanyBernardo Dominic NEGOTIATION
Darci Y NestleUnited KingdomOnyama Limba RENEWAL
Morrow Z NickaItalyOnyama Limba NEW
Izzy H SlusarskiGermanyIoni Bowcher QUALIFIED
Morrow I PaprockiArgentinaXuxue Feng NEGOTIATION
Isabel E FollerBrazilElwin Sharvill UNQUALIFIED
Nicolas J RulapaughBrazilOnyama Limba UNQUALIFIED
Cody M TollnerArgentinaAmy Elsner NEW
Murillo R GlickItalyAsiya Javayant NEGOTIATION
Juan X KuskoSpainAnna Fali NEGOTIATION
Greenwood C GarufiCanadaIvan Magalhaes NEGOTIATION
Clifford Y SaylorsBrazilAnna Fali RENEWAL
Arvin Q ChuiBrazilAsiya Javayant RENEWAL
Izzy G FollerUnited KingdomAmy Elsner NEGOTIATION
Stacey V NestleArgentinaAnna Fali NEW
Ashley G PerinCanadaElwin Sharvill PROPOSAL
Greenwood X KuskoBrazilStephen Shaw RENEWAL
Aika E MaletBrazilAsiya Javayant NEW
Mayumi U BriddickIndiaIoni Bowcher NEW
Izzy J KolmetzGermanyIoni Bowcher QUALIFIED
Maria U RimArgentinaOnyama Limba RENEWAL
Silvio Y SergiRussiaAmy Elsner QUALIFIED
Ricardo T WieserRussiaAmy Elsner NEGOTIATION
Jones F DoeUnited KingdomBernardo Dominic RENEWAL
Leon O CaudyGermanyOnyama Limba NEW
Tony S SchemmerBrazilAnna Fali NEW
Munro J OstroskyCanadaElwin Sharvill UNQUALIFIED
James K PerinUnited KingdomOnyama Limba PROPOSAL
Johnson S StensethCanadaIvan Magalhaes RENEWAL
Jeanfrancois R CampainGermanyAsiya Javayant NEW
Sinclair U DarakjyUnited KingdomAnna Fali NEW
Tony P RulapaughItalyAnna Fali UNQUALIFIED
Antonio W WhobreyRussiaXuxue Feng NEGOTIATION
Rodrigues Y PaprockiGermanyIoni Bowcher RENEWAL
Sinclair W KolmetzGermanyOnyama 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>