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
Munro E BowleyAustraliaOnyama Limba UNQUALIFIED
Julie R OstroskySpainIoni Bowcher PROPOSAL
Alejandro L InouyeCanadaIoni Bowcher UNQUALIFIED
Costa B SaylorsFranceElwin Sharvill PROPOSAL
David U RimJapanStephen Shaw NEGOTIATION
Ivar X PoquetteFranceElwin Sharvill PROPOSAL
Mujtaba Q GlickIndiaIvan Magalhaes NEW
Izzy P SergiItalyIoni Bowcher QUALIFIED
Jones P MarrierIndiaAnna Fali NEW
Mujtaba K NickaArgentinaAsiya Javayant QUALIFIED
Julie K BologniaItalyBernardo Dominic NEW
Clifford C SchemmerIndiaAsiya Javayant PROPOSAL
Aika L VocelkaSpainAsiya Javayant RENEWAL
Aditya G RutaFranceAsiya Javayant QUALIFIED
Maria K FollerFranceOnyama Limba PROPOSAL
Silvio G GlickItalyBernardo Dominic RENEWAL
Salvatore Q FollerGermanyAmy Elsner NEW
Faith M ChuiIndiaElwin Sharvill NEGOTIATION
Izzy I WaycottJapanIoni Bowcher PROPOSAL
Arvin V PerinGermanyXuxue Feng QUALIFIED
Murillo M SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
David I BriddickFranceXuxue Feng NEGOTIATION
Misaki D SergiRussiaIoni Bowcher PROPOSAL
James N FigeroaIndiaBernardo Dominic NEW
David B StensethSpainAsiya Javayant PROPOSAL
James B FigeroaUnited KingdomOnyama Limba RENEWAL
Ivar R IturbideGermanyAsiya Javayant NEW
Maria G BriddickSpainStephen Shaw NEGOTIATION
Nicolas K PaprockiSpainBernardo Dominic QUALIFIED
David H SchemmerArgentinaStephen Shaw NEW
Claire M FigeroaRussiaBernardo Dominic NEGOTIATION
Leja L MarrierIndiaIoni Bowcher NEW
Kadeem O MaletJapanStephen Shaw NEW
Jeanfrancois H BowleyRussiaIvan Magalhaes QUALIFIED
Greenwood M WhobreyRussiaBernardo Dominic UNQUALIFIED
Salvatore N GarufiGermanyIoni Bowcher QUALIFIED
Jefferson V StockhamArgentinaAmy Elsner PROPOSAL
Silvio K CampainGermanyOnyama Limba NEGOTIATION
Sinclair O InouyeJapanAnna Fali UNQUALIFIED
Juan S GarufiIndiaOnyama Limba QUALIFIED
Aruna K NestleRussiaAsiya Javayant UNQUALIFIED
Aditya T KolmetzJapanAsiya Javayant UNQUALIFIED
Costa R RimRussiaAsiya Javayant QUALIFIED
Ashley T PoquetteIndiaElwin Sharvill NEW
Leon L BriddickArgentinaOnyama Limba QUALIFIED
Mujtaba E RulapaughUnited KingdomXuxue Feng NEW
Kadeem X FlosiSpainBernardo Dominic NEGOTIATION
Wickens T KolmetzSpainBernardo Dominic PROPOSAL
Juan X VenereJapanIoni Bowcher UNQUALIFIED
Antonio N GlickAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aika W NickaGermanyXuxue Feng NEW
David N BriddickGermanyIoni Bowcher PROPOSAL
Morrow U MaletAustraliaAsiya Javayant UNQUALIFIED
Rodrigues A NickaFranceAnna Fali QUALIFIED
Jennifer S NestleSpainIvan Magalhaes UNQUALIFIED
Leon Y MorascaCanadaOnyama Limba QUALIFIED
Darci E TollnerAustraliaAsiya Javayant NEW
Ashley Y FerenczItalyIoni Bowcher UNQUALIFIED
Morrow Y VenereGermanyAnna Fali QUALIFIED
David L CampainSpainOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia N TollnerUnited Kingdom2024-06-14Commercial Press PROPOSAL19Elwin Sharvill
1001Chavez D StensethSpain2024-06-15Rangoni Of Florence UNQUALIFIED66Amy Elsner
1002Isabel G WieserSpain2024-06-06Chemel, James L Cpa PROPOSAL68Stephen Shaw
1003Emily P RimSpain2024-05-17Rangoni Of Florence RENEWAL56Amy Elsner
1004Munro J RulapaughFrance2024-06-13Chemel, James L Cpa RENEWAL86Stephen Shaw
1005Costa D StensethGermany2024-05-31Printing Dimensions PROPOSAL2Anna Fali
1006Tony B SaylorsArgentina2024-06-07Chanay, Jeffrey A Esq RENEWAL50Ivan Magalhaes
1007Sinclair T KolmetzCanada2024-05-27Feiner Bros NEGOTIATION79Stephen Shaw
1008Chavez I SaylorsFrance2024-06-15Commercial Press NEW90Ioni Bowcher
1009Misaki E RulapaughJapan2024-05-28Chapman, Ross E Esq RENEWAL75Ivan Magalhaes
1010Morrow M AmigonArgentina2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED52Anna Fali
1011Munro T RulapaughFrance2024-06-01Printing Dimensions RENEWAL65Ioni Bowcher
1012Isabel R SchemmerAustralia2024-05-22Rangoni Of Florence UNQUALIFIED95Bernardo Dominic
1013Ricardo A GillianRussia2024-06-06Morlong Associates NEW52Amy Elsner
1014Tony O GlickGermany2024-05-23Truhlar And Truhlar Attys PROPOSAL8Xuxue Feng
1015Misaki G GillianIndia2024-05-26Printing Dimensions QUALIFIED99Elwin Sharvill
1016Stacey V DarakjyFrance2024-06-13Benton, John B Jr NEGOTIATION86Elwin Sharvill
1017Deepesh I OstroskyRussia2024-05-31Chanay, Jeffrey A Esq RENEWAL59Stephen Shaw
1018Deepesh I FerenczAustralia2024-06-06Rangoni Of Florence UNQUALIFIED75Onyama Limba
1019Salvatore S OstroskyUnited Kingdom2024-05-23Chapman, Ross E Esq PROPOSAL89Xuxue Feng
1020Silvio X PoquetteArgentina2024-05-19Rangoni Of Florence QUALIFIED90Elwin Sharvill
1021Ricardo W RutaSpain2024-05-18Chapman, Ross E Esq QUALIFIED21Stephen Shaw
1022Leja Y BologniaGermany2024-05-18Benton, John B Jr NEGOTIATION70Asiya Javayant
1023Ashley A FerenczSpain2024-05-26Rangoni Of Florence RENEWAL5Onyama Limba
1024Salvatore V RutaAustralia2024-05-20Feiner Bros QUALIFIED65Ioni Bowcher
1025Juan O OldroydCanada2024-05-28Chapman, Ross E Esq UNQUALIFIED53Stephen Shaw
1026Rodrigues U DoeBrazil2024-06-04Dorl, James J Esq NEGOTIATION65Anna Fali
1027Antonio Q AlbaresBrazil2024-06-12Rangoni Of Florence RENEWAL6Ivan Magalhaes
1028Aditya O VocelkaRussia2024-05-27Chapman, Ross E Esq NEGOTIATION76Xuxue Feng
1029Adams J SlusarskiIndia2024-05-30Commercial Press PROPOSAL81Stephen Shaw
1030Kadeem R NickaBrazil2024-06-14Benton, John B Jr UNQUALIFIED93Ioni Bowcher
1031Johnson Z SlusarskiArgentina2024-06-10Buckley Miller Wright RENEWAL45Elwin Sharvill
1032James K CaudyItaly2024-06-05Printing Dimensions PROPOSAL78Elwin Sharvill
1033Julie N KuskoSpain2024-05-31Commercial Press PROPOSAL43Amy Elsner
1034Alejandro D DarakjyIndia2024-05-27Commercial Press NEGOTIATION77Elwin Sharvill
1035Silvio D StockhamFrance2024-05-26Feltz Printing Service NEGOTIATION20Asiya Javayant
1036Jones W MarrierSpain2024-06-04King, Christopher A Esq PROPOSAL90Asiya Javayant
1037Arvin P MorascaJapan2024-05-18Chapman, Ross E Esq NEW18Asiya Javayant
1038Izzy V NestleSpain2024-06-01Rousseaux, Michael Esq PROPOSAL59Ioni Bowcher
1039Faith L CaldareraArgentina2024-05-22Chapman, Ross E Esq QUALIFIED15Amy Elsner
1040Aika A VocelkaCanada2024-06-03Truhlar And Truhlar Attys NEGOTIATION13Bernardo Dominic
1041Murillo K IturbideUnited Kingdom2024-06-06Rousseaux, Michael Esq QUALIFIED65Bernardo Dominic
1042Adams W IturbideAustralia2024-06-09Chapman, Ross E Esq NEGOTIATION58Stephen Shaw
1043Nicolas W ShinkoSpain2024-05-18Benton, John B Jr RENEWAL41Ioni Bowcher
1044Jeanfrancois L GarufiSpain2024-06-02Truhlar And Truhlar Attys QUALIFIED81Xuxue Feng
1045James J DoeGermany2024-06-09Commercial Press RENEWAL35Ioni Bowcher
1046Izzy X BowleyArgentina2024-06-07Rousseaux, Michael Esq NEGOTIATION71Anna Fali
1047Octavia C GarufiJapan2024-06-14Rousseaux, Michael Esq QUALIFIED14Onyama Limba
1048Mujtaba G PoquetteJapan2024-05-18Rangoni Of Florence RENEWAL55Xuxue Feng
1049Costa G RulapaughRussia2024-05-28Feiner Bros QUALIFIED55Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois R VocelkaSpainAmy Elsner NEGOTIATION
Jefferson I GarufiGermanyAsiya Javayant QUALIFIED
Murillo Z CaudyRussiaOnyama Limba PROPOSAL
Mujtaba I GlickJapanXuxue Feng UNQUALIFIED
Maria Q BowleySpainOnyama Limba UNQUALIFIED
Francesco N NickaBrazilAsiya Javayant NEGOTIATION
Jefferson U VenereBrazilAnna Fali PROPOSAL
Clifford D KuskoBrazilAnna Fali UNQUALIFIED
Chavez P GlickItalyBernardo Dominic PROPOSAL
Cody G GauchoBrazilAmy Elsner UNQUALIFIED
Aruna I WaycottItalyAsiya Javayant QUALIFIED
Izzy R RutaCanadaAsiya Javayant NEW
Wickens N BowleyUnited KingdomElwin Sharvill PROPOSAL
Alejandro N RutaGermanyAsiya Javayant NEW
Silvio M StockhamRussiaBernardo Dominic QUALIFIED
Munro I GillianBrazilIoni Bowcher NEW
Nicolas V CampainUnited KingdomIoni Bowcher PROPOSAL
Cody V WieserIndiaIvan Magalhaes NEW
Juan Y SergiBrazilOnyama Limba QUALIFIED
Cody Q FerenczIndiaBernardo Dominic NEGOTIATION
Emily V MaletUnited KingdomAmy Elsner QUALIFIED
Silvio D WaycottJapanBernardo Dominic QUALIFIED
Leja O WhobreyCanadaAmy Elsner PROPOSAL
Arvin S KuskoAustraliaStephen Shaw NEGOTIATION
Munro C PerinAustraliaIoni Bowcher NEGOTIATION
Murillo Q GarufiRussiaOnyama Limba PROPOSAL
Emily L CaldareraBrazilStephen Shaw NEW
Nicolas N BologniaGermanyAsiya Javayant QUALIFIED
Rodrigues E KolmetzSpainAmy Elsner PROPOSAL
Salvatore O WhobreyUnited KingdomIoni Bowcher UNQUALIFIED
Smith U MarrierRussiaBernardo Dominic NEGOTIATION
Octavia Q IturbideBrazilIoni Bowcher NEW
Ashley R WieserFranceBernardo Dominic QUALIFIED
Jeanfrancois V MarrierAustraliaAmy Elsner UNQUALIFIED
Costa E BowleyAustraliaIoni Bowcher QUALIFIED
Ricardo K CaldareraGermanyIoni Bowcher NEGOTIATION
Jennifer H FerenczBrazilBernardo Dominic NEGOTIATION
Ashley Q DoeSpainAsiya Javayant NEGOTIATION
Johnson A RutaGermanyIoni Bowcher NEW
Chavez R FollerBrazilIoni Bowcher NEGOTIATION
Maisha B SchemmerAustraliaIvan Magalhaes QUALIFIED
Leja V ShinkoUnited KingdomElwin Sharvill NEGOTIATION
Johnson E BriddickGermanyOnyama Limba PROPOSAL
Rodrigues I WieserCanadaAmy Elsner PROPOSAL
Aruna N WhobreyIndiaIvan Magalhaes NEW
Julie S RoysterSpainAnna Fali NEGOTIATION
Maisha H CaldareraItalyAsiya Javayant UNQUALIFIED
Chavez V RoysterSpainBernardo Dominic UNQUALIFIED
Kadeem O CaldareraItalyElwin Sharvill QUALIFIED
Arvin R SchemmerArgentinaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Leon F Foller
Deepesh C Chui
Antonio Z Glick
Chavez X Poquette
Ricardo M Schemmer
Juan U Darakjy
Clifford Q Inouye
Kadeem F Perin
Leon I Shinko
Leja B Bolognia
Leon Y Bolognia
Faith J Ostrosky
Maria Q Shinko
Claire H Caudy
Juan B Sergi
Aruna V Schemmer
Ivar U Briddick
Leja V Gaucho
Chavez R Chui
Leja S Caudy
Octavia C Perin
Misaki E Iturbide
Darci K Marrier
Smith R Slusarski
David F Albares
Maria J Darakjy
Aika X Albares
Munro S Kolmetz
Emily I Garufi
Mujtaba P Maclead
James H Stockham
Morrow X Kusko
Costa W Foller
Jennifer T Ruta
Wickens M Amigon
Faith S Morasca
Mayumi E Briddick
Misaki D Royster
Ricardo W Poquette
Johnson Y Malet
Greenwood B Inouye
Antonio B Rulapaugh
Stacey H Iturbide
Aika H Amigon
Alejandro J Oldroyd
Jeanfrancois L Doe
Maria P Saylors
Cody J Stockham
Ivar O Iturbide
Emily Q Gaucho
IdCountryDate
1000Germany2024-05-28
1001Australia2024-05-20
1002France2024-05-21
1003Spain2024-05-22
1004Russia2024-06-14
1005Australia2024-05-23
1006Australia2024-06-15
1007Japan2024-05-19
1008Japan2024-05-31
1009Canada2024-06-10
1010Japan2024-05-26
1011Japan2024-05-19
1012Germany2024-06-01
1013Brazil2024-06-02
1014Australia2024-05-29
1015India2024-06-11
1016Brazil2024-06-10
1017India2024-06-13
1018Spain2024-06-10
1019Australia2024-05-31
1020Australia2024-06-13
1021Australia2024-05-17
1022United Kingdom2024-06-10
1023France2024-05-26
1024India2024-05-21
1025United Kingdom2024-06-08
1026Canada2024-05-17
1027France2024-06-12
1028United Kingdom2024-05-26
1029Australia2024-06-08
1030Australia2024-06-10
1031Argentina2024-05-20
1032Brazil2024-05-25
1033Japan2024-05-24
1034France2024-05-19
1035Australia2024-06-01
1036India2024-06-06
1037Australia2024-05-31
1038Italy2024-05-28
1039Italy2024-05-17
1040Spain2024-06-06
1041Brazil2024-05-27
1042Germany2024-06-07
1043United Kingdom2024-06-09
1044Australia2024-06-05
1045France2024-05-27
1046United Kingdom2024-06-12
1047Spain2024-06-08
1048Italy2024-05-23
1049Spain2024-06-14

