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
Ivar B MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Ashley H RutaUnited KingdomIoni Bowcher QUALIFIED
Ivar A PaprockiJapanAsiya Javayant NEGOTIATION
David H BologniaSpainXuxue Feng NEW
Ivar J RoysterFranceAmy Elsner PROPOSAL
Emily O NestleRussiaAmy Elsner NEW
Jeanfrancois G TollnerIndiaAnna Fali QUALIFIED
Costa P NickaItalyStephen Shaw NEW
Leon K PerinJapanStephen Shaw NEGOTIATION
Deepesh F CampainSpainAsiya Javayant RENEWAL
Kaitlin Z ShinkoJapanAnna Fali NEGOTIATION
Cody D IturbideItalyIoni Bowcher NEW
Johnson G SlusarskiJapanAnna Fali NEGOTIATION
Jones Z RutaRussiaStephen Shaw QUALIFIED
Octavia J FollerJapanXuxue Feng UNQUALIFIED
Munro R GlickRussiaAmy Elsner UNQUALIFIED
Leon I MaletCanadaIoni Bowcher NEW
Faith M ShinkoGermanyXuxue Feng QUALIFIED
Ivar D TollnerUnited KingdomOnyama Limba RENEWAL
Emily V TollnerArgentinaIoni Bowcher PROPOSAL
Isabel T FlosiJapanStephen Shaw QUALIFIED
Mujtaba H PaprockiRussiaAmy Elsner RENEWAL
Cody V WaycottArgentinaIvan Magalhaes NEGOTIATION
Faith K DoeUnited KingdomAsiya Javayant QUALIFIED
Salvatore N VenereItalyBernardo Dominic PROPOSAL
Isabel K GillianFranceIoni Bowcher QUALIFIED
Aika O AmigonSpainXuxue Feng NEW
Isabel K IturbideAustraliaIoni Bowcher PROPOSAL
Claire S RulapaughIndiaIvan Magalhaes RENEWAL
Wickens S KuskoGermanyBernardo Dominic NEW
Izzy T FollerJapanXuxue Feng PROPOSAL
Morrow A SaylorsJapanAsiya Javayant QUALIFIED
Antonio E AmigonRussiaIvan Magalhaes NEGOTIATION
Francesco T NestleArgentinaIoni Bowcher NEGOTIATION
Tony N VenereCanadaBernardo Dominic PROPOSAL
Murillo D BologniaRussiaOnyama Limba RENEWAL
Faith C RulapaughArgentinaXuxue Feng RENEWAL
Salvatore M AlbaresItalyStephen Shaw UNQUALIFIED
Leja H PaprockiCanadaAnna Fali PROPOSAL
Smith Y DilliardSpainAsiya Javayant PROPOSAL
Sinclair Z MacleadItalyStephen Shaw QUALIFIED
Ivar E DarakjyCanadaAnna Fali PROPOSAL
Mayumi L ButtBrazilAsiya Javayant PROPOSAL
Mayumi M IturbideRussiaOnyama Limba QUALIFIED
David A SlusarskiIndiaElwin Sharvill PROPOSAL
Mayumi W SergiItalyOnyama Limba NEW
Juan G MarrierItalyBernardo Dominic NEW
Deepesh B MarrierRussiaElwin Sharvill UNQUALIFIED
Deepesh D GlickGermanyIoni Bowcher PROPOSAL
Costa D OstroskyGermanyBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams F GarufiJapanAnna Fali RENEWAL
Jones N SlusarskiCanadaStephen Shaw RENEWAL
Morrow F PaprockiUnited KingdomXuxue Feng NEGOTIATION
Alejandro E ButtItalyAsiya Javayant NEGOTIATION
Sinclair K BologniaFranceAsiya Javayant UNQUALIFIED
Maisha K InouyeJapanAnna Fali QUALIFIED
Francesco J ButtUnited KingdomIvan Magalhaes RENEWAL
Stacey G GauchoCanadaOnyama Limba RENEWAL
Francesco E SaylorsGermanyOnyama Limba NEW
Kaitlin H FlosiAustraliaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon N CampainJapan2024-06-15Commercial Press PROPOSAL36Ioni Bowcher
1001Misaki D AmigonFrance2024-05-25Chanay, Jeffrey A Esq NEGOTIATION5Ivan Magalhaes
1002Antonio E SchemmerIndia2024-06-09Commercial Press PROPOSAL40Ioni Bowcher
1003Darci W OstroskyIndia2024-05-26Benton, John B Jr RENEWAL31Xuxue Feng
1004Johnson L FollerAustralia2024-05-26Buckley Miller Wright RENEWAL26Xuxue Feng
1005Nicolas P KolmetzJapan2024-06-16Chapman, Ross E Esq NEGOTIATION45Ivan Magalhaes
1006Deepesh Z MacleadCanada2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED93Anna Fali
1007Alejandro Y RimBrazil2024-06-05Commercial Press RENEWAL84Stephen Shaw
1008Costa J KuskoJapan2024-06-17Feltz Printing Service UNQUALIFIED8Ivan Magalhaes
1009Julie S FlosiGermany2024-05-27Commercial Press PROPOSAL61Onyama Limba
1010Wickens K GauchoIndia2024-05-30Chemel, James L Cpa NEW80Anna Fali
1011Munro M PaprockiFrance2024-06-11Feiner Bros RENEWAL83Elwin Sharvill
1012Jeanfrancois Y WaycottJapan2024-06-15King, Christopher A Esq UNQUALIFIED22Amy Elsner
1013Aruna Y TollnerJapan2024-06-05Feiner Bros PROPOSAL71Amy Elsner
1014Maria W FollerArgentina2024-06-16Truhlar And Truhlar Attys UNQUALIFIED33Amy Elsner
1015Claire M WhobreyCanada2024-06-09Chapman, Ross E Esq QUALIFIED81Onyama Limba
1016Mujtaba C VenereAustralia2024-05-24Dorl, James J Esq NEW7Onyama Limba
1017Francesco O WieserFrance2024-06-03Morlong Associates PROPOSAL60Onyama Limba
1018Tony E DilliardUnited Kingdom2024-06-01Feiner Bros PROPOSAL86Stephen Shaw
1019Kaitlin G BriddickIndia2024-06-22Truhlar And Truhlar Attys RENEWAL97Elwin Sharvill
1020Aruna P SaylorsGermany2024-06-12Buckley Miller Wright RENEWAL60Xuxue Feng
1021Jefferson Q CampainCanada2024-06-04Morlong Associates PROPOSAL10Bernardo Dominic
1022Darci Z WhobreyItaly2024-06-16Chanay, Jeffrey A Esq PROPOSAL11Stephen Shaw
1023Kaitlin Q OldroydFrance2024-05-29Benton, John B Jr QUALIFIED39Asiya Javayant
1024Ricardo Q DilliardRussia2024-06-13Commercial Press RENEWAL22Ioni Bowcher
1025Deepesh T ShinkoIndia2024-05-24Benton, John B Jr NEGOTIATION84Amy Elsner
1026Murillo F FerenczUnited Kingdom2024-05-30King, Christopher A Esq NEGOTIATION44Amy Elsner
1027Adams N FollerIndia2024-06-13Dorl, James J Esq UNQUALIFIED97Asiya Javayant
1028Octavia D FollerAustralia2024-06-06Benton, John B Jr RENEWAL79Bernardo Dominic
1029James Q CaudyCanada2024-06-09Chemel, James L Cpa RENEWAL79Ivan Magalhaes
1030Juan O FerenczFrance2024-05-24Rousseaux, Michael Esq NEGOTIATION63Bernardo Dominic
1031Jennifer U RimArgentina2024-05-29Printing Dimensions NEGOTIATION67Bernardo Dominic
1032Costa Y AmigonArgentina2024-05-24Rangoni Of Florence RENEWAL12Bernardo Dominic
1033Emily D FigeroaRussia2024-06-18Chapman, Ross E Esq QUALIFIED4Xuxue Feng
1034Aditya W GlickCanada2024-05-29Dorl, James J Esq NEW99Xuxue Feng
1035Deepesh T BriddickIndia2024-06-09Rangoni Of Florence PROPOSAL0Amy Elsner
1036Jennifer S NestleArgentina2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED85Xuxue Feng
1037Morrow R GauchoFrance2024-06-04Feltz Printing Service QUALIFIED91Bernardo Dominic
1038Jefferson G GarufiCanada2024-06-10Rangoni Of Florence NEGOTIATION82Ivan Magalhaes
1039Aditya N BriddickBrazil2024-06-20King, Christopher A Esq NEW77Bernardo Dominic
1040Kadeem Z FollerUnited Kingdom2024-06-17Dorl, James J Esq RENEWAL49Xuxue Feng
1041Costa W GauchoUnited Kingdom2024-06-06Benton, John B Jr UNQUALIFIED70Ivan Magalhaes
1042Isabel E NestleRussia2024-05-30Chapman, Ross E Esq PROPOSAL95Bernardo Dominic
1043Emily L AlbaresFrance2024-06-16Printing Dimensions UNQUALIFIED51Amy Elsner
1044Ivar C BologniaFrance2024-06-20Benton, John B Jr UNQUALIFIED97Onyama Limba
1045Rodrigues Z WaycottArgentina2024-06-10Dorl, James J Esq NEW79Ioni Bowcher
1046Octavia N WaycottIndia2024-05-25Buckley Miller Wright NEW81Stephen Shaw
1047Wickens M PerinUnited Kingdom2024-06-19Printing Dimensions QUALIFIED68Bernardo Dominic
1048Cody E ShinkoFrance2024-06-01King, Christopher A Esq RENEWAL88Anna Fali
1049Leon O DarakjyArgentina2024-06-06King, Christopher A Esq PROPOSAL11Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Arvin R GillianCanadaStephen Shaw QUALIFIED
Smith V WhobreyIndiaXuxue Feng PROPOSAL
Ashley O FigeroaFranceBernardo Dominic NEGOTIATION
Stacey O NestleItalyAmy Elsner RENEWAL
Morrow A FigeroaArgentinaAmy Elsner PROPOSAL
James A MaletFranceAmy Elsner NEW
Costa F DilliardIndiaBernardo Dominic UNQUALIFIED
Wickens X BriddickUnited KingdomXuxue Feng NEGOTIATION
Johnson O OstroskyAustraliaAmy Elsner NEGOTIATION
Salvatore B RimGermanyAmy Elsner RENEWAL
Clifford P BriddickRussiaXuxue Feng RENEWAL
Silvio E BowleyJapanAnna Fali NEGOTIATION
Arvin N StockhamItalyAnna Fali UNQUALIFIED
Leon R NickaArgentinaStephen Shaw QUALIFIED
Jennifer L FigeroaJapanXuxue Feng UNQUALIFIED
Sinclair V WieserItalyOnyama Limba RENEWAL
Deepesh F TollnerUnited KingdomBernardo Dominic QUALIFIED
Jefferson B WaycottCanadaStephen Shaw QUALIFIED
Mayumi O OstroskyFranceXuxue Feng UNQUALIFIED
Munro L CaudyIndiaAmy Elsner UNQUALIFIED
Smith J WaycottAustraliaXuxue Feng QUALIFIED
Mayumi N GillianRussiaStephen Shaw PROPOSAL
Morrow N BriddickArgentinaIoni Bowcher RENEWAL
Smith I InouyeGermanyAnna Fali UNQUALIFIED
Julie B GauchoBrazilOnyama Limba NEGOTIATION
Deepesh I CaudyUnited KingdomOnyama Limba NEGOTIATION
Tony O BowleyGermanyBernardo Dominic NEW
Salvatore Q SergiBrazilOnyama Limba PROPOSAL
Faith M FigeroaGermanyIoni Bowcher QUALIFIED
Johnson H KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Smith S VenereGermanyIvan Magalhaes RENEWAL
Arvin D BologniaJapanStephen Shaw QUALIFIED
Juan O SchemmerFranceXuxue Feng NEW
Arvin G PaprockiGermanyElwin Sharvill PROPOSAL
Morrow F KolmetzRussiaElwin Sharvill NEW
Jeanfrancois J FigeroaUnited KingdomAnna Fali RENEWAL
Juan E WhobreyIndiaBernardo Dominic UNQUALIFIED
Leon X NickaRussiaXuxue Feng QUALIFIED
Maisha O NickaAustraliaStephen Shaw NEGOTIATION
Faith Y GlickItalyIoni Bowcher NEGOTIATION
Sinclair D VocelkaFranceIoni Bowcher QUALIFIED
Jones V IturbideSpainAnna Fali NEGOTIATION
Alejandro Y TollnerSpainBernardo Dominic NEW
Maisha D ChuiItalyAmy Elsner NEGOTIATION
James T PerinFranceElwin Sharvill NEW
Morrow E MacleadFranceAmy Elsner NEW
Nicolas H PerinArgentinaStephen Shaw PROPOSAL
Deepesh J KuskoGermanyElwin Sharvill RENEWAL
Emily E InouyeArgentinaStephen Shaw PROPOSAL
Antonio N GillianArgentinaAnna Fali RENEWAL
Frozen Columns
Name
James O Saylors
Mayumi D Campain
James G Marrier
Jones Y Paprocki
Ricardo G Campain
Costa Z Slusarski
Adams L Oldroyd
Cody W Schemmer
Aika O Saylors
Isabel W Rim
Kaitlin B Waycott
Misaki H Flosi
Deepesh D Schemmer
Mujtaba J Paprocki
Silvio Z Butt
Nicolas J Slusarski
Munro L Iturbide
Greenwood D Flosi
Aditya W Albares
Deepesh D Schemmer
Isabel K Ostrosky
Arvin I Maclead
Ashley V Rim
Ashley E Foller
Leon B Slusarski
Jefferson X Doe
Francesco R Gaucho
Smith A Venere
Stacey K Bowley
Izzy W Butt
Nicolas C Campain
Ashley K Caudy
Maisha G Doe
Murillo B Ferencz
Ivar R Morasca
Maisha F Butt
Rodrigues B Ruta
Jefferson C Caudy
Greenwood I Maclead
Arvin P Venere
Greenwood W Malet
Sinclair C Campain
Claire V Whobrey
Antonio S Poquette
Cody D Figeroa
Wickens G Malet
Johnson R Saylors
Jefferson D Wieser
Ricardo D Schemmer
Nicolas D Iturbide
IdCountryDate
1000Russia2024-05-28
1001Canada2024-05-26
1002Brazil2024-06-08
1003Germany2024-06-11
1004Japan2024-06-01
1005Germany2024-06-03
1006Russia2024-05-29
1007Argentina2024-06-22
1008Russia2024-06-05
1009Spain2024-06-21
1010Argentina2024-06-11
1011United Kingdom2024-06-11
1012Canada2024-06-07
1013Argentina2024-06-14
1014Italy2024-06-19
1015Spain2024-06-21
1016Spain2024-06-09
1017Brazil2024-06-08
1018France2024-05-30
1019Germany2024-05-31
1020Argentina2024-06-22
1021United Kingdom2024-06-16
1022Brazil2024-05-27
1023Germany2024-06-14
1024Italy2024-06-19
1025France2024-05-26
1026Brazil2024-06-15
1027Brazil2024-05-25
1028India2024-06-09
1029India2024-06-21
1030France2024-06-15
1031Italy2024-05-27
1032Germany2024-05-27
1033Spain2024-06-02
1034France2024-06-05
1035France2024-06-18
1036Japan2024-05-28
1037France2024-06-14
1038France2024-06-03
1039Brazil2024-05-29
1040France2024-05-26
1041Canada2024-06-10
1042Germany2024-05-29
1043Russia2024-06-14
1044Argentina2024-06-14
1045Brazil2024-06-07
1046India2024-06-15
1047Australia2024-05-31
1048Canada2024-06-17
1049Canada2024-05-31

