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 M ChuiSpainBernardo Dominic PROPOSAL
Chavez S CaldareraArgentinaStephen Shaw NEW
Maria T MarrierItalyAsiya Javayant NEW
Ivar U OstroskyJapanStephen Shaw QUALIFIED
Mujtaba I PaprockiItalyStephen Shaw NEW
Maisha T CaudyBrazilElwin Sharvill RENEWAL
Antonio L VenereItalyIoni Bowcher NEW
Smith Z PoquetteRussiaAnna Fali PROPOSAL
Francesco P MaletIndiaIoni Bowcher PROPOSAL
Jefferson E ButtCanadaAsiya Javayant RENEWAL
Faith D GillianFranceStephen Shaw NEGOTIATION
Morrow E CaldareraJapanBernardo Dominic PROPOSAL
Silvio P BologniaIndiaAmy Elsner UNQUALIFIED
Jefferson Q RulapaughAustraliaOnyama Limba NEW
Silvio M RutaCanadaXuxue Feng NEW
Kadeem H MaletBrazilAnna Fali RENEWAL
James E VenereItalyXuxue Feng UNQUALIFIED
Kaitlin P IturbideArgentinaXuxue Feng NEGOTIATION
Mujtaba U VocelkaAustraliaOnyama Limba NEW
Mayumi C SaylorsAustraliaXuxue Feng NEGOTIATION
Wickens I RoysterBrazilStephen Shaw QUALIFIED
Misaki X RimAustraliaIvan Magalhaes NEW
Maisha I StockhamFranceIoni Bowcher NEGOTIATION
Octavia U RulapaughFranceStephen Shaw QUALIFIED
Antonio I PaprockiIndiaIvan Magalhaes PROPOSAL
Claire P NestleItalyAsiya Javayant PROPOSAL
Leon O InouyeCanadaOnyama Limba QUALIFIED
Emily R PoquetteJapanAnna Fali UNQUALIFIED
Francesco R OstroskyJapanXuxue Feng PROPOSAL
Munro R FigeroaArgentinaAnna Fali RENEWAL
Chavez W SergiRussiaElwin Sharvill PROPOSAL
Salvatore V CampainCanadaAnna Fali PROPOSAL
Ivar W MacleadSpainAnna Fali PROPOSAL
Darci W ShinkoItalyAsiya Javayant QUALIFIED
Jones X DilliardArgentinaAmy Elsner UNQUALIFIED
Aika C TollnerGermanyElwin Sharvill QUALIFIED
Misaki I MorascaRussiaIoni Bowcher PROPOSAL
Octavia E ButtCanadaStephen Shaw NEW
Greenwood V KuskoAustraliaBernardo Dominic NEGOTIATION
Ricardo Z WieserArgentinaAmy Elsner PROPOSAL
Silvio J IturbideBrazilAmy Elsner UNQUALIFIED
Leja H RulapaughBrazilStephen Shaw UNQUALIFIED
Mayumi O BowleyBrazilIoni Bowcher NEW
Faith I ChuiFranceXuxue Feng NEW
Kaitlin T DilliardFranceIvan Magalhaes QUALIFIED
James U SchemmerUnited KingdomIvan Magalhaes NEW
Isabel P IturbideJapanOnyama Limba RENEWAL
Chavez N BriddickIndiaBernardo Dominic UNQUALIFIED
Morrow P SergiBrazilStephen Shaw UNQUALIFIED
Juan K WaycottItalyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith F SergiArgentinaAnna Fali UNQUALIFIED
Alejandro Y VocelkaAustraliaAmy Elsner NEW
Munro N CaldareraBrazilAsiya Javayant RENEWAL
David G PoquetteSpainIvan Magalhaes UNQUALIFIED
Arvin O PoquetteArgentinaIoni Bowcher PROPOSAL
Alejandro Q NickaJapanIoni Bowcher UNQUALIFIED
Kadeem V BriddickRussiaOnyama Limba QUALIFIED
Arvin E CampainJapanBernardo Dominic RENEWAL
Juan W KuskoAustraliaOnyama Limba PROPOSAL
Rodrigues A WieserFranceBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna N SlusarskiAustralia2025-05-18King, Christopher A Esq NEGOTIATION17Onyama Limba
1001Munro M PaprockiArgentina2025-05-19Chanay, Jeffrey A Esq NEGOTIATION58Anna Fali
1002Francesco B SlusarskiCanada2025-06-14Rousseaux, Michael Esq RENEWAL94Anna Fali
1003Julie N GauchoJapan2025-06-02Chemel, James L Cpa RENEWAL77Xuxue Feng
1004Clifford A PoquetteJapan2025-05-18Printing Dimensions PROPOSAL31Ivan Magalhaes
1005Mayumi O WaycottAustralia2025-06-05Benton, John B Jr UNQUALIFIED4Anna Fali
1006Clifford K FigeroaRussia2025-06-11Chemel, James L Cpa QUALIFIED89Onyama Limba
1007Leja J BologniaAustralia2025-05-22Feltz Printing Service UNQUALIFIED42Amy Elsner
1008Misaki W DoeIndia2025-05-18Printing Dimensions QUALIFIED41Ivan Magalhaes
1009Greenwood Y VenereRussia2025-06-09Rousseaux, Michael Esq NEW66Stephen Shaw
1010David N MorascaArgentina2025-06-10Benton, John B Jr PROPOSAL82Amy Elsner
1011Alejandro O FerenczSpain2025-06-10Morlong Associates RENEWAL54Onyama Limba
1012Mujtaba Y WaycottArgentina2025-06-02Feiner Bros UNQUALIFIED47Amy Elsner
1013Francesco R MarrierIndia2025-05-18Rangoni Of Florence UNQUALIFIED19Asiya Javayant
1014Johnson F MarrierBrazil2025-06-13Feiner Bros NEGOTIATION5Amy Elsner
1015Stacey M GauchoBrazil2025-06-03Commercial Press PROPOSAL67Elwin Sharvill
1016Leja G NickaGermany2025-05-25Buckley Miller Wright QUALIFIED8Amy Elsner
1017Emily W MacleadRussia2025-05-18Chemel, James L Cpa QUALIFIED91Elwin Sharvill
1018Juan J RutaIndia2025-06-12Morlong Associates NEW45Xuxue Feng
1019Antonio H RutaIndia2025-05-30Printing Dimensions UNQUALIFIED22Ivan Magalhaes
1020Ashley Y KolmetzFrance2025-06-16Rousseaux, Michael Esq NEW63Elwin Sharvill
1021Johnson I MarrierRussia2025-06-02Buckley Miller Wright PROPOSAL91Onyama Limba
1022Aika O MaletCanada2025-05-23Benton, John B Jr RENEWAL68Elwin Sharvill
1023Julie X ButtGermany2025-06-12Rangoni Of Florence UNQUALIFIED86Onyama Limba
1024Smith Z BriddickFrance2025-06-16Chanay, Jeffrey A Esq UNQUALIFIED62Asiya Javayant
1025Rodrigues E WieserFrance2025-06-09Commercial Press PROPOSAL89Ivan Magalhaes
1026Jennifer F MaletItaly2025-05-30Feiner Bros PROPOSAL82Ioni Bowcher
1027Silvio F MorascaSpain2025-06-08Rousseaux, Michael Esq RENEWAL9Elwin Sharvill
1028Wickens F PaprockiGermany2025-05-28Chanay, Jeffrey A Esq NEW59Ioni Bowcher
1029Adams G IturbideBrazil2025-06-14Feiner Bros UNQUALIFIED19Elwin Sharvill
1030Isabel N OstroskyArgentina2025-05-21Chanay, Jeffrey A Esq PROPOSAL12Ivan Magalhaes
1031Jeanfrancois K ButtFrance2025-05-18Dorl, James J Esq QUALIFIED13Bernardo Dominic
1032Jeanfrancois O CaudyUnited Kingdom2025-06-16Commercial Press NEGOTIATION41Ioni Bowcher
1033Faith V BriddickCanada2025-06-06Rangoni Of Florence NEW73Anna Fali
1034Maria P WaycottBrazil2025-06-03Commercial Press QUALIFIED59Onyama Limba
1035Ivar Q MaletRussia2025-06-04Chapman, Ross E Esq NEW98Anna Fali
1036Mayumi W KuskoFrance2025-06-06Buckley Miller Wright PROPOSAL33Ioni Bowcher
1037Aditya Z CaudyIndia2025-05-19Rangoni Of Florence NEW23Ioni Bowcher
1038Smith W CaudyGermany2025-05-28Commercial Press QUALIFIED60Amy Elsner
1039Faith U DoeJapan2025-05-18Truhlar And Truhlar Attys NEW48Onyama Limba
1040Nicolas C OldroydCanada2025-05-25Dorl, James J Esq NEGOTIATION58Elwin Sharvill
1041Stacey R SaylorsCanada2025-05-30Feltz Printing Service NEGOTIATION11Ivan Magalhaes
1042Juan D SaylorsGermany2025-06-09Chemel, James L Cpa NEGOTIATION73Bernardo Dominic
1043Wickens A KolmetzIndia2025-06-11Benton, John B Jr UNQUALIFIED46Asiya Javayant
1044Costa N RimBrazil2025-06-01King, Christopher A Esq RENEWAL75Asiya Javayant
1045Sinclair K WieserSpain2025-05-23Rousseaux, Michael Esq PROPOSAL71Asiya Javayant
1046Morrow P WieserBrazil2025-05-24Chapman, Ross E Esq RENEWAL78Elwin Sharvill
1047Mujtaba D StensethUnited Kingdom2025-06-06Chanay, Jeffrey A Esq QUALIFIED57Xuxue Feng
1048Isabel A GlickBrazil2025-06-14Chanay, Jeffrey A Esq NEGOTIATION90Onyama Limba
1049Leon F IturbideFrance2025-06-05Morlong Associates UNQUALIFIED92Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jennifer H AmigonCanadaElwin Sharvill RENEWAL
Juan G ShinkoItalyBernardo Dominic NEW
Jefferson I RulapaughJapanAnna Fali NEW
Morrow U RulapaughIndiaXuxue Feng NEW
Silvio I SlusarskiArgentinaAnna Fali RENEWAL
Chavez Y PaprockiItalyStephen Shaw UNQUALIFIED
Greenwood D DoeJapanElwin Sharvill UNQUALIFIED
Leon U NestleAustraliaElwin Sharvill PROPOSAL
Kadeem D FlosiCanadaAnna Fali PROPOSAL
Kaitlin Z ChuiJapanElwin Sharvill UNQUALIFIED
Costa B GlickItalyAnna Fali RENEWAL
Isabel Y CaudyCanadaXuxue Feng UNQUALIFIED
Leon Z CampainIndiaElwin Sharvill QUALIFIED
Darci O SlusarskiArgentinaIvan Magalhaes PROPOSAL
Maisha D SlusarskiGermanyIoni Bowcher QUALIFIED
Claire X WhobreyItalyAnna Fali RENEWAL
Jennifer E TollnerGermanyXuxue Feng QUALIFIED
Ivar K MorascaAustraliaAmy Elsner RENEWAL
Silvio P SlusarskiSpainBernardo Dominic QUALIFIED
Jeanfrancois M BologniaArgentinaXuxue Feng RENEWAL
Izzy V RimJapanIoni Bowcher UNQUALIFIED
Maria L SlusarskiGermanyElwin Sharvill PROPOSAL
Maisha L RulapaughCanadaElwin Sharvill NEW
Arvin W PoquetteAustraliaAnna Fali NEW
Stacey G InouyeBrazilStephen Shaw NEGOTIATION
Morrow Z BowleyItalyIvan Magalhaes UNQUALIFIED
Antonio A AlbaresItalyElwin Sharvill UNQUALIFIED
Costa T ChuiCanadaAmy Elsner NEGOTIATION
David U BologniaIndiaElwin Sharvill UNQUALIFIED
Greenwood G CaudyArgentinaStephen Shaw NEW
Leja Q SlusarskiIndiaAmy Elsner NEW
Costa Z ChuiSpainAsiya Javayant NEGOTIATION
Faith Q SaylorsCanadaStephen Shaw NEGOTIATION
Jefferson E CaldareraSpainIvan Magalhaes NEW
Jennifer I NickaFranceIoni Bowcher PROPOSAL
Salvatore G GauchoAustraliaBernardo Dominic PROPOSAL
Isabel L KuskoJapanOnyama Limba NEGOTIATION
Nicolas A PerinBrazilIoni Bowcher PROPOSAL
Isabel T SlusarskiIndiaXuxue Feng NEW
Jefferson R CaudySpainAmy Elsner NEW
Johnson Y GarufiJapanXuxue Feng QUALIFIED
Silvio M PaprockiGermanyIoni Bowcher RENEWAL
Silvio F RimIndiaElwin Sharvill RENEWAL
David R CampainItalyStephen Shaw UNQUALIFIED
Jennifer R ChuiCanadaAmy Elsner NEW
Nicolas D DilliardBrazilStephen Shaw UNQUALIFIED
Darci I InouyeFranceXuxue Feng PROPOSAL
Morrow Y BologniaItalyBernardo Dominic PROPOSAL
Wickens U FerenczUnited KingdomStephen Shaw RENEWAL
Isabel L FerenczJapanStephen Shaw RENEWAL
Frozen Columns
Name
Aika R Venere
Claire S Bolognia
Arvin Z Campain
Juan P Marrier
Kaitlin H Campain
Salvatore K Ruta
Antonio M Flosi
Aruna J Bolognia
Munro Y Perin
Costa H Saylors
Salvatore D Kusko
Isabel K Ferencz
Emily T Stockham
Claire R Sergi
Alejandro Y Flosi
Smith O Inouye
Darci V Campain
Claire J Caldarera
Kadeem P Waycott
Tony U Garufi
Octavia P Rim
Nicolas Q Marrier
Kaitlin M Stenseth
Costa H Inouye
Tony D Bolognia
David I Ostrosky
Johnson J Oldroyd
Isabel E Malet
Kadeem H Maclead
Leon R Garufi
Darci J Gaucho
Jefferson X Glick
Emily F Waycott
Morrow Z Caldarera
Claire A Ostrosky
Nicolas L Inouye
James T Darakjy
Cody T Gillian
Sinclair F Poquette
Rodrigues O Vocelka
Morrow N Poquette
Costa Y Flosi
Costa Z Dilliard
Jones D Butt
Kadeem Z Tollner
Ivar V Poquette
Morrow U Dilliard
Maria D Bolognia
Arvin C Gillian
Octavia E Caldarera
IdCountryDate
1000Italy2025-06-05
1001United Kingdom2025-05-29
1002Spain2025-05-25
1003India2025-06-14
1004France2025-05-21
1005Spain2025-06-09
1006Canada2025-05-25
1007Brazil2025-06-08
1008Australia2025-05-30
1009Brazil2025-06-10
1010India2025-05-30
1011Germany2025-06-13
1012Japan2025-05-26
1013Japan2025-05-31
1014Brazil2025-05-31
1015United Kingdom2025-05-21
1016Italy2025-05-31
1017Australia2025-05-18
1018Australia2025-06-10
1019Russia2025-05-18
1020Canada2025-05-27
1021Brazil2025-05-23
1022India2025-06-12
1023India2025-05-19
1024Germany2025-06-03
1025Brazil2025-06-03
1026Argentina2025-06-05
1027Brazil2025-06-08
1028India2025-06-12
1029Russia2025-06-10
1030Canada2025-05-23
1031Russia2025-06-03
1032Australia2025-05-31
1033Germany2025-06-06
1034Italy2025-06-05
1035Argentina2025-06-09
1036France2025-06-13
1037Argentina2025-06-05
1038Canada2025-05-21
1039India2025-06-11
1040India2025-06-02
1041Argentina2025-06-13
1042Spain2025-06-08
1043United Kingdom2025-06-09
1044Canada2025-06-02
1045Japan2025-05-19
1046India2025-06-12
1047Italy2025-06-03
1048India2025-06-04
1049India2025-05-26

