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
Faith A GauchoAustraliaElwin Sharvill QUALIFIED
Tony S GlickIndiaAmy Elsner NEGOTIATION
Antonio O DilliardIndiaBernardo Dominic PROPOSAL
Ivar L FollerFranceBernardo Dominic NEW
Kaitlin Q SaylorsIndiaStephen Shaw UNQUALIFIED
Antonio I MarrierArgentinaStephen Shaw NEW
Alejandro L FlosiSpainBernardo Dominic PROPOSAL
Smith O GillianJapanXuxue Feng NEW
Octavia E MaletBrazilBernardo Dominic QUALIFIED
Munro Y PaprockiItalyAnna Fali UNQUALIFIED
David V SchemmerArgentinaOnyama Limba RENEWAL
Maria V SergiFranceStephen Shaw NEGOTIATION
Jeanfrancois Q SaylorsCanadaBernardo Dominic NEGOTIATION
Julie I SergiCanadaIoni Bowcher UNQUALIFIED
Kaitlin D KuskoRussiaAmy Elsner PROPOSAL
Nicolas J WieserItalyAsiya Javayant NEW
Leon L IturbideAustraliaAnna Fali NEW
Munro P PoquetteAustraliaAnna Fali PROPOSAL
Ivar U PerinIndiaBernardo Dominic NEGOTIATION
Aditya M DoeIndiaIoni Bowcher RENEWAL
Ashley J TollnerItalyAsiya Javayant PROPOSAL
Aika Z TollnerArgentinaElwin Sharvill UNQUALIFIED
Mujtaba I WaycottSpainOnyama Limba UNQUALIFIED
Jennifer B VenereFranceAsiya Javayant RENEWAL
Juan B CampainSpainAnna Fali NEGOTIATION
Wickens O PaprockiGermanyElwin Sharvill QUALIFIED
Juan J RutaCanadaElwin Sharvill NEGOTIATION
Ashley M GillianGermanyAnna Fali RENEWAL
James W CaudyUnited KingdomStephen Shaw RENEWAL
Greenwood C OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Darci V PerinFranceAsiya Javayant RENEWAL
Johnson R NestleJapanIoni Bowcher PROPOSAL
Cody S MorascaRussiaXuxue Feng NEW
Stacey O KuskoJapanAmy Elsner RENEWAL
Maisha D IturbideRussiaIoni Bowcher UNQUALIFIED
Nicolas V MacleadUnited KingdomOnyama Limba RENEWAL
Mujtaba E MaletItalyBernardo Dominic UNQUALIFIED
Aditya H StensethIndiaAmy Elsner UNQUALIFIED
Wickens N AlbaresFranceElwin Sharvill RENEWAL
Nicolas C GauchoArgentinaElwin Sharvill RENEWAL
Alejandro M GillianCanadaIvan Magalhaes QUALIFIED
Johnson E CaldareraBrazilAnna Fali NEW
Jefferson V KolmetzArgentinaOnyama Limba PROPOSAL
Darci E RutaIndiaAnna Fali UNQUALIFIED
Rodrigues L BologniaAustraliaIoni Bowcher RENEWAL
Misaki W StockhamBrazilElwin Sharvill NEW
Faith B DoeArgentinaOnyama Limba QUALIFIED
Maria J RoysterFranceAnna Fali QUALIFIED
Emily Z VenereFranceIoni Bowcher NEW
Aika S SchemmerIndiaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Julie L IturbideRussiaXuxue Feng RENEWAL
Faith J CaudyGermanyAsiya Javayant RENEWAL
Ivar W StensethArgentinaOnyama Limba NEW
Munro M MacleadSpainAnna Fali NEGOTIATION
Tony J CampainItalyAsiya Javayant RENEWAL
Ricardo Y IturbideRussiaStephen Shaw PROPOSAL
Deepesh T GauchoItalyAsiya Javayant NEW
Adams F MaletRussiaXuxue Feng RENEWAL
Sinclair R FollerSpainXuxue Feng RENEWAL
Ashley A RulapaughUnited KingdomXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya R FerenczUnited Kingdom2026-07-10Truhlar And Truhlar Attys RENEWAL77Anna Fali
1001Deepesh M DoeItaly2026-07-29Commercial Press QUALIFIED37Anna Fali
1002Jefferson L BologniaGermany2026-07-03Chemel, James L Cpa RENEWAL86Ivan Magalhaes
1003Arvin D RulapaughUnited Kingdom2026-07-22Printing Dimensions UNQUALIFIED3Ioni Bowcher
1004Julie A CaldareraUnited Kingdom2026-07-14Feiner Bros NEW46Onyama Limba
1005Rodrigues Y DilliardIndia2026-07-16Feltz Printing Service UNQUALIFIED50Onyama Limba
1006Juan K FigeroaCanada2026-07-16Buckley Miller Wright NEW88Xuxue Feng
1007Smith Q RoysterSpain2026-07-22Chanay, Jeffrey A Esq QUALIFIED99Bernardo Dominic
1008Aditya K OldroydItaly2026-07-23Benton, John B Jr NEGOTIATION3Xuxue Feng
1009Cody L RulapaughCanada2026-07-26Feltz Printing Service UNQUALIFIED61Onyama Limba
1010Clifford W BowleySpain2026-07-16Rousseaux, Michael Esq PROPOSAL62Bernardo Dominic
1011Johnson P GillianGermany2026-07-30King, Christopher A Esq PROPOSAL75Ioni Bowcher
1012Costa Y OstroskyCanada2026-07-18King, Christopher A Esq NEGOTIATION29Elwin Sharvill
1013Sinclair F PoquetteAustralia2026-07-29Rousseaux, Michael Esq RENEWAL1Asiya Javayant
1014Izzy F VocelkaAustralia2026-07-02Dorl, James J Esq QUALIFIED93Anna Fali
1015Deepesh Z FerenczUnited Kingdom2026-07-03Chemel, James L Cpa PROPOSAL68Ivan Magalhaes
1016James Q OldroydBrazil2026-07-17Feltz Printing Service NEW35Amy Elsner
1017Julie F BologniaGermany2026-07-10Benton, John B Jr NEW29Amy Elsner
1018Murillo R SaylorsSpain2026-07-23Feiner Bros RENEWAL31Asiya Javayant
1019Jones M FollerJapan2026-07-28Feltz Printing Service NEGOTIATION0Onyama Limba
1020Jefferson D RulapaughCanada2026-07-29Printing Dimensions PROPOSAL69Ioni Bowcher
1021Jones U DoeRussia2026-07-23Printing Dimensions RENEWAL30Ivan Magalhaes
1022Munro G FlosiArgentina2026-07-28Rousseaux, Michael Esq QUALIFIED91Xuxue Feng
1023Mujtaba C GlickUnited Kingdom2026-07-09Chanay, Jeffrey A Esq RENEWAL8Onyama Limba
1024Jeanfrancois M ButtBrazil2026-07-28Dorl, James J Esq RENEWAL74Ivan Magalhaes
1025Silvio Q SaylorsIndia2026-07-07Truhlar And Truhlar Attys RENEWAL2Amy Elsner
1026Tony N SergiFrance2026-07-02Rousseaux, Michael Esq NEW53Amy Elsner
1027Mayumi Y GlickAustralia2026-07-07Chanay, Jeffrey A Esq RENEWAL72Ivan Magalhaes
1028Claire J InouyeAustralia2026-07-26Truhlar And Truhlar Attys UNQUALIFIED50Onyama Limba
1029Juan X GlickFrance2026-07-03Benton, John B Jr NEGOTIATION8Onyama Limba
1030Aika U BowleyUnited Kingdom2026-07-14Feltz Printing Service PROPOSAL48Stephen Shaw
1031Darci E RoysterCanada2026-07-21Buckley Miller Wright NEW76Ioni Bowcher
1032Stacey H AlbaresSpain2026-07-06Feltz Printing Service UNQUALIFIED20Bernardo Dominic
1033Emily D GlickArgentina2026-07-25Rousseaux, Michael Esq PROPOSAL41Ivan Magalhaes
1034Clifford X InouyeArgentina2026-07-14Buckley Miller Wright QUALIFIED10Anna Fali
1035Maria J FigeroaIndia2026-07-09King, Christopher A Esq UNQUALIFIED24Xuxue Feng
1036Jefferson L BriddickRussia2026-07-23Morlong Associates NEW45Ioni Bowcher
1037Smith W PoquetteBrazil2026-07-29Feltz Printing Service NEW97Xuxue Feng
1038Aditya S OldroydAustralia2026-07-23Benton, John B Jr NEW3Elwin Sharvill
1039Arvin W SaylorsFrance2026-07-22Buckley Miller Wright RENEWAL18Asiya Javayant
1040Darci J WhobreyFrance2026-07-07Buckley Miller Wright UNQUALIFIED91Asiya Javayant
1041Morrow K VocelkaIndia2026-07-29Benton, John B Jr PROPOSAL91Anna Fali
1042Silvio R WieserJapan2026-07-14Rangoni Of Florence QUALIFIED35Anna Fali
1043Aruna H RutaFrance2026-07-30Benton, John B Jr PROPOSAL79Onyama Limba
1044Murillo H DarakjyFrance2026-07-05Printing Dimensions PROPOSAL68Xuxue Feng
1045Jefferson Q MacleadItaly2026-07-19Rousseaux, Michael Esq NEGOTIATION1Xuxue Feng
1046Murillo W FerenczCanada2026-07-24Feltz Printing Service UNQUALIFIED74Anna Fali
1047Arvin U WhobreyIndia2026-07-17Feiner Bros RENEWAL94Ivan Magalhaes
1048Cody W BriddickFrance2026-07-16Buckley Miller Wright RENEWAL8Stephen Shaw
1049Jennifer O BologniaCanada2026-07-24Truhlar And Truhlar Attys PROPOSAL89Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Nicolas X PerinFranceElwin Sharvill NEGOTIATION
Juan E MaletUnited KingdomAmy Elsner RENEWAL
Octavia C SlusarskiCanadaIoni Bowcher NEW
Greenwood S PaprockiRussiaAsiya Javayant QUALIFIED
Arvin L FlosiItalyAnna Fali NEGOTIATION
Costa M DilliardSpainElwin Sharvill PROPOSAL
Leja C VenereIndiaXuxue Feng PROPOSAL
Murillo Z AmigonJapanXuxue Feng UNQUALIFIED
Jeanfrancois L RutaJapanAmy Elsner NEW
Antonio E VocelkaUnited KingdomIvan Magalhaes RENEWAL
Octavia J PerinJapanAsiya Javayant PROPOSAL
Jennifer U NickaSpainIoni Bowcher NEW
Kaitlin S ChuiGermanyAnna Fali PROPOSAL
Tony G BriddickUnited KingdomAsiya Javayant RENEWAL
Ivar Q KolmetzUnited KingdomOnyama Limba RENEWAL
Maisha Q FigeroaUnited KingdomOnyama Limba QUALIFIED
Aruna U VenereRussiaOnyama Limba PROPOSAL
Costa A AlbaresJapanIoni Bowcher NEW
Deepesh D InouyeGermanyOnyama Limba UNQUALIFIED
Deepesh U CaudyBrazilAmy Elsner NEGOTIATION
Rodrigues R CaldareraArgentinaElwin Sharvill NEGOTIATION
Nicolas B BriddickGermanyIvan Magalhaes QUALIFIED
Stacey I FigeroaJapanElwin Sharvill NEW
Maria T GarufiIndiaAmy Elsner NEW
Leja Y SchemmerCanadaBernardo Dominic PROPOSAL
Ashley S GarufiBrazilIvan Magalhaes PROPOSAL
Munro T PaprockiItalyOnyama Limba NEW
Mayumi C ButtSpainIoni Bowcher UNQUALIFIED
Ivar M StensethCanadaXuxue Feng PROPOSAL
Juan Q BowleyAustraliaIoni Bowcher RENEWAL
Isabel O KuskoCanadaXuxue Feng PROPOSAL
Costa P FerenczIndiaAnna Fali UNQUALIFIED
Maria D ButtJapanOnyama Limba RENEWAL
Wickens B WieserJapanBernardo Dominic QUALIFIED
Julie B BowleyFranceBernardo Dominic NEW
Johnson B FollerBrazilIvan Magalhaes RENEWAL
Kadeem F WaycottItalyOnyama Limba UNQUALIFIED
Greenwood W ButtUnited KingdomIoni Bowcher RENEWAL
Chavez P PaprockiSpainElwin Sharvill UNQUALIFIED
David X ChuiRussiaElwin Sharvill NEW
Greenwood R MaletCanadaElwin Sharvill UNQUALIFIED
Ricardo F GillianArgentinaAmy Elsner QUALIFIED
Sinclair L MaletAustraliaIvan Magalhaes QUALIFIED
Mujtaba Z SchemmerCanadaBernardo Dominic NEW
Alejandro G SlusarskiCanadaAsiya Javayant RENEWAL
Alejandro G ButtIndiaAnna Fali QUALIFIED
Darci I BowleyGermanyOnyama Limba RENEWAL
Kaitlin O SergiRussiaXuxue Feng NEGOTIATION
Greenwood S InouyeGermanyAsiya Javayant PROPOSAL
Clifford O BologniaRussiaElwin Sharvill NEW
Frozen Columns
Name
Ivar Y Dilliard
Stacey Q Briddick
Mayumi J Malet
Silvio C Whobrey
Deepesh H Shinko
Aika Y Ostrosky
Julie A Stockham
Morrow A Gaucho
Juan P Maclead
Aika T Poquette
Ricardo U Maclead
David S Inouye
Alejandro F Butt
Johnson A Butt
Johnson I Campain
Maisha F Royster
Wickens A Rim
Alejandro Y Schemmer
Clifford I Chui
Tony P Kusko
Emily T Waycott
Nicolas X Stenseth
Ivar I Malet
Jones W Malet
Francesco B Inouye
Deepesh A Caudy
Sinclair T Gillian
Wickens V Chui
Cody H Ruta
Mujtaba C Perin
Kadeem E Saylors
Clifford N Bowley
Greenwood E Slusarski
Nicolas D Waycott
Sinclair D Garufi
Aruna H Ruta
Stacey R Malet
Misaki M Stenseth
Deepesh B Shinko
Silvio H Tollner
Ivar R Maclead
Murillo E Nicka
Aika W Royster
Octavia H Caudy
Salvatore O Malet
Faith A Poquette
Aika K Caldarera
Greenwood V Figeroa
Alejandro Z Malet
Jeanfrancois J Slusarski
IdCountryDate
1000Germany2026-07-04
1001Brazil2026-07-02
1002Japan2026-07-02
1003Germany2026-07-09
1004Brazil2026-07-09
1005Canada2026-07-03
1006Canada2026-07-30
1007Brazil2026-07-07
1008Australia2026-07-15
1009Brazil2026-07-27
1010Canada2026-07-24
1011Russia2026-07-15
1012Russia2026-07-05
1013Japan2026-07-20
1014Spain2026-07-28
1015Italy2026-07-06
1016Spain2026-07-11
1017Brazil2026-07-27
1018Spain2026-07-08
1019Russia2026-07-27
1020Italy2026-07-26
1021Japan2026-07-26
1022Australia2026-07-27
1023Spain2026-07-08
1024France2026-07-06
1025Australia2026-07-13
1026India2026-07-01
1027Brazil2026-07-18
1028India2026-07-25
1029Brazil2026-07-21
1030Canada2026-07-11
1031Japan2026-07-07
1032Russia2026-07-14
1033Russia2026-07-13
1034Russia2026-07-12
1035Spain2026-07-06
1036Argentina2026-07-22
1037United Kingdom2026-07-18
1038Argentina2026-07-08
1039India2026-07-01
1040Spain2026-07-20
1041Japan2026-07-07
1042Germany2026-07-13
1043Italy2026-07-01
1044Canada2026-07-07
1045Australia2026-07-09
1046Spain2026-07-25
1047France2026-07-14
1048Australia2026-07-19
1049France2026-07-25

