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
Costa L WieserGermanyIoni Bowcher RENEWAL
Smith J BologniaRussiaXuxue Feng RENEWAL
Kaitlin U RutaFranceBernardo Dominic RENEWAL
Silvio S MaletSpainOnyama Limba UNQUALIFIED
Izzy F PerinArgentinaAnna Fali NEW
Salvatore P CaudyItalyAmy Elsner RENEWAL
Ricardo V WieserFranceAsiya Javayant NEW
Murillo V GarufiArgentinaBernardo Dominic UNQUALIFIED
Ashley G InouyeRussiaOnyama Limba NEGOTIATION
Mayumi C FerenczJapanAsiya Javayant RENEWAL
Aika L SlusarskiFranceXuxue Feng QUALIFIED
Murillo C CaudyBrazilBernardo Dominic QUALIFIED
Greenwood H KolmetzUnited KingdomIoni Bowcher QUALIFIED
Murillo E AlbaresItalyIoni Bowcher NEW
Juan G WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Julie W DarakjyArgentinaIvan Magalhaes PROPOSAL
Aika H FigeroaJapanAnna Fali RENEWAL
Faith N FigeroaGermanyIvan Magalhaes PROPOSAL
Morrow L VocelkaFranceOnyama Limba NEGOTIATION
Tony C OldroydRussiaStephen Shaw UNQUALIFIED
Smith H WhobreyCanadaOnyama Limba UNQUALIFIED
Rodrigues K CaudyCanadaElwin Sharvill NEW
Leon C RutaSpainStephen Shaw NEW
Aruna A AmigonRussiaXuxue Feng NEGOTIATION
Costa S CampainCanadaStephen Shaw NEW
Clifford S GlickFranceElwin Sharvill PROPOSAL
Maria D CampainFranceAsiya Javayant RENEWAL
Aika H PaprockiIndiaAsiya Javayant NEGOTIATION
Kadeem Y TollnerAustraliaIoni Bowcher PROPOSAL
Faith J SchemmerIndiaStephen Shaw PROPOSAL
Izzy W TollnerItalyIvan Magalhaes NEGOTIATION
Claire N CaudyItalyIvan Magalhaes QUALIFIED
Ashley K FlosiArgentinaAnna Fali QUALIFIED
Izzy Y MaletGermanyXuxue Feng NEGOTIATION
Chavez H BowleyCanadaXuxue Feng RENEWAL
Isabel S IturbideFranceOnyama Limba PROPOSAL
David L VocelkaFranceBernardo Dominic NEW
Aika N DilliardRussiaElwin Sharvill PROPOSAL
Rodrigues K PaprockiItalyStephen Shaw NEGOTIATION
Ashley O SchemmerFranceOnyama Limba NEW
Kaitlin V NickaCanadaOnyama Limba PROPOSAL
James Y RutaItalyXuxue Feng UNQUALIFIED
Adams E SchemmerIndiaElwin Sharvill NEW
Ashley C DilliardGermanyXuxue Feng NEW
Aditya D RutaItalyIvan Magalhaes RENEWAL
Morrow Y StensethSpainXuxue Feng UNQUALIFIED
Kaitlin C ShinkoSpainAmy Elsner NEW
Kadeem M SaylorsSpainOnyama Limba NEW
Sinclair A DilliardItalyStephen Shaw UNQUALIFIED
Ivar D FlosiUnited KingdomStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer U CaldareraFranceAnna Fali RENEWAL
Kaitlin L KolmetzGermanyIoni Bowcher NEGOTIATION
Maria M FlosiBrazilAmy Elsner NEW
James X SergiFranceIoni Bowcher RENEWAL
Aditya X ShinkoBrazilStephen Shaw NEW
Kadeem U GlickUnited KingdomIvan Magalhaes RENEWAL
Sinclair Z DoeArgentinaAsiya Javayant RENEWAL
Deepesh K TollnerRussiaAmy Elsner NEGOTIATION
Tony B RimSpainElwin Sharvill RENEWAL
Ashley W AmigonArgentinaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy L FollerCanada2024-05-08Feiner Bros PROPOSAL18Onyama Limba
1001Greenwood G SlusarskiGermany2024-05-10Rangoni Of Florence QUALIFIED66Elwin Sharvill
1002Darci T AmigonGermany2024-05-20Chapman, Ross E Esq QUALIFIED87Amy Elsner
1003Silvio N OldroydCanada2024-05-02Feltz Printing Service PROPOSAL95Stephen Shaw
1004Jefferson I MaletSpain2024-04-30Chanay, Jeffrey A Esq QUALIFIED41Asiya Javayant
1005Jeanfrancois I MaletCanada2024-05-01Rangoni Of Florence QUALIFIED70Amy Elsner
1006Sinclair L WhobreyCanada2024-05-10Feltz Printing Service RENEWAL51Bernardo Dominic
1007Rodrigues Y NestleItaly2024-05-19Chanay, Jeffrey A Esq NEGOTIATION57Anna Fali
1008Sinclair P NestleUnited Kingdom2024-05-07Buckley Miller Wright RENEWAL61Stephen Shaw
1009Alejandro H ShinkoUnited Kingdom2024-05-07Dorl, James J Esq QUALIFIED56Stephen Shaw
1010Kadeem M FlosiSpain2024-05-23Chapman, Ross E Esq NEW88Asiya Javayant
1011Morrow O MacleadIndia2024-05-05Dorl, James J Esq QUALIFIED29Stephen Shaw
1012Munro Q RutaItaly2024-05-18Benton, John B Jr NEGOTIATION73Onyama Limba
1013Salvatore Y DoeUnited Kingdom2024-04-29Benton, John B Jr NEW15Xuxue Feng
1014Leja Q StensethCanada2024-04-28Morlong Associates NEGOTIATION84Amy Elsner
1015Jefferson S SergiAustralia2024-05-27Chapman, Ross E Esq RENEWAL84Onyama Limba
1016Murillo Z GlickCanada2024-05-21Commercial Press QUALIFIED52Ioni Bowcher
1017Kadeem J PerinJapan2024-05-10Truhlar And Truhlar Attys QUALIFIED6Onyama Limba
1018Izzy L NickaCanada2024-04-30Feltz Printing Service UNQUALIFIED3Xuxue Feng
1019Jeanfrancois N MorascaSpain2024-04-29Chanay, Jeffrey A Esq NEW20Amy Elsner
1020Johnson H CaldareraItaly2024-05-03King, Christopher A Esq UNQUALIFIED89Elwin Sharvill
1021Chavez L PerinSpain2024-05-04Chapman, Ross E Esq NEW43Ivan Magalhaes
1022Ricardo Z FlosiItaly2024-05-02Chanay, Jeffrey A Esq NEGOTIATION97Stephen Shaw
1023Johnson U SchemmerSpain2024-05-10Benton, John B Jr NEGOTIATION29Ioni Bowcher
1024Nicolas R PoquetteGermany2024-05-06Buckley Miller Wright RENEWAL72Anna Fali
1025Munro R StockhamJapan2024-04-28King, Christopher A Esq UNQUALIFIED76Anna Fali
1026Leja J FollerBrazil2024-05-14Rousseaux, Michael Esq PROPOSAL15Amy Elsner
1027Aika R WieserGermany2024-05-09Rousseaux, Michael Esq RENEWAL20Bernardo Dominic
1028Jeanfrancois W RutaArgentina2024-05-12Morlong Associates QUALIFIED72Bernardo Dominic
1029Jennifer V CampainJapan2024-05-04Benton, John B Jr PROPOSAL71Bernardo Dominic
1030Costa J GillianUnited Kingdom2024-04-29King, Christopher A Esq PROPOSAL62Elwin Sharvill
1031Emily G PaprockiFrance2024-05-26Benton, John B Jr RENEWAL3Onyama Limba
1032Aruna Y DoeCanada2024-05-09Dorl, James J Esq UNQUALIFIED88Ivan Magalhaes
1033David F SaylorsUnited Kingdom2024-05-09Buckley Miller Wright UNQUALIFIED28Anna Fali
1034Claire S GarufiItaly2024-05-19Chanay, Jeffrey A Esq QUALIFIED54Stephen Shaw
1035Adams U StockhamUnited Kingdom2024-05-21Commercial Press PROPOSAL83Ioni Bowcher
1036Jeanfrancois O WhobreyGermany2024-04-29Truhlar And Truhlar Attys UNQUALIFIED21Xuxue Feng
1037Nicolas F FlosiUnited Kingdom2024-04-30Rousseaux, Michael Esq PROPOSAL76Elwin Sharvill
1038Jefferson A FollerUnited Kingdom2024-05-14King, Christopher A Esq NEGOTIATION74Asiya Javayant
1039Morrow D RulapaughGermany2024-05-10Truhlar And Truhlar Attys QUALIFIED57Xuxue Feng
1040Leon T CaldareraFrance2024-05-03Truhlar And Truhlar Attys QUALIFIED6Amy Elsner
1041Adams H GauchoAustralia2024-05-23Feiner Bros NEW98Xuxue Feng
1042Munro Y KuskoCanada2024-05-08Morlong Associates RENEWAL42Anna Fali
1043Greenwood P ChuiGermany2024-05-21Rangoni Of Florence NEGOTIATION74Asiya Javayant
1044Stacey K KuskoArgentina2024-05-07Commercial Press NEGOTIATION9Asiya Javayant
1045Antonio O SergiFrance2024-04-30Truhlar And Truhlar Attys UNQUALIFIED26Onyama Limba
1046Jennifer G PoquetteBrazil2024-05-01King, Christopher A Esq NEGOTIATION81Stephen Shaw
1047Leon G GauchoArgentina2024-05-17Chapman, Ross E Esq RENEWAL75Stephen Shaw
1048David M SergiSpain2024-05-07Feiner Bros PROPOSAL47Bernardo Dominic
1049Izzy E SchemmerGermany2024-04-29Feltz Printing Service PROPOSAL0Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ivar U DilliardCanadaAsiya Javayant QUALIFIED
Mujtaba O FerenczCanadaAmy Elsner UNQUALIFIED
Leja R CaldareraUnited KingdomBernardo Dominic RENEWAL
Aruna L SlusarskiIndiaAmy Elsner RENEWAL
Clifford C SaylorsBrazilOnyama Limba PROPOSAL
Alejandro Y IturbideIndiaAmy Elsner RENEWAL
Maria F ShinkoAustraliaElwin Sharvill NEGOTIATION
Murillo Z ChuiUnited KingdomIoni Bowcher PROPOSAL
Francesco I MaletBrazilElwin Sharvill NEGOTIATION
Sinclair R ChuiGermanyOnyama Limba NEW
Greenwood S KuskoJapanAsiya Javayant RENEWAL
Maisha D DarakjySpainXuxue Feng PROPOSAL
Smith E BologniaSpainElwin Sharvill RENEWAL
Arvin B RoysterArgentinaElwin Sharvill NEGOTIATION
Ricardo Z BowleyBrazilIoni Bowcher UNQUALIFIED
Faith W NickaSpainOnyama Limba UNQUALIFIED
Leon Y DoeCanadaIoni Bowcher RENEWAL
James Z DilliardRussiaAmy Elsner NEGOTIATION
Mujtaba G VenereBrazilAmy Elsner QUALIFIED
Claire V IturbideItalyAsiya Javayant PROPOSAL
Nicolas T DilliardFranceOnyama Limba NEW
Isabel X IturbideIndiaOnyama Limba UNQUALIFIED
Morrow W MacleadSpainAsiya Javayant NEGOTIATION
Salvatore H GlickItalyAmy Elsner QUALIFIED
Isabel P WaycottUnited KingdomAnna Fali QUALIFIED
Costa V BowleyRussiaElwin Sharvill RENEWAL
Stacey B StensethSpainIvan Magalhaes PROPOSAL
Kaitlin C RulapaughGermanyStephen Shaw PROPOSAL
Leja J RimItalyAnna Fali NEGOTIATION
Morrow K OldroydFranceOnyama Limba QUALIFIED
Morrow I VenereGermanyOnyama Limba RENEWAL
Kaitlin K ButtIndiaStephen Shaw PROPOSAL
Jones O FlosiCanadaOnyama Limba PROPOSAL
Antonio B StockhamSpainAmy Elsner PROPOSAL
Ivar Y StensethIndiaStephen Shaw NEW
Maisha L PaprockiItalyIoni Bowcher RENEWAL
James A VenereFranceIvan Magalhaes PROPOSAL
Arvin D KolmetzGermanyAmy Elsner UNQUALIFIED
Maria V NickaAustraliaOnyama Limba PROPOSAL
Isabel U DarakjyArgentinaXuxue Feng UNQUALIFIED
James A AmigonFranceAmy Elsner QUALIFIED
Wickens P RulapaughRussiaElwin Sharvill NEW
Smith E MarrierRussiaOnyama Limba UNQUALIFIED
Isabel L FlosiFranceIvan Magalhaes NEW
Mujtaba Q NestleIndiaElwin Sharvill PROPOSAL
Jones Y RulapaughItalyIoni Bowcher RENEWAL
Ivar Z SergiAustraliaIvan Magalhaes QUALIFIED
Aditya F FollerCanadaBernardo Dominic NEGOTIATION
Costa S ChuiAustraliaAmy Elsner QUALIFIED
Aruna Z BriddickRussiaXuxue Feng NEW
Frozen Columns
Name
Deepesh B Poquette
Faith O Ruta
Chavez R Gillian
Rodrigues J Bolognia
Emily A Gaucho
Clifford Z Shinko
Clifford J Whobrey
David B Ferencz
Juan N Saylors
Sinclair Y Bowley
Maisha J Briddick
Ashley X Malet
Antonio G Morasca
Aruna Z Briddick
Morrow Z Rim
Arvin O Ferencz
Greenwood X Morasca
Smith R Morasca
Ivar S Stockham
Alejandro V Nicka
Jones Q Wieser
Maisha Q Dilliard
Aditya V Campain
Nicolas L Albares
Kadeem H Vocelka
Clifford W Shinko
Ashley J Rulapaugh
Nicolas S Shinko
David M Dilliard
Faith B Waycott
Aditya R Dilliard
Nicolas V Poquette
Misaki U Schemmer
Juan Y Whobrey
Cody U Gillian
Antonio E Campain
Murillo W Inouye
Kadeem W Dilliard
Leon T Oldroyd
James D Gillian
Wickens O Ostrosky
Smith H Doe
Ivar E Stenseth
Mayumi R Wieser
Julie D Rim
James I Tollner
Aika K Flosi
Alejandro P Rulapaugh
Maria G Foller
Jones H Perin
IdCountryDate
1000United Kingdom2024-05-15
1001India2024-05-25
1002Italy2024-05-27
1003Japan2024-05-18
1004Spain2024-05-08
1005Russia2024-05-07
1006Italy2024-05-14
1007Australia2024-05-12
1008United Kingdom2024-05-27
1009Germany2024-05-17
1010Germany2024-05-10
1011Spain2024-05-13
1012Japan2024-05-02
1013Japan2024-05-13
1014Australia2024-05-10
1015Canada2024-05-26
1016Germany2024-05-26
1017Argentina2024-05-15
1018Brazil2024-04-30
1019Argentina2024-05-27
1020Canada2024-05-02
1021United Kingdom2024-05-13
1022Spain2024-04-29
1023India2024-05-07
1024Japan2024-05-27
1025Germany2024-04-30
1026India2024-05-25
1027Australia2024-05-12
1028United Kingdom2024-04-28
1029Brazil2024-05-02
1030Spain2024-05-16
1031Germany2024-05-03
1032Japan2024-05-04
1033Japan2024-05-23
1034Germany2024-05-06
1035Argentina2024-05-03
1036Japan2024-05-09
1037India2024-04-30
1038Spain2024-05-26
1039Italy2024-05-01
1040United Kingdom2024-04-28
1041Australia2024-05-12
1042Argentina2024-05-16
1043Argentina2024-05-06
1044Germany2024-05-09
1045Australia2024-04-29
1046Canada2024-05-23
1047United Kingdom2024-05-27
1048France2024-05-05
1049Spain2024-04-30

