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
Octavia N WhobreyJapanOnyama Limba NEGOTIATION
Rodrigues H CaudyUnited KingdomBernardo Dominic NEGOTIATION
Francesco O ButtArgentinaXuxue Feng QUALIFIED
Faith F RimUnited KingdomAmy Elsner NEGOTIATION
Rodrigues Q MarrierIndiaBernardo Dominic NEGOTIATION
Deepesh U VocelkaAustraliaAsiya Javayant RENEWAL
Aditya B BologniaGermanyIvan Magalhaes NEW
Ivar E DarakjyFranceXuxue Feng NEW
Sinclair O MaletRussiaIoni Bowcher NEGOTIATION
Clifford Z RimIndiaOnyama Limba RENEWAL
Octavia K DoeBrazilIvan Magalhaes UNQUALIFIED
Izzy Y WhobreySpainIoni Bowcher RENEWAL
Ricardo O MaletCanadaStephen Shaw NEGOTIATION
Morrow R PaprockiCanadaXuxue Feng UNQUALIFIED
Emily R GarufiFranceElwin Sharvill RENEWAL
Smith F KolmetzIndiaIoni Bowcher RENEWAL
Morrow O PerinCanadaStephen Shaw NEW
Francesco N BriddickIndiaAnna Fali RENEWAL
Greenwood N PaprockiAustraliaOnyama Limba NEGOTIATION
Mujtaba O NickaJapanAmy Elsner NEGOTIATION
Juan C VocelkaBrazilIvan Magalhaes PROPOSAL
Claire G BowleyItalyAmy Elsner QUALIFIED
Jeanfrancois L SchemmerFranceXuxue Feng RENEWAL
Adams U FollerJapanXuxue Feng PROPOSAL
Tony B BowleyCanadaXuxue Feng NEGOTIATION
Ashley G StockhamIndiaXuxue Feng QUALIFIED
Tony D BowleyUnited KingdomAsiya Javayant NEGOTIATION
Cody U NestleAustraliaOnyama Limba NEW
Jennifer G MaletGermanyIoni Bowcher NEW
Smith Q VenereFranceOnyama Limba PROPOSAL
Johnson H CampainAustraliaIvan Magalhaes QUALIFIED
Leon L BriddickFranceIoni Bowcher PROPOSAL
Costa K ButtJapanIvan Magalhaes PROPOSAL
Isabel O SergiJapanAsiya Javayant RENEWAL
Wickens T MarrierJapanElwin Sharvill RENEWAL
Aditya Q NestleJapanBernardo Dominic NEGOTIATION
Chavez J PerinUnited KingdomStephen Shaw NEGOTIATION
Claire K DarakjyRussiaIvan Magalhaes QUALIFIED
Kadeem L StockhamBrazilXuxue Feng NEW
Smith U MacleadArgentinaIvan Magalhaes PROPOSAL
Silvio M DarakjyAustraliaXuxue Feng PROPOSAL
Murillo E ChuiSpainXuxue Feng UNQUALIFIED
Mayumi B BologniaSpainIvan Magalhaes NEW
Adams X PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Jeanfrancois T GarufiGermanyAsiya Javayant RENEWAL
Costa P GillianRussiaXuxue Feng NEGOTIATION
Claire U DarakjyUnited KingdomElwin Sharvill RENEWAL
Antonio I RoysterAustraliaIvan Magalhaes NEW
Emily G FerenczUnited KingdomStephen Shaw NEGOTIATION
Kaitlin Y InouyeRussiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley L GarufiAustraliaXuxue Feng NEGOTIATION
Misaki P SergiSpainIvan Magalhaes PROPOSAL
Arvin M RimIndiaStephen Shaw RENEWAL
Aditya G StockhamJapanOnyama Limba NEW
Kadeem B BologniaRussiaAnna Fali UNQUALIFIED
Cody Q ShinkoAustraliaIoni Bowcher RENEWAL
Antonio N IturbideItalyOnyama Limba UNQUALIFIED
Rodrigues N MaletJapanAnna Fali NEW
Silvio L AmigonIndiaIvan Magalhaes NEGOTIATION
Octavia N ChuiUnited KingdomElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony T DarakjyAustralia2024-06-04King, Christopher A Esq PROPOSAL24Anna Fali
1001Alejandro H StockhamBrazil2024-06-12Truhlar And Truhlar Attys UNQUALIFIED79Ioni Bowcher
1002Adams W NickaArgentina2024-06-07Commercial Press RENEWAL62Stephen Shaw
1003Munro K StockhamGermany2024-06-19Chemel, James L Cpa NEGOTIATION69Bernardo Dominic
1004Maisha F ButtCanada2024-06-08King, Christopher A Esq NEGOTIATION73Asiya Javayant
1005Juan L OldroydItaly2024-05-25Chapman, Ross E Esq QUALIFIED37Onyama Limba
1006Arvin L AmigonUnited Kingdom2024-06-13Commercial Press PROPOSAL82Asiya Javayant
1007Silvio T FollerFrance2024-06-10Dorl, James J Esq RENEWAL73Anna Fali
1008Claire F OstroskyCanada2024-06-07Rousseaux, Michael Esq PROPOSAL14Ioni Bowcher
1009Antonio B SlusarskiRussia2024-05-25Feiner Bros NEGOTIATION97Stephen Shaw
1010Rodrigues T WaycottIndia2024-06-19Feltz Printing Service NEW91Asiya Javayant
1011David M OstroskyJapan2024-05-28Rousseaux, Michael Esq NEGOTIATION79Onyama Limba
1012Antonio Z SergiSpain2024-06-10Buckley Miller Wright PROPOSAL83Asiya Javayant
1013Smith K StensethItaly2024-06-14Rangoni Of Florence NEW82Stephen Shaw
1014David K CaudyItaly2024-06-08Rangoni Of Florence UNQUALIFIED77Xuxue Feng
1015Rodrigues G VenereCanada2024-06-23Truhlar And Truhlar Attys NEGOTIATION38Bernardo Dominic
1016Rodrigues W RoysterGermany2024-06-12Buckley Miller Wright PROPOSAL31Stephen Shaw
1017Jefferson Z PerinCanada2024-06-05Chapman, Ross E Esq QUALIFIED6Asiya Javayant
1018Johnson R DilliardCanada2024-06-02Truhlar And Truhlar Attys NEW52Stephen Shaw
1019Adams B GarufiUnited Kingdom2024-06-07Feiner Bros NEGOTIATION72Asiya Javayant
1020Salvatore N NickaAustralia2024-06-12Chemel, James L Cpa UNQUALIFIED89Anna Fali
1021Wickens L PoquetteItaly2024-06-11Dorl, James J Esq PROPOSAL43Xuxue Feng
1022Munro P PerinUnited Kingdom2024-06-11Chemel, James L Cpa NEW23Asiya Javayant
1023Wickens R PaprockiSpain2024-05-26Morlong Associates UNQUALIFIED44Xuxue Feng
1024Rodrigues I OstroskyAustralia2024-06-22Feltz Printing Service UNQUALIFIED58Stephen Shaw
1025Misaki J KolmetzSpain2024-06-13Feiner Bros UNQUALIFIED51Anna Fali
1026Tony X BriddickCanada2024-05-25King, Christopher A Esq NEGOTIATION60Xuxue Feng
1027Francesco O FollerCanada2024-06-18King, Christopher A Esq QUALIFIED95Asiya Javayant
1028Aditya U OldroydItaly2024-06-10Commercial Press PROPOSAL50Bernardo Dominic
1029Jennifer C KuskoRussia2024-06-02Rousseaux, Michael Esq QUALIFIED76Amy Elsner
1030Johnson U PerinAustralia2024-06-18Feltz Printing Service PROPOSAL77Stephen Shaw
1031Maria K SchemmerCanada2024-06-02Rousseaux, Michael Esq PROPOSAL92Amy Elsner
1032Julie W AmigonAustralia2024-06-21Buckley Miller Wright NEW4Ioni Bowcher
1033Sinclair M DilliardSpain2024-06-07Buckley Miller Wright UNQUALIFIED7Xuxue Feng
1034Claire K SergiCanada2024-06-09Dorl, James J Esq UNQUALIFIED9Amy Elsner
1035Rodrigues T SlusarskiRussia2024-05-27Benton, John B Jr RENEWAL35Asiya Javayant
1036Ashley X DoeArgentina2024-05-29Chanay, Jeffrey A Esq NEGOTIATION15Onyama Limba
1037Aditya Y RoysterJapan2024-06-07Chapman, Ross E Esq QUALIFIED2Bernardo Dominic
1038Costa A BologniaRussia2024-06-09Dorl, James J Esq RENEWAL39Amy Elsner
1039Juan Y KolmetzFrance2024-06-16Chanay, Jeffrey A Esq NEW99Stephen Shaw
1040Izzy S GlickBrazil2024-05-27Dorl, James J Esq NEGOTIATION64Onyama Limba
1041Leja S RulapaughAustralia2024-05-30Feltz Printing Service NEGOTIATION0Stephen Shaw
1042Adams Q BowleyJapan2024-06-07Chapman, Ross E Esq UNQUALIFIED17Ioni Bowcher
1043Johnson L StensethIndia2024-05-28Dorl, James J Esq PROPOSAL14Ivan Magalhaes
1044Greenwood F AmigonAustralia2024-05-26Feltz Printing Service RENEWAL84Ioni Bowcher
1045Isabel N DarakjyIndia2024-05-27Printing Dimensions RENEWAL23Stephen Shaw
1046Jefferson W NestleGermany2024-06-13Chemel, James L Cpa PROPOSAL61Stephen Shaw
1047Ashley W DarakjyIndia2024-06-01Benton, John B Jr UNQUALIFIED39Anna Fali
1048Kadeem T SergiGermany2024-05-27Dorl, James J Esq NEGOTIATION57Ivan Magalhaes
1049Antonio A SlusarskiJapan2024-06-23Feltz Printing Service UNQUALIFIED50Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jefferson I GarufiGermanyIoni Bowcher UNQUALIFIED
Octavia X KolmetzIndiaOnyama Limba RENEWAL
Aruna T CaudyJapanElwin Sharvill NEW
Leja G TollnerBrazilAmy Elsner UNQUALIFIED
Misaki U MaletUnited KingdomIoni Bowcher NEGOTIATION
Alejandro T GillianItalyAnna Fali UNQUALIFIED
Antonio T IturbideIndiaIvan Magalhaes QUALIFIED
Wickens M BriddickJapanAmy Elsner NEW
Arvin C OstroskyCanadaIvan Magalhaes PROPOSAL
Leja U PerinGermanyOnyama Limba NEGOTIATION
Ivar N MorascaCanadaIvan Magalhaes QUALIFIED
Izzy I DilliardUnited KingdomAsiya Javayant UNQUALIFIED
Morrow S DoeBrazilIoni Bowcher QUALIFIED
Juan Z DoeFranceOnyama Limba QUALIFIED
Salvatore B FigeroaAustraliaAsiya Javayant QUALIFIED
Mujtaba F SergiCanadaAnna Fali RENEWAL
Mayumi H VenereItalyElwin Sharvill QUALIFIED
Francesco W MaletItalyOnyama Limba RENEWAL
Leon N SchemmerFranceAsiya Javayant QUALIFIED
Ivar U MarrierSpainIoni Bowcher RENEWAL
Munro H GillianGermanyAmy Elsner QUALIFIED
Jones H NickaRussiaIvan Magalhaes RENEWAL
Wickens V GillianItalyStephen Shaw UNQUALIFIED
Silvio L RimItalyIvan Magalhaes QUALIFIED
James X GlickFranceIvan Magalhaes NEGOTIATION
Silvio K ShinkoCanadaIvan Magalhaes NEGOTIATION
Costa E MorascaBrazilAsiya Javayant RENEWAL
Aika S GarufiAustraliaElwin Sharvill QUALIFIED
Faith R AlbaresBrazilBernardo Dominic NEGOTIATION
Jennifer O SlusarskiFranceAsiya Javayant NEGOTIATION
Jeanfrancois H StensethItalyBernardo Dominic NEW
Nicolas F FerenczRussiaElwin Sharvill NEW
Clifford M MaletArgentinaAnna Fali NEGOTIATION
Tony V RutaGermanyBernardo Dominic UNQUALIFIED
Greenwood L FlosiFranceXuxue Feng NEW
Wickens E VocelkaCanadaXuxue Feng NEGOTIATION
Silvio T FerenczJapanStephen Shaw PROPOSAL
Adams M NickaFranceAnna Fali RENEWAL
Costa R BowleyAustraliaElwin Sharvill QUALIFIED
Arvin T MaletCanadaAmy Elsner NEW
Mayumi T AmigonJapanBernardo Dominic UNQUALIFIED
Nicolas O RutaAustraliaIvan Magalhaes NEGOTIATION
Tony R AlbaresRussiaOnyama Limba QUALIFIED
Maisha N RulapaughBrazilXuxue Feng RENEWAL
Deepesh U SergiItalyStephen Shaw NEW
Morrow T DarakjyArgentinaOnyama Limba UNQUALIFIED
Nicolas I GlickGermanyIvan Magalhaes RENEWAL
Antonio F MaletSpainStephen Shaw QUALIFIED
Aruna M CampainFranceIoni Bowcher UNQUALIFIED
Sinclair Z StensethSpainStephen Shaw QUALIFIED
Frozen Columns
Name
Jefferson E Tollner
Juan I Stenseth
Silvio Y Doe
Darci U Gillian
Rodrigues R Waycott
Costa J Ferencz
Jennifer J Foller
Mayumi N Amigon
Kadeem O Ferencz
Julie U Poquette
Jennifer G Glick
Greenwood N Flosi
Emily Q Iturbide
Morrow J Albares
Maria F Morasca
Julie Z Shinko
Maisha R Bolognia
Octavia Z Marrier
Kaitlin L Ferencz
Emily N Saylors
Francesco H Rulapaugh
Silvio Z Royster
Maisha E Amigon
Julie Y Royster
James X Bowley
Aika P Vocelka
Clifford Q Ruta
Isabel D Nicka
Arvin S Vocelka
Kaitlin C Shinko
Costa O Briddick
Aruna E Rim
Izzy O Slusarski
Aditya Q Saylors
Izzy O Doe
Julie K Whobrey
Izzy G Malet
David N Shinko
Ivar D Slusarski
Sinclair N Kolmetz
Juan G Maclead
Jeanfrancois X Perin
Stacey D Iturbide
Kadeem L Poquette
James H Foller
Clifford N Oldroyd
Sinclair K Briddick
Jennifer J Venere
Izzy H Nicka
James I Nestle
IdCountryDate
1000Australia2024-06-15
1001Japan2024-06-18
1002Russia2024-05-26
1003Spain2024-06-21
1004Brazil2024-05-29
1005France2024-06-23
1006Australia2024-06-20
1007Russia2024-06-05
1008Germany2024-06-18
1009United Kingdom2024-06-20
1010Italy2024-06-08
1011Germany2024-06-16
1012Canada2024-05-25
1013Brazil2024-05-26
1014United Kingdom2024-06-05
1015France2024-06-11
1016Japan2024-06-10
1017Germany2024-06-09
1018Italy2024-06-05
1019United Kingdom2024-06-20
1020Italy2024-05-28
1021Germany2024-05-26
1022Canada2024-06-16
1023Spain2024-06-11
1024France2024-06-18
1025Brazil2024-06-07
1026Spain2024-06-19
1027Argentina2024-05-28
1028Japan2024-05-25
1029Australia2024-05-30
1030Russia2024-06-04
1031Canada2024-06-07
1032Spain2024-06-01
1033France2024-05-25
1034Brazil2024-06-03
1035Spain2024-06-09
1036Canada2024-06-14
1037Argentina2024-06-01
1038Russia2024-06-19
1039Argentina2024-06-13
1040Brazil2024-06-21
1041France2024-06-02
1042India2024-06-16
1043Russia2024-06-20
1044Italy2024-06-21
1045Brazil2024-06-17
1046United Kingdom2024-06-20
1047Canada2024-06-05
1048Germany2024-06-23
1049United Kingdom2024-06-11

