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
Julie E AlbaresAustraliaIoni Bowcher NEW
Smith A InouyeAustraliaAmy Elsner QUALIFIED
Rodrigues M SaylorsBrazilXuxue Feng QUALIFIED
Isabel B GauchoCanadaIoni Bowcher NEGOTIATION
Adams W WhobreyArgentinaAnna Fali RENEWAL
Adams D BowleyBrazilStephen Shaw QUALIFIED
Aditya I FerenczRussiaOnyama Limba NEGOTIATION
James Y PoquetteIndiaOnyama Limba UNQUALIFIED
Kadeem Q StensethCanadaAmy Elsner QUALIFIED
Murillo G SergiRussiaIoni Bowcher NEW
Jefferson W InouyeCanadaIoni Bowcher NEW
Ivar T ButtArgentinaIvan Magalhaes NEGOTIATION
Silvio E BologniaArgentinaStephen Shaw PROPOSAL
Smith B WhobreyRussiaAsiya Javayant QUALIFIED
Deepesh O CaudySpainIvan Magalhaes QUALIFIED
James K WaycottRussiaIvan Magalhaes UNQUALIFIED
Emily Q IturbideItalyAsiya Javayant NEGOTIATION
Leja A ButtItalyOnyama Limba UNQUALIFIED
Ashley Q OldroydFranceAmy Elsner UNQUALIFIED
Kaitlin W PaprockiAustraliaBernardo Dominic NEGOTIATION
Munro T RimCanadaAmy Elsner NEGOTIATION
Munro G MorascaGermanyElwin Sharvill UNQUALIFIED
Deepesh W VocelkaCanadaElwin Sharvill PROPOSAL
Nicolas P MorascaRussiaOnyama Limba NEGOTIATION
Ivar F GillianRussiaXuxue Feng NEGOTIATION
Darci A MacleadCanadaStephen Shaw NEGOTIATION
Greenwood A VocelkaArgentinaAmy Elsner NEW
Isabel Q WaycottSpainXuxue Feng NEGOTIATION
Juan X RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Arvin D NestleItalyBernardo Dominic RENEWAL
James Z MacleadSpainXuxue Feng UNQUALIFIED
Johnson A BologniaAustraliaIvan Magalhaes QUALIFIED
Emily S CaudyCanadaAsiya Javayant RENEWAL
Arvin J AlbaresRussiaBernardo Dominic PROPOSAL
Jones T AmigonItalyAnna Fali QUALIFIED
Ricardo I ShinkoRussiaOnyama Limba UNQUALIFIED
Kadeem F FlosiIndiaOnyama Limba UNQUALIFIED
Cody D FlosiCanadaElwin Sharvill UNQUALIFIED
Deepesh Q GauchoItalyBernardo Dominic PROPOSAL
Nicolas L GillianGermanyXuxue Feng NEW
Arvin G RulapaughJapanElwin Sharvill UNQUALIFIED
Mujtaba Z NickaRussiaAnna Fali QUALIFIED
Darci X ShinkoItalyOnyama Limba PROPOSAL
Emily H VenereGermanyIoni Bowcher PROPOSAL
Johnson V MorascaBrazilStephen Shaw NEW
Johnson O SergiArgentinaIoni Bowcher RENEWAL
Johnson U InouyeCanadaOnyama Limba NEGOTIATION
Tony P OldroydFranceXuxue Feng RENEWAL
Aika Q PoquetteRussiaOnyama Limba NEW
Smith T BowleyUnited KingdomStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jennifer I RimArgentinaElwin Sharvill UNQUALIFIED
Mujtaba U BriddickGermanyAmy Elsner PROPOSAL
Aika R PerinRussiaIoni Bowcher QUALIFIED
Munro U PerinCanadaAnna Fali PROPOSAL
Adams X VenereCanadaElwin Sharvill QUALIFIED
Salvatore Z RoysterRussiaXuxue Feng UNQUALIFIED
Munro Y MaletBrazilElwin Sharvill UNQUALIFIED
Ricardo Z FigeroaCanadaAsiya Javayant UNQUALIFIED
Maria W RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Misaki A RoysterArgentinaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin A StensethRussia2024-05-20Rangoni Of Florence QUALIFIED92Bernardo Dominic
1001Mujtaba Y MorascaArgentina2024-06-12Benton, John B Jr NEW91Ioni Bowcher
1002Antonio D PerinBrazil2024-05-24Buckley Miller Wright NEW50Ioni Bowcher
1003Jennifer N VocelkaSpain2024-05-22Chemel, James L Cpa QUALIFIED66Ioni Bowcher
1004Jennifer C KolmetzGermany2024-06-10Buckley Miller Wright NEW73Bernardo Dominic
1005David T StockhamSpain2024-06-09Printing Dimensions NEGOTIATION95Anna Fali
1006Adams S FlosiAustralia2024-06-04Chemel, James L Cpa UNQUALIFIED53Anna Fali
1007Alejandro C GarufiGermany2024-06-13Chanay, Jeffrey A Esq PROPOSAL75Stephen Shaw
1008Aditya O TollnerFrance2024-05-23Feiner Bros NEW97Anna Fali
1009Faith W WieserAustralia2024-06-09Chemel, James L Cpa NEW10Stephen Shaw
1010Nicolas J TollnerAustralia2024-06-13Printing Dimensions NEW59Anna Fali
1011Nicolas X FigeroaRussia2024-06-05Printing Dimensions NEW97Amy Elsner
1012Stacey S DarakjyUnited Kingdom2024-06-14Morlong Associates NEW98Asiya Javayant
1013Alejandro J BriddickJapan2024-06-01Feltz Printing Service UNQUALIFIED4Elwin Sharvill
1014Ricardo Z StensethGermany2024-06-12Chanay, Jeffrey A Esq RENEWAL22Elwin Sharvill
1015Morrow X WaycottIndia2024-06-14Chemel, James L Cpa PROPOSAL67Asiya Javayant
1016Deepesh N MaletArgentina2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED21Xuxue Feng
1017Jones R RimItaly2024-05-31Chemel, James L Cpa PROPOSAL52Bernardo Dominic
1018Maria X FerenczRussia2024-06-07Printing Dimensions PROPOSAL47Bernardo Dominic
1019Jennifer L FlosiCanada2024-05-20Benton, John B Jr NEGOTIATION62Elwin Sharvill
1020Kadeem X BologniaUnited Kingdom2024-06-13Printing Dimensions RENEWAL61Asiya Javayant
1021James T TollnerCanada2024-06-09Benton, John B Jr NEGOTIATION72Elwin Sharvill
1022Chavez P ChuiArgentina2024-05-31Morlong Associates NEGOTIATION72Xuxue Feng
1023Mayumi R SaylorsAustralia2024-06-04Printing Dimensions NEW21Xuxue Feng
1024Emily K CaldareraArgentina2024-05-17Dorl, James J Esq NEW26Amy Elsner
1025Morrow K OldroydFrance2024-05-25Printing Dimensions UNQUALIFIED32Stephen Shaw
1026Ricardo L AlbaresUnited Kingdom2024-05-26Chemel, James L Cpa RENEWAL67Amy Elsner
1027Izzy P ShinkoRussia2024-06-09Rangoni Of Florence RENEWAL50Onyama Limba
1028Clifford H DoeBrazil2024-06-02Buckley Miller Wright NEGOTIATION61Stephen Shaw
1029Claire A FigeroaUnited Kingdom2024-05-25Rangoni Of Florence RENEWAL90Onyama Limba
1030Sinclair K PoquetteUnited Kingdom2024-05-16Feiner Bros QUALIFIED3Elwin Sharvill
1031Morrow B IturbideJapan2024-05-25Rousseaux, Michael Esq NEGOTIATION56Ivan Magalhaes
1032Salvatore V StensethRussia2024-06-10Feiner Bros RENEWAL36Stephen Shaw
1033Ashley B MaletGermany2024-06-01Feiner Bros PROPOSAL7Onyama Limba
1034Leja Q FerenczAustralia2024-06-02Rangoni Of Florence UNQUALIFIED15Xuxue Feng
1035Morrow J KolmetzCanada2024-05-24Commercial Press NEW7Bernardo Dominic
1036David V VocelkaCanada2024-05-21Buckley Miller Wright QUALIFIED66Bernardo Dominic
1037Morrow T CaldareraAustralia2024-05-26Feiner Bros UNQUALIFIED37Elwin Sharvill
1038Adams T TollnerAustralia2024-05-17Chapman, Ross E Esq PROPOSAL80Bernardo Dominic
1039Mujtaba O RulapaughUnited Kingdom2024-06-03Printing Dimensions PROPOSAL19Asiya Javayant
1040Tony H CampainItaly2024-05-20Rangoni Of Florence RENEWAL45Anna Fali
1041Alejandro T ShinkoArgentina2024-06-08Truhlar And Truhlar Attys QUALIFIED40Amy Elsner
1042Stacey N ButtSpain2024-06-07Benton, John B Jr PROPOSAL38Bernardo Dominic
1043Smith Z RoysterRussia2024-05-20Feiner Bros PROPOSAL40Elwin Sharvill
1044Aditya I InouyeGermany2024-05-21Morlong Associates NEGOTIATION57Elwin Sharvill
1045James Y SlusarskiIndia2024-06-05Dorl, James J Esq RENEWAL42Asiya Javayant
1046Jeanfrancois T BologniaIndia2024-05-16Feiner Bros NEGOTIATION14Onyama Limba
1047Faith X CaldareraFrance2024-06-05Commercial Press NEGOTIATION15Bernardo Dominic
1048Salvatore T StensethBrazil2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED81Ioni Bowcher
1049Tony M WieserRussia2024-06-02Rousseaux, Michael Esq NEGOTIATION80Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mayumi Y PoquetteSpainXuxue Feng NEW
Faith Q DoeAustraliaXuxue Feng NEGOTIATION
Nicolas A GauchoRussiaBernardo Dominic UNQUALIFIED
Kaitlin K BriddickGermanyOnyama Limba PROPOSAL
Antonio X SergiUnited KingdomStephen Shaw NEGOTIATION
Jefferson K TollnerRussiaIvan Magalhaes PROPOSAL
Mujtaba E MaletCanadaStephen Shaw NEGOTIATION
Morrow M SergiItalyAsiya Javayant RENEWAL
Ricardo Q GlickRussiaAnna Fali NEGOTIATION
Jones A DilliardSpainStephen Shaw UNQUALIFIED
Munro V TollnerFranceXuxue Feng NEGOTIATION
Ashley R MorascaAustraliaBernardo Dominic QUALIFIED
Antonio Z AlbaresCanadaAsiya Javayant NEGOTIATION
Smith X PerinIndiaAsiya Javayant QUALIFIED
Jennifer C WaycottAustraliaAsiya Javayant PROPOSAL
Deepesh U MaletGermanyAmy Elsner RENEWAL
Chavez X SchemmerAustraliaStephen Shaw NEGOTIATION
Claire I KolmetzIndiaAmy Elsner RENEWAL
Ashley P ChuiUnited KingdomBernardo Dominic RENEWAL
Leon E PoquetteGermanyIvan Magalhaes QUALIFIED
Johnson L SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Cody U FigeroaJapanIvan Magalhaes PROPOSAL
Francesco R ChuiBrazilOnyama Limba PROPOSAL
Claire X ChuiJapanIoni Bowcher QUALIFIED
Cody Z OstroskySpainXuxue Feng NEGOTIATION
Isabel G OldroydArgentinaAnna Fali QUALIFIED
Ivar T CaudyBrazilIvan Magalhaes UNQUALIFIED
Claire L BologniaFranceIoni Bowcher NEW
Stacey F FerenczJapanElwin Sharvill PROPOSAL
Aditya J StensethIndiaElwin Sharvill QUALIFIED
Silvio B ButtAustraliaAnna Fali RENEWAL
Juan G KuskoArgentinaXuxue Feng PROPOSAL
Jefferson H RutaUnited KingdomAnna Fali QUALIFIED
Alejandro M VenereIndiaIoni Bowcher RENEWAL
Cody W SchemmerAustraliaAmy Elsner NEW
Maisha T PoquetteItalyIvan Magalhaes PROPOSAL
James Z MaletRussiaAmy Elsner RENEWAL
Morrow D RoysterUnited KingdomBernardo Dominic NEW
Stacey L ShinkoUnited KingdomAnna Fali NEGOTIATION
Cody K CampainUnited KingdomIoni Bowcher PROPOSAL
Leon F OldroydSpainAsiya Javayant NEGOTIATION
Maria L GauchoAustraliaAsiya Javayant RENEWAL
Maria I BologniaAustraliaIoni Bowcher PROPOSAL
Jones B ShinkoBrazilStephen Shaw NEW
Jefferson R SergiIndiaOnyama Limba UNQUALIFIED
Izzy C GillianFranceStephen Shaw QUALIFIED
Izzy B ButtJapanBernardo Dominic QUALIFIED
Rodrigues A WieserItalyIvan Magalhaes UNQUALIFIED
Aditya W MorascaBrazilAnna Fali UNQUALIFIED
Julie O GarufiItalyElwin Sharvill RENEWAL
Frozen Columns
Name
Jefferson B Morasca
Ivar A Slusarski
Kadeem R Butt
James H Whobrey
Stacey T Briddick
Morrow P Chui
Izzy L Doe
Sinclair A Campain
Morrow K Butt
Jennifer I Perin
Claire P Kusko
Maisha N Amigon
Ivar G Dilliard
Rodrigues U Garufi
Misaki V Bolognia
Johnson D Stenseth
Costa O Nestle
Ivar S Chui
Tony Y Waycott
Alejandro F Dilliard
Johnson U Albares
Salvatore R Kusko
Costa U Briddick
James J Poquette
Jefferson N Gillian
Ricardo A Rulapaugh
Sinclair I Nestle
Antonio A Saylors
Claire M Nicka
Aruna T Marrier
Greenwood T Foller
Izzy H Rulapaugh
Izzy J Venere
Antonio J Saylors
Munro F Vocelka
Leon W Malet
Kadeem G Bolognia
Octavia P Slusarski
Tony R Poquette
Arvin X Waycott
Sinclair R Marrier
Isabel C Sergi
Smith Q Dilliard
Morrow Q Garufi
Salvatore W Royster
Antonio U Stenseth
Smith I Saylors
Morrow P Whobrey
Isabel X Rim
Deepesh G Glick
IdCountryDate
1000United Kingdom2024-06-12
1001Brazil2024-05-23
1002United Kingdom2024-06-10
1003United Kingdom2024-06-02
1004Russia2024-06-06
1005Argentina2024-06-12
1006Italy2024-05-27
1007Argentina2024-06-04
1008Spain2024-06-01
1009Canada2024-06-03
1010Japan2024-05-26
1011Germany2024-05-22
1012Italy2024-05-18
1013Japan2024-05-17
1014Germany2024-06-12
1015Japan2024-05-26
1016Australia2024-05-28
1017Canada2024-05-23
1018France2024-06-04
1019United Kingdom2024-05-16
1020France2024-05-19
1021Spain2024-06-04
1022United Kingdom2024-05-21
1023Canada2024-05-16
1024Russia2024-06-02
1025Germany2024-06-04
1026Japan2024-06-07
1027France2024-06-01
1028United Kingdom2024-06-02
1029Australia2024-05-25
1030Canada2024-06-08
1031Argentina2024-06-10
1032India2024-05-31
1033Italy2024-05-28
1034France2024-06-05
1035India2024-06-14
1036Germany2024-06-07
1037Argentina2024-05-30
1038Italy2024-06-14
1039India2024-06-07
1040France2024-05-22
1041Germany2024-06-14
1042Canada2024-05-28
1043Germany2024-06-04
1044Spain2024-06-04
1045India2024-05-24
1046Japan2024-05-17
1047Russia2024-06-09
1048Argentina2024-06-05
1049Argentina2024-05-28