On-Demand Data

NameIdCountryDate
Cody W Wieser1000Italy2024-04-29
Deepesh C Malet1001Spain2024-05-19
Silvio R Albares1002India2024-05-06
Mujtaba B Rulapaugh1003France2024-05-27
Isabel Y Sergi1004Japan2024-05-02
Arvin G Ruta1005Australia2024-05-22
Kaitlin Q Flosi1006Canada2024-05-26
Aika E Kolmetz1007Spain2024-05-04
Deepesh E Glick1008Italy2024-04-28
Salvatore F Butt1009India2024-05-05
Isabel U Wieser1010Italy2024-05-04
Ricardo P Figeroa1011France2024-05-02
Maria C Malet1012France2024-05-17
Clifford S Schemmer1013Germany2024-05-15
James G Bowley1014Italy2024-05-10
Maria G Caldarera1015Russia2024-05-15
Clifford M Gillian1016Brazil2024-05-09
Mujtaba P Chui1017Spain2024-05-01
Aika U Saylors1018Canada2024-04-30
Maisha F Stenseth1019India2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith V CaldareraItalyStephen Shaw QUALIFIED
Julie N NickaArgentinaBernardo Dominic PROPOSAL
Mujtaba R NestleFranceElwin Sharvill QUALIFIED
Francesco X BologniaCanadaStephen Shaw QUALIFIED
Misaki Z PerinArgentinaStephen Shaw NEW
Aika O KolmetzArgentinaElwin Sharvill NEGOTIATION
Silvio K IturbideGermanyAnna Fali RENEWAL
Antonio C TollnerAustraliaIvan Magalhaes QUALIFIED
Ivar O NestleGermanyOnyama Limba QUALIFIED
Sinclair I DarakjyBrazilXuxue Feng QUALIFIED
Octavia C ButtRussiaAmy Elsner NEW
Aditya W PerinFranceIvan Magalhaes QUALIFIED
Alejandro R GlickJapanIoni Bowcher UNQUALIFIED
Munro X BowleyRussiaIvan Magalhaes PROPOSAL
Maisha P CaldareraIndiaOnyama Limba QUALIFIED
Johnson Y DarakjyBrazilElwin Sharvill NEGOTIATION
Tony F RoysterGermanyAnna Fali QUALIFIED
Greenwood M PerinJapanIoni Bowcher UNQUALIFIED
Aruna U PoquetteIndiaXuxue Feng RENEWAL
Alejandro E GarufiIndiaOnyama Limba UNQUALIFIED
Ashley C KuskoSpainAsiya Javayant UNQUALIFIED
Ivar U DilliardAustraliaXuxue Feng NEW
Rodrigues D KolmetzItalyAmy Elsner NEW
Clifford I AmigonGermanyElwin Sharvill PROPOSAL
Rodrigues A IturbideRussiaAnna Fali NEGOTIATION
Jennifer J WhobreyRussiaIoni Bowcher UNQUALIFIED
Aruna J RutaFranceAsiya Javayant NEW
Juan T FollerJapanOnyama Limba NEW
Jeanfrancois L RoysterArgentinaBernardo Dominic RENEWAL
Arvin C CaldareraBrazilElwin Sharvill QUALIFIED
Mayumi P AmigonItalyIoni Bowcher QUALIFIED
Aditya D MacleadIndiaStephen Shaw UNQUALIFIED
Emily G MorascaItalyXuxue Feng PROPOSAL
Smith X BologniaCanadaStephen Shaw PROPOSAL
Francesco L AlbaresArgentinaStephen Shaw NEW
Nicolas U CaldareraIndiaAsiya Javayant NEGOTIATION
Octavia C KuskoArgentinaOnyama Limba NEW
Misaki U MarrierCanadaAsiya Javayant NEGOTIATION
Francesco C MorascaGermanyStephen Shaw NEW
Juan P VenereCanadaIvan Magalhaes 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>