On-Demand Data

NameIdCountryDate
Murillo P Shinko1000Spain2024-05-25
Munro M Venere1001Australia2024-06-08
Antonio R Nicka1002Germany2024-06-15
Arvin R Wieser1003India2024-05-25
Arvin E Malet1004Spain2024-05-27
Kadeem H Rim1005Germany2024-05-31
Jeanfrancois W Figeroa1006Spain2024-06-12
Darci M Wieser1007India2024-05-30
Sinclair S Stockham1008Russia2024-06-06
Mayumi V Slusarski1009Germany2024-06-13
Maria T Sergi1010Brazil2024-06-08
Claire U Nestle1011France2024-06-09
Rodrigues W Tollner1012United Kingdom2024-06-02
Munro M Darakjy1013Australia2024-06-17
Isabel I Maclead1014Japan2024-05-31
Smith Z Maclead1015United Kingdom2024-05-29
Smith W Wieser1016Argentina2024-06-09
Wickens F Malet1017Australia2024-05-25
Aruna C Albares1018Spain2024-05-30
Jefferson P Venere1019Brazil2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna M WieserFranceAnna Fali NEGOTIATION
Octavia V VenereRussiaBernardo Dominic RENEWAL
Silvio X KuskoGermanyIvan Magalhaes NEW
Murillo E OstroskyBrazilIoni Bowcher NEGOTIATION
Darci K IturbideJapanOnyama Limba NEW
Ricardo E SaylorsSpainOnyama Limba NEGOTIATION
Cody J GillianAustraliaStephen Shaw NEGOTIATION
Munro W CampainSpainIvan Magalhaes RENEWAL
Julie Y WieserAustraliaElwin Sharvill RENEWAL
Aruna P WaycottAustraliaAnna Fali NEW
Deepesh J CaldareraIndiaBernardo Dominic UNQUALIFIED
Murillo C SaylorsItalyElwin Sharvill RENEWAL
Juan K SaylorsIndiaAsiya Javayant RENEWAL
Francesco V SaylorsAustraliaBernardo Dominic UNQUALIFIED
Aika O RutaItalyAmy Elsner NEGOTIATION
Ivar D MacleadSpainElwin Sharvill RENEWAL
Clifford S MorascaGermanyAmy Elsner UNQUALIFIED
Leon W DoeArgentinaElwin Sharvill UNQUALIFIED
Francesco S PaprockiBrazilIvan Magalhaes NEW
Leon D MorascaArgentinaXuxue Feng NEGOTIATION
Jeanfrancois N CaudyAustraliaAsiya Javayant QUALIFIED
Darci L IturbideAustraliaAnna Fali UNQUALIFIED
Rodrigues O VenereIndiaIvan Magalhaes QUALIFIED
Darci I MacleadIndiaIvan Magalhaes NEGOTIATION
Maria Y GlickItalyIoni Bowcher NEGOTIATION
Tony A BologniaIndiaAsiya Javayant NEW
Stacey M NestleItalyElwin Sharvill QUALIFIED
Jefferson S BologniaSpainAmy Elsner QUALIFIED
Morrow X MaletGermanyAmy Elsner QUALIFIED
Munro A MarrierCanadaXuxue Feng NEGOTIATION
Costa M NickaFranceXuxue Feng QUALIFIED
Wickens R DilliardIndiaOnyama Limba PROPOSAL
Rodrigues L RulapaughArgentinaElwin Sharvill QUALIFIED
Cody Y CampainUnited KingdomStephen Shaw NEGOTIATION
Aditya D GlickArgentinaOnyama Limba NEW
Leja Y FigeroaFranceAmy Elsner NEW
Alejandro Y GarufiCanadaBernardo Dominic NEW
Juan M ChuiAustraliaOnyama Limba PROPOSAL
Izzy T GauchoItalyElwin Sharvill NEW
Darci E BowleyItalyXuxue 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>