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
Jefferson S AmigonGermanyAmy Elsner UNQUALIFIED
Juan F ShinkoSpainOnyama Limba UNQUALIFIED
Silvio N AlbaresAustraliaAsiya Javayant NEW
Alejandro B StensethArgentinaElwin Sharvill NEW
Smith Y MaletJapanXuxue Feng PROPOSAL
Cody S CampainFranceIoni Bowcher NEGOTIATION
Jennifer A IturbideArgentinaIvan Magalhaes NEGOTIATION
Julie R MorascaCanadaIoni Bowcher PROPOSAL
James J DarakjyArgentinaXuxue Feng UNQUALIFIED
Morrow F RoysterAustraliaIvan Magalhaes UNQUALIFIED
Maria H IturbideBrazilOnyama Limba NEGOTIATION
Salvatore Q KuskoFranceElwin Sharvill UNQUALIFIED
Chavez N MarrierSpainElwin Sharvill QUALIFIED
Adams E PaprockiGermanyIoni Bowcher NEW
Deepesh E RutaCanadaXuxue Feng NEW
Wickens W MorascaAustraliaIoni Bowcher NEW
Jeanfrancois Y WieserRussiaElwin Sharvill UNQUALIFIED
Salvatore Y VocelkaBrazilStephen Shaw UNQUALIFIED
Arvin R FigeroaIndiaStephen Shaw NEW
Costa S RulapaughBrazilAmy Elsner NEGOTIATION
Aditya N MacleadArgentinaStephen Shaw RENEWAL
Jones C SchemmerSpainXuxue Feng PROPOSAL
James V StockhamFranceAnna Fali NEW
Juan R NestleCanadaIoni Bowcher QUALIFIED
Aditya W ChuiUnited KingdomStephen Shaw NEGOTIATION
Clifford N WieserUnited KingdomIvan Magalhaes RENEWAL
Kaitlin N FerenczItalyStephen Shaw NEGOTIATION
Costa J FigeroaItalyBernardo Dominic QUALIFIED
Salvatore B SaylorsUnited KingdomBernardo Dominic NEW
Johnson T DilliardCanadaStephen Shaw NEW
Johnson H WieserSpainAmy Elsner UNQUALIFIED
Jones E IturbideBrazilAsiya Javayant PROPOSAL
James V SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Jones R GillianFranceIoni Bowcher NEGOTIATION
Stacey Z CampainItalyOnyama Limba QUALIFIED
James C InouyeBrazilAmy Elsner PROPOSAL
Isabel S PerinCanadaAsiya Javayant PROPOSAL
Aditya E WaycottAustraliaIoni Bowcher UNQUALIFIED
Ivar N FollerBrazilAnna Fali QUALIFIED
Arvin X DilliardRussiaAnna Fali RENEWAL
Morrow B NickaJapanIoni Bowcher PROPOSAL
Antonio K BowleyIndiaAsiya Javayant NEGOTIATION
Chavez O VocelkaGermanyAnna Fali RENEWAL
Clifford Y InouyeAustraliaAsiya Javayant QUALIFIED
Deepesh T MaletSpainIvan Magalhaes UNQUALIFIED
Claire U SaylorsFranceIoni Bowcher NEW
Nicolas F MorascaArgentinaAsiya Javayant RENEWAL
Francesco C GarufiIndiaIoni Bowcher RENEWAL
Darci U StensethGermanyElwin Sharvill PROPOSAL
Julie D ShinkoArgentinaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh O MaletJapanElwin Sharvill NEGOTIATION
Rodrigues H CaldareraJapanOnyama Limba QUALIFIED
Adams U VenereBrazilAsiya Javayant UNQUALIFIED
Smith C SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Mayumi U GauchoIndiaAnna Fali RENEWAL
Mujtaba T FerenczSpainIoni Bowcher NEGOTIATION
Maria T ShinkoIndiaAmy Elsner NEW
Adams Q RulapaughAustraliaBernardo Dominic UNQUALIFIED
Mayumi E StockhamArgentinaAnna Fali NEW
Greenwood F BriddickGermanyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams A PerinAustralia2024-06-08Dorl, James J Esq QUALIFIED99Ioni Bowcher
1001Stacey V CaudySpain2024-05-25Benton, John B Jr NEGOTIATION5Anna Fali
1002Salvatore C FigeroaAustralia2024-06-03Dorl, James J Esq NEGOTIATION64Ioni Bowcher
1003Mayumi M ButtAustralia2024-06-13Rousseaux, Michael Esq QUALIFIED60Bernardo Dominic
1004Isabel Z OstroskyRussia2024-06-22Rangoni Of Florence NEW83Xuxue Feng
1005Antonio Y PaprockiCanada2024-06-03Dorl, James J Esq UNQUALIFIED0Ioni Bowcher
1006Francesco I CaldareraIndia2024-06-05Benton, John B Jr UNQUALIFIED16Onyama Limba
1007Sinclair J FollerBrazil2024-06-19Printing Dimensions RENEWAL80Onyama Limba
1008Leja R BowleyIndia2024-06-06Chanay, Jeffrey A Esq NEGOTIATION70Bernardo Dominic
1009Munro M ChuiGermany2024-06-08Benton, John B Jr QUALIFIED62Elwin Sharvill
1010Sinclair D ChuiGermany2024-05-25Feltz Printing Service UNQUALIFIED97Ioni Bowcher
1011Greenwood C CaudyCanada2024-06-03Rangoni Of Florence QUALIFIED26Amy Elsner
1012Aika A CampainBrazil2024-06-21Rangoni Of Florence NEW84Amy Elsner
1013Tony O FerenczSpain2024-05-28Printing Dimensions QUALIFIED94Onyama Limba
1014Juan X CaldareraUnited Kingdom2024-06-22Chemel, James L Cpa UNQUALIFIED93Anna Fali
1015Jefferson B GauchoBrazil2024-06-01Dorl, James J Esq NEW46Asiya Javayant
1016Smith T GarufiAustralia2024-06-16Commercial Press RENEWAL31Asiya Javayant
1017Leja N DilliardJapan2024-05-26Feiner Bros NEW58Elwin Sharvill
1018Nicolas W RimJapan2024-06-12Truhlar And Truhlar Attys NEGOTIATION35Elwin Sharvill
1019Jennifer U FollerFrance2024-06-23King, Christopher A Esq NEGOTIATION86Elwin Sharvill
1020Faith L ButtCanada2024-06-18Rangoni Of Florence NEGOTIATION32Amy Elsner
1021Mujtaba E SaylorsUnited Kingdom2024-05-27Commercial Press PROPOSAL51Anna Fali
1022Smith K SlusarskiArgentina2024-06-14Dorl, James J Esq QUALIFIED86Amy Elsner
1023Kadeem Y MorascaAustralia2024-06-05Printing Dimensions QUALIFIED55Elwin Sharvill
1024Isabel G KuskoFrance2024-06-23Chanay, Jeffrey A Esq RENEWAL93Amy Elsner
1025Isabel Z CaudyBrazil2024-06-18Commercial Press RENEWAL32Amy Elsner
1026Misaki E IturbideAustralia2024-06-03Printing Dimensions NEW9Ivan Magalhaes
1027Juan W RutaAustralia2024-06-09Rangoni Of Florence NEGOTIATION62Asiya Javayant
1028David A DilliardRussia2024-05-26Dorl, James J Esq UNQUALIFIED70Bernardo Dominic
1029Jefferson N NestleUnited Kingdom2024-06-13Printing Dimensions RENEWAL71Asiya Javayant
1030James M CampainArgentina2024-06-17Printing Dimensions QUALIFIED35Anna Fali
1031Salvatore M AlbaresSpain2024-06-05Dorl, James J Esq PROPOSAL68Ivan Magalhaes
1032Salvatore X BowleyUnited Kingdom2024-06-08Chemel, James L Cpa NEGOTIATION97Xuxue Feng
1033Costa H FerenczAustralia2024-05-28Commercial Press RENEWAL7Onyama Limba
1034Aika U IturbideCanada2024-06-03Chapman, Ross E Esq NEW37Xuxue Feng
1035Morrow I WieserUnited Kingdom2024-06-08Chanay, Jeffrey A Esq NEGOTIATION31Elwin Sharvill
1036Leja K GillianArgentina2024-06-09Rousseaux, Michael Esq RENEWAL15Anna Fali
1037Nicolas A GauchoArgentina2024-06-07Rousseaux, Michael Esq NEW39Bernardo Dominic
1038Octavia Z OldroydUnited Kingdom2024-06-22Feltz Printing Service NEGOTIATION75Bernardo Dominic
1039Jennifer R KuskoCanada2024-06-08Benton, John B Jr RENEWAL30Elwin Sharvill
1040James J DoeFrance2024-06-07Benton, John B Jr UNQUALIFIED50Amy Elsner
1041Rodrigues D CaldareraBrazil2024-06-05Morlong Associates UNQUALIFIED61Elwin Sharvill
1042Deepesh A OldroydCanada2024-06-07King, Christopher A Esq NEW26Elwin Sharvill
1043Morrow U StockhamArgentina2024-06-17Rangoni Of Florence NEGOTIATION33Onyama Limba
1044Stacey C CampainBrazil2024-06-06Buckley Miller Wright RENEWAL91Xuxue Feng
1045Stacey S GauchoArgentina2024-06-09Benton, John B Jr QUALIFIED74Asiya Javayant
1046Sinclair O CampainUnited Kingdom2024-06-09Morlong Associates PROPOSAL32Amy Elsner
1047Maisha D IturbideIndia2024-06-02Morlong Associates NEW60Stephen Shaw
1048Leja G OldroydCanada2024-05-29Rousseaux, Michael Esq UNQUALIFIED16Xuxue Feng
1049Maisha E DarakjyBrazil2024-06-17Buckley Miller Wright PROPOSAL92Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maisha Z WaycottRussiaIoni Bowcher NEGOTIATION
Smith E FerenczFranceAnna Fali QUALIFIED
Juan U DoeCanadaAnna Fali NEW
Francesco J GarufiIndiaAmy Elsner RENEWAL
Mujtaba Q SlusarskiGermanyIoni Bowcher NEGOTIATION
Aika H InouyeJapanOnyama Limba RENEWAL
Kadeem S CaudyRussiaElwin Sharvill RENEWAL
Juan E SergiUnited KingdomElwin Sharvill PROPOSAL
Francesco H MacleadJapanIoni Bowcher NEW
Maisha U MaletUnited KingdomIoni Bowcher UNQUALIFIED
Emily M AmigonJapanAsiya Javayant RENEWAL
Mayumi S FerenczAustraliaIoni Bowcher UNQUALIFIED
Arvin M AmigonUnited KingdomAsiya Javayant NEW
James W WhobreyItalyOnyama Limba NEW
Stacey Y NestleUnited KingdomIoni Bowcher QUALIFIED
Chavez R AmigonSpainAmy Elsner NEGOTIATION
Mujtaba E WhobreyUnited KingdomIoni Bowcher NEW
Chavez Z DilliardIndiaElwin Sharvill NEW
Clifford C PerinSpainOnyama Limba QUALIFIED
Kaitlin C MorascaUnited KingdomStephen Shaw QUALIFIED
Deepesh S PoquetteIndiaOnyama Limba QUALIFIED
Faith Q KolmetzIndiaAmy Elsner QUALIFIED
Rodrigues G KuskoArgentinaOnyama Limba RENEWAL
Faith W IturbideFranceBernardo Dominic RENEWAL
Kaitlin Z MaletSpainIvan Magalhaes RENEWAL
Stacey B ShinkoJapanXuxue Feng NEW
Clifford D BowleyArgentinaAmy Elsner UNQUALIFIED
Jennifer Z PoquetteFranceAnna Fali UNQUALIFIED
Morrow I RulapaughUnited KingdomXuxue Feng QUALIFIED
Aruna W SchemmerIndiaAsiya Javayant QUALIFIED
Octavia I SlusarskiAustraliaIoni Bowcher NEW
Jeanfrancois J WhobreyFranceAnna Fali PROPOSAL
Kadeem Y RutaRussiaStephen Shaw NEW
Ricardo L RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Adams Z FerenczItalyOnyama Limba PROPOSAL
Nicolas X MaletItalyOnyama Limba NEW
Jefferson Q SlusarskiGermanyAmy Elsner NEW
Mujtaba H ChuiRussiaStephen Shaw NEW
Costa Q OstroskyBrazilElwin Sharvill RENEWAL
Julie K FollerRussiaBernardo Dominic RENEWAL
Johnson S DarakjyBrazilIvan Magalhaes PROPOSAL
Darci M WhobreyArgentinaElwin Sharvill UNQUALIFIED
Costa S SchemmerRussiaIoni Bowcher QUALIFIED
Jennifer Y ButtRussiaOnyama Limba RENEWAL
Ivar C CaudyCanadaStephen Shaw NEW
Aruna K ButtBrazilStephen Shaw NEW
Morrow D StockhamItalyXuxue Feng NEW
Isabel Y RutaUnited KingdomBernardo Dominic QUALIFIED
Maria H SaylorsAustraliaAmy Elsner RENEWAL
Jeanfrancois C GarufiJapanAmy Elsner UNQUALIFIED
Frozen Columns
Name
Aditya Z Caudy
James G Malet
Murillo Y Sergi
Alejandro B Malet
Wickens X Malet
Izzy F Malet
Julie R Dilliard
Sinclair C Bowley
Julie K Nestle
Deepesh J Foller
Leon M Nicka
Jennifer V Nicka
Kadeem E Rim
Mujtaba G Stenseth
Jones A Rim
Wickens D Amigon
Faith W Bolognia
Sinclair V Doe
Aika L Doe
Cody U Kusko
Silvio V Dilliard
Emily B Chui
Jeanfrancois K Waycott
Izzy V Poquette
Faith J Amigon
Murillo C Bolognia
Cody E Ferencz
Alejandro R Stockham
Ashley C Kusko
Francesco K Figeroa
Adams O Caldarera
Emily J Venere
Ashley G Foller
David V Caldarera
Silvio Y Rim
Sinclair J Gaucho
Jeanfrancois K Amigon
Emily K Malet
Maisha P Schemmer
Arvin U Briddick
Misaki V Slusarski
Greenwood P Marrier
Jefferson K Butt
Misaki A Foller
Darci B Garufi
Stacey J Gaucho
Wickens H Chui
Ivar B Inouye
Maisha A Schemmer
Nicolas B Gillian
IdCountryDate
1000Germany2024-06-03
1001United Kingdom2024-06-15
1002Russia2024-06-10
1003Canada2024-06-03
1004Canada2024-06-15
1005United Kingdom2024-06-13
1006Brazil2024-05-25
1007Russia2024-06-09
1008Italy2024-06-01
1009Canada2024-06-17
1010Italy2024-06-01
1011France2024-06-05
1012Germany2024-06-08
1013Argentina2024-06-04
1014Japan2024-06-23
1015France2024-06-20
1016Russia2024-06-05
1017United Kingdom2024-06-01
1018Russia2024-06-21
1019United Kingdom2024-06-20
1020India2024-06-19
1021Spain2024-06-18
1022India2024-06-21
1023Brazil2024-05-25
1024Japan2024-05-29
1025Brazil2024-06-20
1026Australia2024-06-15
1027Argentina2024-06-12
1028United Kingdom2024-05-28
1029Germany2024-05-30
1030Russia2024-06-19
1031Germany2024-06-18
1032Brazil2024-06-20
1033Germany2024-06-05
1034Brazil2024-06-17
1035Argentina2024-05-30
1036Argentina2024-05-27
1037Argentina2024-06-20
1038Japan2024-06-22
1039India2024-05-31
1040Spain2024-06-17
1041Russia2024-06-04
1042Italy2024-06-18
1043Canada2024-06-01
1044Argentina2024-05-25
1045Brazil2024-06-09
1046Italy2024-06-04
1047France2024-05-27
1048Japan2024-06-16
1049Italy2024-05-30

