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
Izzy V TollnerIndiaBernardo Dominic NEGOTIATION
Faith U InouyeIndiaOnyama Limba UNQUALIFIED
Ashley E MacleadRussiaStephen Shaw PROPOSAL
Stacey M SaylorsCanadaAsiya Javayant QUALIFIED
Mujtaba U MaletCanadaAsiya Javayant NEGOTIATION
Chavez B PaprockiIndiaOnyama Limba NEGOTIATION
Aika I ShinkoItalyIoni Bowcher NEGOTIATION
Arvin D FigeroaCanadaBernardo Dominic QUALIFIED
Alejandro P GauchoGermanyAmy Elsner NEGOTIATION
Nicolas P InouyeUnited KingdomElwin Sharvill RENEWAL
Ivar B FigeroaBrazilBernardo Dominic RENEWAL
Greenwood X ButtFranceStephen Shaw NEW
Johnson M CaudyAustraliaAsiya Javayant QUALIFIED
James J CampainGermanyIvan Magalhaes UNQUALIFIED
Arvin F BriddickUnited KingdomIoni Bowcher QUALIFIED
Clifford K SergiUnited KingdomStephen Shaw QUALIFIED
Maria Q DilliardFranceElwin Sharvill NEW
Kadeem U SaylorsIndiaIvan Magalhaes NEGOTIATION
Tony R NestleGermanyAnna Fali UNQUALIFIED
Silvio Z SergiIndiaElwin Sharvill PROPOSAL
Octavia Y StockhamSpainIoni Bowcher NEGOTIATION
Kaitlin W BowleyItalyAmy Elsner NEW
Emily P CaldareraArgentinaAsiya Javayant NEGOTIATION
Greenwood W TollnerRussiaAmy Elsner RENEWAL
Isabel J SergiIndiaBernardo Dominic NEGOTIATION
Mayumi L ChuiBrazilXuxue Feng UNQUALIFIED
Costa R CaldareraJapanBernardo Dominic UNQUALIFIED
Clifford G KuskoFranceXuxue Feng NEW
Clifford V FlosiFranceAnna Fali NEGOTIATION
Wickens T StockhamAustraliaStephen Shaw NEW
Claire X CaldareraSpainIoni Bowcher QUALIFIED
Nicolas D GarufiArgentinaAnna Fali PROPOSAL
Jefferson O PoquetteCanadaXuxue Feng PROPOSAL
Silvio U CampainAustraliaStephen Shaw UNQUALIFIED
Jefferson P DarakjyRussiaAmy Elsner NEW
Wickens A SlusarskiJapanBernardo Dominic PROPOSAL
Nicolas G RulapaughItalyAsiya Javayant QUALIFIED
Kaitlin V CaudyCanadaXuxue Feng UNQUALIFIED
Francesco E IturbideArgentinaStephen Shaw NEW
Aruna V KolmetzBrazilOnyama Limba PROPOSAL
Jefferson E DarakjyItalyAnna Fali RENEWAL
David M VocelkaFranceOnyama Limba RENEWAL
Juan O BologniaArgentinaIvan Magalhaes NEW
Jeanfrancois R PoquetteIndiaOnyama Limba UNQUALIFIED
Ivar N MorascaItalyAsiya Javayant NEW
Aruna R ChuiCanadaStephen Shaw RENEWAL
Johnson K DarakjyArgentinaXuxue Feng QUALIFIED
Clifford Z KuskoFranceXuxue Feng PROPOSAL
Jeanfrancois U FollerBrazilIoni Bowcher UNQUALIFIED
Costa F GillianBrazilOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy D CaldareraItalyBernardo Dominic PROPOSAL
Silvio Y SlusarskiUnited KingdomBernardo Dominic NEW
Rodrigues K SergiIndiaBernardo Dominic QUALIFIED
Silvio G MaletFranceBernardo Dominic NEW
Jones O BowleyCanadaAnna Fali UNQUALIFIED
Francesco F PoquetteBrazilOnyama Limba NEGOTIATION
Wickens C GillianBrazilAmy Elsner UNQUALIFIED
Stacey U CaudyFranceStephen Shaw UNQUALIFIED
Kaitlin U StensethUnited KingdomAmy Elsner NEW
Arvin D WieserAustraliaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens I BriddickSpain2024-06-21Printing Dimensions QUALIFIED62Anna Fali
1001Salvatore R FollerFrance2024-06-24Printing Dimensions RENEWAL52Amy Elsner
1002Aditya Z TollnerUnited Kingdom2024-06-16Commercial Press UNQUALIFIED8Stephen Shaw
1003Ashley P ButtCanada2024-06-06Feltz Printing Service PROPOSAL59Xuxue Feng
1004Leon T CaldareraArgentina2024-05-26Printing Dimensions NEW28Anna Fali
1005Kaitlin C WaycottArgentina2024-06-07Chemel, James L Cpa NEGOTIATION3Xuxue Feng
1006Salvatore H OldroydAustralia2024-06-02Feltz Printing Service NEW91Onyama Limba
1007James I IturbideJapan2024-06-19Rangoni Of Florence QUALIFIED41Onyama Limba
1008Ricardo B CampainBrazil2024-06-09Morlong Associates QUALIFIED31Elwin Sharvill
1009Deepesh R MacleadArgentina2024-06-20Morlong Associates NEGOTIATION33Elwin Sharvill
1010Stacey Q ChuiAustralia2024-06-22Commercial Press PROPOSAL76Xuxue Feng
1011Mayumi B AmigonIndia2024-06-11Buckley Miller Wright PROPOSAL80Xuxue Feng
1012Faith A GillianCanada2024-06-17Rangoni Of Florence QUALIFIED26Onyama Limba
1013David T BologniaAustralia2024-05-28Rangoni Of Florence NEGOTIATION1Stephen Shaw
1014Rodrigues O TollnerSpain2024-05-26Benton, John B Jr NEW61Amy Elsner
1015Maria X RulapaughRussia2024-05-27Buckley Miller Wright PROPOSAL36Ioni Bowcher
1016Leja Y FlosiUnited Kingdom2024-06-12Feltz Printing Service PROPOSAL13Stephen Shaw
1017Johnson A MaletAustralia2024-06-04Chemel, James L Cpa NEW66Onyama Limba
1018Salvatore U MarrierItaly2024-06-15Printing Dimensions PROPOSAL82Elwin Sharvill
1019Ivar V MarrierItaly2024-06-05Feiner Bros NEGOTIATION44Bernardo Dominic
1020Wickens C BologniaSpain2024-05-29Chemel, James L Cpa NEGOTIATION62Xuxue Feng
1021Kaitlin R VocelkaGermany2024-06-24Truhlar And Truhlar Attys PROPOSAL62Xuxue Feng
1022Aditya Y NestleFrance2024-05-29Morlong Associates QUALIFIED78Xuxue Feng
1023Jennifer R DoeAustralia2024-06-02Benton, John B Jr NEW59Asiya Javayant
1024Julie S WaycottRussia2024-06-04Rousseaux, Michael Esq NEW41Elwin Sharvill
1025Ricardo A MarrierIndia2024-06-05Dorl, James J Esq PROPOSAL78Stephen Shaw
1026Aruna N GillianItaly2024-06-11Rousseaux, Michael Esq PROPOSAL31Ioni Bowcher
1027Cody I GillianBrazil2024-06-18Buckley Miller Wright UNQUALIFIED1Ivan Magalhaes
1028Jefferson J VocelkaGermany2024-06-22Chapman, Ross E Esq NEW56Anna Fali
1029Maisha X OldroydArgentina2024-06-10Commercial Press PROPOSAL87Ioni Bowcher
1030Deepesh K KolmetzArgentina2024-06-03Chapman, Ross E Esq QUALIFIED24Bernardo Dominic
1031Ricardo C SlusarskiUnited Kingdom2024-05-30Chemel, James L Cpa NEGOTIATION0Elwin Sharvill
1032Maria L MarrierUnited Kingdom2024-06-10Morlong Associates NEW34Amy Elsner
1033Silvio H MorascaBrazil2024-06-20Feltz Printing Service PROPOSAL75Anna Fali
1034Sinclair K NickaGermany2024-06-21Feiner Bros QUALIFIED67Ioni Bowcher
1035Salvatore N SergiItaly2024-05-27Buckley Miller Wright RENEWAL20Ioni Bowcher
1036Deepesh J ButtRussia2024-06-19Rousseaux, Michael Esq NEGOTIATION92Ioni Bowcher
1037Ricardo B AlbaresBrazil2024-06-15King, Christopher A Esq NEGOTIATION68Anna Fali
1038Claire B WaycottUnited Kingdom2024-06-04Morlong Associates NEGOTIATION44Xuxue Feng
1039Aditya J OstroskyBrazil2024-05-27Chapman, Ross E Esq QUALIFIED68Ivan Magalhaes
1040Alejandro R MorascaIndia2024-06-13Benton, John B Jr NEW81Xuxue Feng
1041Jeanfrancois D ButtCanada2024-06-20Feiner Bros RENEWAL52Anna Fali
1042Mujtaba D MaletUnited Kingdom2024-06-03Chemel, James L Cpa UNQUALIFIED75Onyama Limba
1043Chavez V ShinkoIndia2024-06-06Feiner Bros PROPOSAL73Bernardo Dominic
1044Faith W KolmetzArgentina2024-06-08Buckley Miller Wright RENEWAL93Anna Fali
1045Salvatore Y ChuiFrance2024-05-26Truhlar And Truhlar Attys QUALIFIED45Stephen Shaw
1046Izzy Z RoysterFrance2024-06-17Rousseaux, Michael Esq PROPOSAL90Xuxue Feng
1047Ivar B PerinRussia2024-06-18Feiner Bros NEGOTIATION20Amy Elsner
1048Kadeem R PoquetteBrazil2024-06-08Rangoni Of Florence NEW1Xuxue Feng
1049Mujtaba Z AmigonCanada2024-06-17King, Christopher A Esq NEGOTIATION76Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Cody H FerenczIndiaBernardo Dominic NEGOTIATION
Wickens M OstroskyBrazilStephen Shaw RENEWAL
Kaitlin C ShinkoBrazilStephen Shaw PROPOSAL
Darci T CampainFranceOnyama Limba NEGOTIATION
Johnson F BowleyCanadaElwin Sharvill UNQUALIFIED
Mayumi Q BowleyGermanyIvan Magalhaes UNQUALIFIED
Tony C MaletJapanIvan Magalhaes NEW
Francesco T AlbaresRussiaXuxue Feng UNQUALIFIED
Aditya F GillianIndiaAsiya Javayant PROPOSAL
Chavez J CaldareraRussiaAsiya Javayant PROPOSAL
Emily Q NestleRussiaBernardo Dominic PROPOSAL
Greenwood X SlusarskiIndiaBernardo Dominic RENEWAL
Jeanfrancois R ChuiRussiaXuxue Feng QUALIFIED
Wickens K PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Silvio S KuskoFranceAmy Elsner RENEWAL
Nicolas L GillianSpainAnna Fali UNQUALIFIED
Mayumi N RutaUnited KingdomOnyama Limba PROPOSAL
Faith R BowleySpainStephen Shaw PROPOSAL
Ricardo U InouyeJapanIoni Bowcher UNQUALIFIED
Costa N FlosiBrazilXuxue Feng RENEWAL
Ricardo Z PoquetteAustraliaAnna Fali PROPOSAL
Ashley O WhobreyGermanyAmy Elsner RENEWAL
Izzy I MaletArgentinaBernardo Dominic RENEWAL
Izzy U AlbaresRussiaAsiya Javayant NEGOTIATION
Tony I MorascaAustraliaElwin Sharvill NEGOTIATION
Nicolas P KolmetzRussiaAsiya Javayant QUALIFIED
Munro T FigeroaIndiaOnyama Limba RENEWAL
Aditya I GarufiBrazilStephen Shaw NEGOTIATION
Julie Z SchemmerAustraliaIoni Bowcher RENEWAL
Leja S PoquetteUnited KingdomStephen Shaw RENEWAL
Maria N MaletFranceAmy Elsner NEGOTIATION
Mayumi U InouyeUnited KingdomOnyama Limba RENEWAL
Rodrigues N BriddickItalyIvan Magalhaes NEGOTIATION
Murillo G DoeAustraliaStephen Shaw NEGOTIATION
Antonio K NestleRussiaAnna Fali NEW
Antonio H VocelkaAustraliaAnna Fali UNQUALIFIED
Kaitlin P BowleySpainAmy Elsner UNQUALIFIED
Adams P PaprockiUnited KingdomOnyama Limba NEW
Claire U DilliardGermanyAnna Fali RENEWAL
Maria A VocelkaSpainBernardo Dominic QUALIFIED
Kadeem V StensethIndiaOnyama Limba QUALIFIED
Julie T BologniaBrazilStephen Shaw NEW
Ivar P SlusarskiCanadaBernardo Dominic QUALIFIED
Francesco N MaletArgentinaOnyama Limba PROPOSAL
Aditya B SaylorsCanadaElwin Sharvill RENEWAL
Julie L SergiItalyAnna Fali PROPOSAL
Ricardo G SchemmerArgentinaIoni Bowcher UNQUALIFIED
Aruna O SchemmerFranceBernardo Dominic NEW
Tony O MarrierBrazilIvan Magalhaes RENEWAL
Emily J RimAustraliaStephen Shaw RENEWAL
Frozen Columns
Name
Wickens D Tollner
Salvatore J Sergi
Chavez H Paprocki
Ashley E Slusarski
Cody K Malet
Maisha H Gillian
Leon G Figeroa
Antonio C Schemmer
Kaitlin K Rim
Johnson V Rim
Murillo O Albares
Kadeem I Butt
Tony L Morasca
Jefferson D Amigon
Ivar L Doe
Izzy T Darakjy
Octavia L Ferencz
Octavia X Saylors
Murillo K Stockham
Jeanfrancois L Malet
Greenwood I Maclead
Chavez X Nicka
Munro A Malet
Kadeem Z Vocelka
Izzy Q Briddick
Johnson J Caudy
Aditya P Bolognia
Jeanfrancois C Schemmer
Jefferson D Morasca
Jefferson I Kolmetz
Leja L Nestle
Murillo H Wieser
Ivar T Morasca
Sinclair X Stockham
Smith W Venere
Jeanfrancois W Briddick
Murillo Q Nicka
Mayumi K Nestle
Sinclair H Wieser
Wickens H Caudy
Clifford L Figeroa
Mayumi R Venere
Jennifer S Kusko
Maria Z Ruta
Julie C Maclead
Sinclair F Flosi
Octavia U Nicka
Jefferson I Bolognia
Octavia V Perin
Octavia U Butt
IdCountryDate
1000United Kingdom2024-06-04
1001Argentina2024-06-17
1002India2024-05-28
1003Brazil2024-06-04
1004Spain2024-05-31
1005Germany2024-06-18
1006Australia2024-06-05
1007France2024-06-04
1008Spain2024-06-19
1009Argentina2024-05-28
1010France2024-06-22
1011India2024-06-04
1012Brazil2024-06-24
1013United Kingdom2024-06-22
1014Italy2024-06-18
1015Australia2024-06-12
1016United Kingdom2024-06-21
1017Spain2024-06-11
1018Germany2024-06-23
1019Argentina2024-06-04
1020Germany2024-06-06
1021Brazil2024-06-13
1022Spain2024-06-02
1023Australia2024-06-15
1024United Kingdom2024-06-12
1025Germany2024-06-09
1026United Kingdom2024-06-24
1027India2024-06-05
1028Brazil2024-06-17
1029Argentina2024-06-01
1030Australia2024-05-30
1031India2024-06-18
1032Germany2024-06-08
1033Germany2024-06-08
1034Argentina2024-06-24
1035Argentina2024-06-17
1036Italy2024-06-15
1037Brazil2024-06-20
1038Russia2024-06-02
1039Germany2024-06-12
1040Japan2024-06-04
1041Germany2024-06-01
1042France2024-05-31
1043Brazil2024-06-14
1044Argentina2024-06-04
1045Australia2024-06-14
1046India2024-06-13
1047Italy2024-06-06
1048India2024-06-15
1049India2024-05-27