On-Demand Data

NameIdCountryDate
Rodrigues Z Stockham1000Russia2024-06-13
Francesco V Caldarera1001Japan2024-05-31
Ricardo E Ruta1002Australia2024-05-16
Darci O Caldarera1003Argentina2024-05-29
Octavia H Gillian1004Canada2024-05-27
Aruna P Rim1005Spain2024-05-22
Adams B Perin1006Australia2024-06-11
Alejandro V Foller1007India2024-06-10
Jones W Garufi1008Brazil2024-05-27
Leja R Sergi1009Canada2024-05-17
Silvio N Rulapaugh1010Brazil2024-05-27
Maisha N Kusko1011Brazil2024-05-29
Salvatore O Albares1012Japan2024-06-03
Francesco A Slusarski1013Italy2024-06-09
Deepesh K Iturbide1014Spain2024-05-29
Salvatore G Stenseth1015India2024-06-04
Juan L Albares1016Argentina2024-05-29
Ashley V Waycott1017Canada2024-06-01
Alejandro J Glick1018Germany2024-05-21
Emily D Saylors1019India2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie U FlosiSpainAmy Elsner QUALIFIED
Jefferson K BriddickRussiaStephen Shaw UNQUALIFIED
Francesco C MorascaCanadaAmy Elsner QUALIFIED
Mujtaba Q FerenczJapanIvan Magalhaes NEW
Nicolas Q RimItalyIvan Magalhaes QUALIFIED
Mujtaba D DarakjyItalyBernardo Dominic NEW
Leja H ChuiSpainAnna Fali UNQUALIFIED
Maria N SaylorsItalyElwin Sharvill PROPOSAL
Mayumi R DilliardGermanyAsiya Javayant PROPOSAL
Ricardo H ShinkoItalyAnna Fali NEGOTIATION
Wickens W RimFranceElwin Sharvill NEW
Munro N BologniaGermanyElwin Sharvill PROPOSAL
Smith Q OldroydRussiaIvan Magalhaes NEGOTIATION
Ricardo A MarrierRussiaIoni Bowcher NEW
Costa B SchemmerArgentinaXuxue Feng QUALIFIED
Leja P PerinSpainBernardo Dominic RENEWAL
Morrow R MorascaFranceBernardo Dominic PROPOSAL
Cody M OstroskyItalyIvan Magalhaes RENEWAL
Maria A StensethIndiaAsiya Javayant UNQUALIFIED
Morrow X FerenczSpainIvan Magalhaes PROPOSAL
Silvio J MacleadArgentinaElwin Sharvill NEW
Kaitlin Y StensethGermanyBernardo Dominic NEW
Clifford E KolmetzJapanAnna Fali NEGOTIATION
Jones E FerenczItalyAsiya Javayant RENEWAL
Isabel Z ShinkoAustraliaXuxue Feng UNQUALIFIED
Ashley X FigeroaFranceAsiya Javayant NEW
Morrow Z GarufiFranceOnyama Limba NEGOTIATION
Jones A StockhamIndiaXuxue Feng PROPOSAL
Nicolas P InouyeAustraliaOnyama Limba PROPOSAL
Cody L GlickIndiaXuxue Feng PROPOSAL
Leja A GlickIndiaElwin Sharvill NEW
Misaki L BriddickFranceIvan Magalhaes UNQUALIFIED
Leja V RutaJapanOnyama Limba UNQUALIFIED
Antonio Y StockhamItalyBernardo Dominic RENEWAL
Greenwood W FollerJapanBernardo Dominic UNQUALIFIED
Kadeem L MaletBrazilStephen Shaw UNQUALIFIED
Faith B FerenczBrazilElwin Sharvill NEGOTIATION
Alejandro V FollerBrazilIoni Bowcher UNQUALIFIED
Deepesh W BowleyAustraliaAmy Elsner NEW
Munro D InouyeRussiaXuxue Feng NEW

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