On-Demand Data

NameIdCountryDate
Jones N Darakjy1000France2024-06-08
Rodrigues L Albares1001Argentina2024-05-28
Aditya S Stockham1002Germany2024-05-31
Emily F Butt1003Japan2024-06-05
Jones Y Garufi1004France2024-06-19
Francesco E Perin1005Russia2024-06-03
Greenwood P Nicka1006Argentina2024-06-05
Costa C Flosi1007Spain2024-06-20
Jefferson J Saylors1008Italy2024-06-22
Isabel C Doe1009Germany2024-06-22
Costa H Dilliard1010Australia2024-06-14
Aika I Malet1011Italy2024-06-17
Izzy K Nicka1012Italy2024-06-21
Jennifer J Malet1013Brazil2024-06-10
Leja H Darakjy1014Spain2024-06-02
Tony T Maclead1015Spain2024-05-30
Jones U Wieser1016Argentina2024-06-18
Cody I Stockham1017United Kingdom2024-05-26
Darci T Schemmer1018France2024-05-29
Ashley W Malet1019Russia2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio F OldroydUnited KingdomOnyama Limba QUALIFIED
Sinclair O BowleyBrazilElwin Sharvill QUALIFIED
Morrow B ChuiSpainAsiya Javayant QUALIFIED
Leon O FlosiSpainXuxue Feng PROPOSAL
Ricardo W GarufiArgentinaAsiya Javayant RENEWAL
Jeanfrancois Z RoysterJapanIvan Magalhaes RENEWAL
Aditya Z AmigonFranceXuxue Feng NEW
Stacey B MorascaJapanXuxue Feng QUALIFIED
Johnson O StockhamArgentinaIvan Magalhaes RENEWAL
Smith T NickaJapanElwin Sharvill NEGOTIATION
Francesco K RimJapanElwin Sharvill RENEWAL
Rodrigues M MaletItalyAnna Fali RENEWAL
James B IturbideGermanyAsiya Javayant UNQUALIFIED
Leja R NestleJapanAmy Elsner NEW
Munro A DoeFranceAnna Fali NEW
Smith L OstroskyRussiaAnna Fali RENEWAL
James R DilliardFranceIoni Bowcher NEGOTIATION
Juan R PoquetteBrazilAnna Fali UNQUALIFIED
Ashley G BowleyJapanAsiya Javayant NEGOTIATION
Salvatore X RimUnited KingdomBernardo Dominic UNQUALIFIED
Smith H SlusarskiArgentinaIoni Bowcher NEW
Aditya X PaprockiFranceBernardo Dominic NEGOTIATION
Salvatore X GillianAustraliaIoni Bowcher UNQUALIFIED
Jennifer F TollnerRussiaOnyama Limba NEW
Greenwood F GarufiSpainOnyama Limba UNQUALIFIED
Johnson Y SaylorsJapanIoni Bowcher NEGOTIATION
David X DarakjyBrazilIvan Magalhaes QUALIFIED
Smith B CampainRussiaIvan Magalhaes NEW
Maisha R MaletJapanAmy Elsner RENEWAL
Cody A GlickBrazilIoni Bowcher PROPOSAL
Juan W WieserSpainBernardo Dominic NEGOTIATION
Wickens T SlusarskiIndiaXuxue Feng NEGOTIATION
Adams U StensethRussiaXuxue Feng QUALIFIED
Jefferson P BologniaCanadaAmy Elsner NEW
Darci T KolmetzFranceElwin Sharvill QUALIFIED
Emily W SergiUnited KingdomAsiya Javayant NEGOTIATION
Aika L VocelkaJapanAnna Fali PROPOSAL
James J AmigonJapanElwin Sharvill NEW
Greenwood V WhobreyGermanyBernardo Dominic NEW
Munro H DoeGermanyXuxue Feng RENEWAL

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