On-Demand Data

NameIdCountryDate
Nicolas Y Foller1000Brazil2025-06-06
David Z Perin1001France2025-05-21
Antonio Z Malet1002India2025-05-22
Salvatore F Paprocki1003Italy2025-05-27
Leon P Paprocki1004India2025-06-06
James P Sergi1005India2025-06-07
Julie K Inouye1006Russia2025-05-25
Jeanfrancois M Ruta1007Italy2025-05-25
Jeanfrancois L Darakjy1008Canada2025-05-22
Aika C Malet1009Russia2025-05-31
Jefferson P Perin1010Argentina2025-06-12
Chavez M Malet1011United Kingdom2025-06-14
James H Malet1012Germany2025-06-10
Munro N Poquette1013India2025-06-14
Murillo U Doe1014Italy2025-06-15
Ashley O Shinko1015Australia2025-06-14
Izzy I Gillian1016India2025-05-27
Munro J Ruta1017Spain2025-06-14
Stacey H Bolognia1018Australia2025-05-22
Greenwood A Caldarera1019Australia2025-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon E ShinkoGermanyXuxue Feng NEGOTIATION
Mujtaba R FollerJapanAnna Fali QUALIFIED
Antonio I KolmetzUnited KingdomAsiya Javayant QUALIFIED
Salvatore I ButtFranceAnna Fali NEGOTIATION
Maisha V CaudyAustraliaElwin Sharvill NEW
Jennifer H StockhamGermanyIvan Magalhaes QUALIFIED
Jeanfrancois W RulapaughSpainXuxue Feng NEGOTIATION
Sinclair X SlusarskiIndiaBernardo Dominic NEW
Jennifer Q WieserFranceBernardo Dominic PROPOSAL
Smith M BriddickFranceAmy Elsner RENEWAL
Clifford M AlbaresItalyIvan Magalhaes NEW
Alejandro J OldroydBrazilElwin Sharvill NEGOTIATION
Johnson W GarufiCanadaAmy Elsner RENEWAL
Sinclair P ShinkoRussiaXuxue Feng QUALIFIED
Murillo G OldroydBrazilElwin Sharvill NEGOTIATION
Sinclair J BriddickCanadaAnna Fali NEGOTIATION
Claire R PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Leja B SaylorsAustraliaOnyama Limba NEW
Jennifer B GauchoUnited KingdomElwin Sharvill NEGOTIATION
Silvio D SlusarskiAustraliaBernardo Dominic RENEWAL
Morrow K NickaItalyElwin Sharvill RENEWAL
Maisha B WaycottFranceAsiya Javayant UNQUALIFIED
Alejandro E TollnerUnited KingdomBernardo Dominic PROPOSAL
Salvatore D CaldareraItalyIoni Bowcher PROPOSAL
Stacey I FollerRussiaOnyama Limba QUALIFIED
Rodrigues R VenereCanadaBernardo Dominic UNQUALIFIED
Misaki G MaletAustraliaAnna Fali QUALIFIED
Ivar X BowleyFranceAmy Elsner QUALIFIED
Adams Q KolmetzIndiaAnna Fali QUALIFIED
Antonio T RimFranceAsiya Javayant RENEWAL
Jefferson R OstroskyArgentinaElwin Sharvill NEGOTIATION
Izzy I OstroskySpainXuxue Feng NEGOTIATION
Nicolas I SchemmerJapanAnna Fali NEGOTIATION
Tony P NickaBrazilStephen Shaw QUALIFIED
Rodrigues V WieserAustraliaIoni Bowcher NEW
Leon L IturbideGermanyIoni Bowcher NEGOTIATION
Ivar I GauchoUnited KingdomAnna Fali NEGOTIATION
Kadeem D FerenczCanadaAmy Elsner PROPOSAL
Smith R GlickIndiaXuxue Feng QUALIFIED
Kadeem N GlickUnited KingdomAnna Fali PROPOSAL

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