On-Demand Data

NameIdCountryDate
Alejandro G Schemmer1000Italy2024-06-05
Maria J Venere1001Argentina2024-06-10
Claire V Ferencz1002Germany2024-06-07
Aditya J Foller1003Germany2024-06-06
Mujtaba P Darakjy1004United Kingdom2024-05-31
Sinclair C Flosi1005Russia2024-06-12
Aika R Glick1006Spain2024-06-15
James A Kusko1007Canada2024-06-13
Murillo R Campain1008Spain2024-06-11
Francesco J Flosi1009Russia2024-06-13
Morrow L Bowley1010Germany2024-06-13
Arvin H Rim1011Italy2024-06-09
Julie H Malet1012Spain2024-06-16
Antonio B Paprocki1013Australia2024-06-08
Faith K Nicka1014Argentina2024-06-17
Greenwood U Whobrey1015Australia2024-05-29
Clifford I Bowley1016Australia2024-06-20
Leon W Figeroa1017India2024-06-17
Mayumi V Slusarski1018United Kingdom2024-06-01
Costa W Malet1019India2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio N ShinkoIndiaBernardo Dominic RENEWAL
Jefferson S SchemmerFranceIoni Bowcher UNQUALIFIED
Leja Y SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Misaki Q DoeIndiaOnyama Limba QUALIFIED
Darci F DarakjyAustraliaAsiya Javayant NEGOTIATION
Wickens K SlusarskiCanadaElwin Sharvill RENEWAL
Tony S CaldareraGermanyOnyama Limba PROPOSAL
Morrow Y KuskoAustraliaOnyama Limba RENEWAL
Rodrigues X MarrierFranceAsiya Javayant NEW
Emily H WieserRussiaAnna Fali QUALIFIED
Ivar Q AmigonAustraliaAmy Elsner NEW
Jones O PoquetteUnited KingdomStephen Shaw NEW
Costa G SaylorsBrazilXuxue Feng QUALIFIED
Morrow M ButtCanadaAmy Elsner NEGOTIATION
Izzy G AmigonUnited KingdomOnyama Limba RENEWAL
Kadeem M PoquetteFranceIoni Bowcher PROPOSAL
Mayumi Z WieserItalyIvan Magalhaes UNQUALIFIED
Alejandro T KolmetzIndiaIoni Bowcher QUALIFIED
Arvin T DilliardAustraliaIoni Bowcher PROPOSAL
Deepesh H ChuiRussiaIvan Magalhaes NEGOTIATION
Ivar S VenereBrazilIvan Magalhaes NEW
Octavia O GarufiBrazilIvan Magalhaes QUALIFIED
Aruna A InouyeFranceAsiya Javayant NEW
Morrow C WhobreyItalyXuxue Feng QUALIFIED
Ivar M NickaRussiaAsiya Javayant RENEWAL
Stacey Y BologniaSpainStephen Shaw NEGOTIATION
Leja N MaletBrazilAsiya Javayant UNQUALIFIED
Kadeem R WieserGermanyOnyama Limba UNQUALIFIED
David X OstroskySpainStephen Shaw RENEWAL
Clifford C WhobreyFranceElwin Sharvill RENEWAL
Wickens K PoquetteJapanAnna Fali NEW
Jones D SergiGermanyIoni Bowcher QUALIFIED
Aditya B WaycottArgentinaStephen Shaw QUALIFIED
Deepesh F RimRussiaStephen Shaw UNQUALIFIED
Salvatore I FigeroaSpainIoni Bowcher UNQUALIFIED
David E ButtGermanyStephen Shaw NEW
Jefferson N BriddickItalyAmy Elsner UNQUALIFIED
Juan N GauchoCanadaOnyama Limba NEW
Cody Q CaldareraJapanXuxue Feng UNQUALIFIED
Jones U RimAustraliaIoni Bowcher QUALIFIED

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