On-Demand Data

NameIdCountryDate
Aruna C Nicka1000Japan2026-07-22
Sinclair V Doe1001Russia2026-07-26
Kadeem R Maclead1002Canada2026-07-01
Alejandro S Rulapaugh1003Germany2026-07-29
Darci Z Glick1004Italy2026-07-24
Darci O Foller1005United Kingdom2026-07-20
Wickens F Paprocki1006Italy2026-07-30
Izzy H Kusko1007Australia2026-07-22
Chavez I Wieser1008United Kingdom2026-07-28
Kadeem K Bolognia1009Canada2026-07-20
Silvio E Tollner1010Spain2026-07-24
Smith D Flosi1011Argentina2026-07-04
Silvio R Kolmetz1012Australia2026-07-06
Wickens M Glick1013Canada2026-07-04
Francesco N Butt1014United Kingdom2026-07-22
Deepesh Y Glick1015Russia2026-07-03
Antonio E Stenseth1016Spain2026-07-14
Darci V Waycott1017Russia2026-07-14
Maria S Morasca1018Spain2026-07-10
Antonio K Slusarski1019India2026-07-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas O ChuiIndiaAnna Fali NEW
Morrow O RulapaughAustraliaBernardo Dominic RENEWAL
Arvin N SergiFranceAmy Elsner RENEWAL
Jefferson W MorascaIndiaOnyama Limba NEGOTIATION
Emily I IturbideJapanIvan Magalhaes RENEWAL
Leon J BologniaUnited KingdomXuxue Feng NEGOTIATION
Octavia A FlosiRussiaAsiya Javayant UNQUALIFIED
Octavia G CaudyBrazilOnyama Limba NEGOTIATION
Misaki K KolmetzBrazilIoni Bowcher NEGOTIATION
Jeanfrancois T KuskoSpainAmy Elsner PROPOSAL
Julie B RimCanadaIoni Bowcher RENEWAL
Julie V InouyeArgentinaAmy Elsner QUALIFIED
Rodrigues M OldroydUnited KingdomOnyama Limba QUALIFIED
Costa W InouyeIndiaAnna Fali NEW
Jones J PoquetteRussiaAmy Elsner NEW
Johnson M GauchoIndiaAmy Elsner NEW
Darci O SlusarskiSpainStephen Shaw NEW
Ricardo Y WaycottCanadaStephen Shaw RENEWAL
Kadeem I PoquetteArgentinaElwin Sharvill NEW
Julie V KolmetzGermanyAsiya Javayant RENEWAL
Costa R RulapaughCanadaOnyama Limba QUALIFIED
Antonio P FlosiItalyElwin Sharvill NEGOTIATION
Jones U OldroydAustraliaOnyama Limba NEW
Aditya J PaprockiFranceIoni Bowcher NEW
Ricardo W RimArgentinaElwin Sharvill PROPOSAL
Wickens D ButtAustraliaElwin Sharvill NEGOTIATION
Faith W DarakjyBrazilXuxue Feng RENEWAL
Johnson V AmigonUnited KingdomIoni Bowcher NEW
Aruna Z SergiUnited KingdomStephen Shaw RENEWAL
Aruna L MaletCanadaElwin Sharvill NEW
Leon B StockhamAustraliaElwin Sharvill PROPOSAL
Octavia D BologniaGermanyAnna Fali PROPOSAL
Jones T DarakjySpainAmy Elsner NEW
Nicolas A RimGermanyAmy Elsner NEGOTIATION
Leon A AlbaresJapanAmy Elsner PROPOSAL
Faith K SlusarskiCanadaStephen Shaw NEW
Mujtaba E FigeroaFranceBernardo Dominic RENEWAL
Nicolas T WhobreySpainElwin Sharvill NEGOTIATION
Ricardo X GauchoCanadaAnna Fali RENEWAL
Leja K StensethRussiaIvan Magalhaes 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>