On-Demand Data

NameIdCountryDate
Aditya U Iturbide1000Brazil2024-05-23
Jones V Ruta1001Italy2024-06-06
Wickens F Dilliard1002India2024-06-08
Murillo F Bowley1003United Kingdom2024-06-09
Salvatore D Marrier1004Canada2024-06-02
Francesco Y Rulapaugh1005France2024-06-04
Claire L Campain1006France2024-06-11
Juan S Amigon1007India2024-06-13
Emily D Bowley1008France2024-06-01
Wickens I Tollner1009Brazil2024-06-15
Maisha S Maclead1010Argentina2024-06-03
Ivar N Doe1011Russia2024-05-26
Costa A Poquette1012Germany2024-05-21
Chavez U Ruta1013France2024-06-15
Rodrigues Z Rulapaugh1014Canada2024-05-30
Morrow D Bowley1015Japan2024-05-31
Clifford G Morasca1016Argentina2024-05-20
Jennifer N Paprocki1017United Kingdom2024-06-08
Leon V Malet1018Japan2024-06-14
Kadeem B Schemmer1019India2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki C FerenczItalyAsiya Javayant PROPOSAL
Smith A ShinkoRussiaIvan Magalhaes NEGOTIATION
Jefferson C GillianJapanAnna Fali PROPOSAL
Salvatore A SergiIndiaIoni Bowcher UNQUALIFIED
Maria I AmigonArgentinaBernardo Dominic QUALIFIED
Maisha B DilliardRussiaIoni Bowcher RENEWAL
Stacey H CampainGermanyOnyama Limba QUALIFIED
Sinclair T StockhamFranceElwin Sharvill NEW
Arvin D GlickGermanyAnna Fali UNQUALIFIED
Mujtaba K PoquetteGermanyAnna Fali NEGOTIATION
Morrow O DilliardCanadaBernardo Dominic QUALIFIED
Sinclair S IturbideArgentinaAsiya Javayant NEW
Isabel A StockhamRussiaIoni Bowcher UNQUALIFIED
Leon U RutaFranceIvan Magalhaes RENEWAL
James H MorascaBrazilStephen Shaw NEW
Ashley T OstroskyCanadaElwin Sharvill UNQUALIFIED
Jones C BologniaJapanAnna Fali QUALIFIED
Antonio B CaldareraIndiaXuxue Feng UNQUALIFIED
Costa Q GauchoJapanIvan Magalhaes RENEWAL
Alejandro U PaprockiRussiaElwin Sharvill PROPOSAL
Tony V OldroydBrazilBernardo Dominic UNQUALIFIED
Clifford S CaldareraIndiaElwin Sharvill NEW
Maisha P MorascaRussiaStephen Shaw NEGOTIATION
Arvin M MarrierBrazilBernardo Dominic RENEWAL
Munro L VocelkaAustraliaAmy Elsner NEGOTIATION
James S RutaIndiaXuxue Feng RENEWAL
Costa O BologniaGermanyOnyama Limba RENEWAL
Francesco R PerinAustraliaStephen Shaw PROPOSAL
Smith T DilliardUnited KingdomBernardo Dominic NEGOTIATION
Aditya R CaldareraFranceAmy Elsner NEGOTIATION
Adams P GillianRussiaIoni Bowcher PROPOSAL
Antonio J PerinIndiaAmy Elsner UNQUALIFIED
Rodrigues O TollnerSpainBernardo Dominic QUALIFIED
Antonio H PoquetteGermanyOnyama Limba NEGOTIATION
Sinclair G FerenczCanadaAsiya Javayant RENEWAL
Kaitlin L ButtFranceOnyama Limba NEW
Ricardo U IturbideJapanStephen Shaw RENEWAL
Maria L BriddickIndiaXuxue Feng NEW
Kadeem Y IturbideGermanyIvan Magalhaes UNQUALIFIED
James K BowleyAustraliaAnna Fali RENEWAL

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