On-Demand Data

NameIdCountryDate
Wickens W Nicka1000France2024-05-28
Greenwood S Vocelka1001United Kingdom2024-06-08
Jefferson O Rulapaugh1002Germany2024-06-19
Kadeem N Dilliard1003India2024-05-31
Murillo V Darakjy1004France2024-06-03
Jennifer E Vocelka1005Spain2024-06-12
Jefferson Y Caudy1006Brazil2024-06-23
Julie B Campain1007Italy2024-06-17
Darci Q Inouye1008United Kingdom2024-05-30
Wickens H Caldarera1009Russia2024-06-09
Misaki F Kusko1010France2024-06-24
Ashley X Bowley1011Germany2024-06-14
Stacey R Doe1012Argentina2024-06-12
Claire Y Amigon1013India2024-06-03
Johnson J Nestle1014Brazil2024-06-13
Francesco R Royster1015United Kingdom2024-06-13
Maria K Dilliard1016Brazil2024-06-16
Claire P Inouye1017Germany2024-06-09
Smith U Iturbide1018Germany2024-05-28
Silvio C Waycott1019Japan2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois M NestleRussiaIoni Bowcher PROPOSAL
Isabel T RutaFranceAmy Elsner PROPOSAL
Isabel Z BriddickArgentinaAnna Fali NEW
Deepesh U MaletBrazilBernardo Dominic PROPOSAL
Wickens A ButtUnited KingdomOnyama Limba PROPOSAL
Jefferson N ButtArgentinaBernardo Dominic UNQUALIFIED
Silvio U CampainRussiaElwin Sharvill QUALIFIED
Juan D NestleIndiaXuxue Feng UNQUALIFIED
Octavia B MaletJapanIvan Magalhaes QUALIFIED
Mayumi C GlickAustraliaOnyama Limba QUALIFIED
Morrow F SaylorsBrazilAnna Fali PROPOSAL
Jennifer R GarufiFranceAnna Fali PROPOSAL
Emily L NestleAustraliaBernardo Dominic RENEWAL
Mayumi G RulapaughAustraliaAsiya Javayant NEW
Rodrigues J WieserRussiaBernardo Dominic NEGOTIATION
Octavia N PoquetteUnited KingdomOnyama Limba NEGOTIATION
Aika G OstroskyFranceXuxue Feng NEGOTIATION
Jennifer O GarufiCanadaOnyama Limba UNQUALIFIED
Nicolas E SchemmerCanadaIoni Bowcher NEW
Faith K KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Cody X MaletCanadaElwin Sharvill RENEWAL
Murillo A GarufiJapanXuxue Feng RENEWAL
Aruna V SlusarskiGermanyIoni Bowcher UNQUALIFIED
Johnson A StockhamJapanOnyama Limba RENEWAL
Cody P WaycottBrazilStephen Shaw QUALIFIED
Isabel Y PoquetteUnited KingdomIoni Bowcher NEW
Sinclair P WhobreyArgentinaIvan Magalhaes NEGOTIATION
Darci X SlusarskiFranceAnna Fali QUALIFIED
Chavez Q GillianCanadaStephen Shaw PROPOSAL
Deepesh O FlosiIndiaIoni Bowcher UNQUALIFIED
Salvatore D MaletJapanAnna Fali NEW
Kaitlin Q NickaItalyAnna Fali NEW
Murillo G StockhamFranceOnyama Limba NEGOTIATION
Maria Y IturbideIndiaAnna Fali NEGOTIATION
Julie U CampainFranceOnyama Limba QUALIFIED
Murillo S KuskoArgentinaElwin Sharvill QUALIFIED
Jeanfrancois Z CaudyGermanyIoni Bowcher NEW
Jefferson P FlosiArgentinaXuxue Feng QUALIFIED
James W RutaUnited KingdomStephen Shaw UNQUALIFIED
Mayumi V FlosiBrazilXuxue Feng UNQUALIFIED

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