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
Jefferson Z DilliardCanadaAsiya Javayant PROPOSAL
Darci H OstroskyItalyIoni Bowcher PROPOSAL
Costa L InouyeIndiaBernardo Dominic RENEWAL
Jeanfrancois X NestleIndiaElwin Sharvill NEW
Leon D GarufiRussiaAsiya Javayant QUALIFIED
Jennifer Y TollnerCanadaAsiya Javayant PROPOSAL
Isabel P TollnerFranceOnyama Limba QUALIFIED
Juan B FollerCanadaOnyama Limba PROPOSAL
Octavia T PerinArgentinaAmy Elsner NEW
Clifford G RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
James N DoeFranceElwin Sharvill QUALIFIED
Emily S MaletRussiaStephen Shaw PROPOSAL
Antonio T IturbideJapanIoni Bowcher PROPOSAL
Deepesh C CampainFranceOnyama Limba NEW
Munro R WaycottArgentinaStephen Shaw NEGOTIATION
Wickens G GlickBrazilIvan Magalhaes NEGOTIATION
Wickens P CampainArgentinaXuxue Feng RENEWAL
Antonio I PaprockiRussiaIoni Bowcher UNQUALIFIED
Chavez A SergiRussiaXuxue Feng PROPOSAL
Stacey K WieserRussiaOnyama Limba NEGOTIATION
Jones R CaudyItalyIvan Magalhaes NEGOTIATION
Stacey N MorascaUnited KingdomElwin Sharvill RENEWAL
Kaitlin O DilliardItalyXuxue Feng UNQUALIFIED
Antonio X PaprockiGermanyAnna Fali UNQUALIFIED
Rodrigues S VenereItalyElwin Sharvill UNQUALIFIED
Emily R WhobreyBrazilAsiya Javayant UNQUALIFIED
Misaki Z IturbideUnited KingdomAsiya Javayant RENEWAL
Izzy I SlusarskiIndiaAmy Elsner RENEWAL
Tony T BologniaUnited KingdomStephen Shaw UNQUALIFIED
Salvatore U IturbideIndiaXuxue Feng UNQUALIFIED
Isabel G DarakjyJapanElwin Sharvill QUALIFIED
Costa N NestleCanadaElwin Sharvill UNQUALIFIED
Leja Z CaldareraFranceBernardo Dominic NEGOTIATION
James B AlbaresArgentinaIvan Magalhaes PROPOSAL
Munro I VocelkaAustraliaIvan Magalhaes QUALIFIED
Jones X MaletArgentinaStephen Shaw NEW
Rodrigues S SlusarskiSpainXuxue Feng NEW
Leja M FlosiIndiaAmy Elsner NEW
Sinclair E AlbaresRussiaXuxue Feng QUALIFIED
Costa K DoeSpainOnyama Limba NEGOTIATION
Munro A MorascaFranceIvan Magalhaes RENEWAL
Claire Y BologniaIndiaIvan Magalhaes RENEWAL
Arvin U TollnerAustraliaXuxue Feng PROPOSAL
Misaki Z KolmetzArgentinaAmy Elsner NEGOTIATION
Clifford K WieserBrazilStephen Shaw NEW
Arvin K StensethIndiaBernardo Dominic NEW
Maria T OstroskyAustraliaBernardo Dominic PROPOSAL
Kaitlin L GlickJapanOnyama Limba PROPOSAL
Aditya D GlickArgentinaIoni Bowcher QUALIFIED
Antonio G GauchoCanadaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Munro X KuskoSpainAsiya Javayant NEGOTIATION
David Q SchemmerGermanyOnyama Limba UNQUALIFIED
Maria E AmigonItalyElwin Sharvill NEW
Leja V NickaBrazilIvan Magalhaes RENEWAL
Mujtaba K CaudyBrazilOnyama Limba NEW
James Y BowleyAustraliaElwin Sharvill RENEWAL
Johnson O AlbaresGermanyAmy Elsner UNQUALIFIED
Cody A FigeroaCanadaBernardo Dominic NEW
Jefferson D MaletUnited KingdomStephen Shaw UNQUALIFIED
Jennifer Y DoeUnited KingdomOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James P BologniaUnited Kingdom2024-05-29Rousseaux, Michael Esq PROPOSAL46Elwin Sharvill
1001James M CaudyJapan2024-06-08Rangoni Of Florence QUALIFIED97Ioni Bowcher
1002Clifford P PerinBrazil2024-05-26Chemel, James L Cpa QUALIFIED37Stephen Shaw
1003Misaki L FigeroaJapan2024-05-29Dorl, James J Esq UNQUALIFIED62Stephen Shaw
1004Mayumi C StockhamCanada2024-05-30Benton, John B Jr QUALIFIED19Onyama Limba
1005David O WaycottAustralia2024-06-10Buckley Miller Wright NEGOTIATION58Amy Elsner
1006Mayumi E FigeroaRussia2024-06-02Commercial Press QUALIFIED73Ioni Bowcher
1007Jeanfrancois X NickaJapan2024-06-04Buckley Miller Wright NEW39Anna Fali
1008Wickens W NickaFrance2024-05-20Dorl, James J Esq NEGOTIATION67Ioni Bowcher
1009Francesco W OstroskyFrance2024-06-05Chapman, Ross E Esq NEW8Amy Elsner
1010Juan C SergiIndia2024-05-23Printing Dimensions PROPOSAL67Xuxue Feng
1011Clifford V TollnerJapan2024-05-24Chemel, James L Cpa QUALIFIED67Ioni Bowcher
1012Leja R ShinkoAustralia2024-06-05Dorl, James J Esq UNQUALIFIED74Onyama Limba
1013Jefferson Z SaylorsFrance2024-06-15King, Christopher A Esq NEW56Onyama Limba
1014Aika L RutaGermany2024-06-13King, Christopher A Esq RENEWAL29Stephen Shaw
1015Ashley K ButtArgentina2024-06-12Rangoni Of Florence UNQUALIFIED37Stephen Shaw
1016Nicolas V PoquetteBrazil2024-05-27Truhlar And Truhlar Attys RENEWAL40Amy Elsner
1017Morrow N PaprockiJapan2024-06-01Morlong Associates RENEWAL64Ivan Magalhaes
1018Chavez T PerinJapan2024-05-24Rangoni Of Florence NEGOTIATION20Stephen Shaw
1019Smith G FollerSpain2024-06-09Chemel, James L Cpa NEGOTIATION56Ivan Magalhaes
1020Jennifer D DilliardIndia2024-06-17Dorl, James J Esq UNQUALIFIED27Elwin Sharvill
1021Jefferson L NestleUnited Kingdom2024-05-21Rousseaux, Michael Esq NEGOTIATION42Onyama Limba
1022Jefferson X BowleyAustralia2024-05-31King, Christopher A Esq NEW4Xuxue Feng
1023Jefferson B RutaUnited Kingdom2024-06-11Buckley Miller Wright NEW27Stephen Shaw
1024Rodrigues S WhobreyArgentina2024-05-26Rangoni Of Florence NEW82Anna Fali
1025Ivar A StockhamCanada2024-06-01Dorl, James J Esq NEGOTIATION20Ioni Bowcher
1026Nicolas D DarakjyAustralia2024-05-21Benton, John B Jr UNQUALIFIED55Elwin Sharvill
1027Mayumi Y OldroydItaly2024-06-04Benton, John B Jr QUALIFIED86Ivan Magalhaes
1028Arvin A KuskoJapan2024-06-10Chapman, Ross E Esq PROPOSAL59Amy Elsner
1029Juan D RimBrazil2024-05-29Chapman, Ross E Esq RENEWAL56Bernardo Dominic
1030Munro C WieserBrazil2024-06-18Rangoni Of Florence QUALIFIED76Bernardo Dominic
1031Juan N PoquetteArgentina2024-06-07Truhlar And Truhlar Attys PROPOSAL97Stephen Shaw
1032Darci T GillianRussia2024-06-15Commercial Press RENEWAL98Ioni Bowcher
1033Chavez W InouyeSpain2024-05-28Feiner Bros UNQUALIFIED78Ivan Magalhaes
1034Julie P SlusarskiJapan2024-06-02Rousseaux, Michael Esq QUALIFIED31Ioni Bowcher
1035Jefferson B CaudyAustralia2024-05-25Buckley Miller Wright UNQUALIFIED63Elwin Sharvill
1036Arvin Z MarrierSpain2024-05-23Morlong Associates QUALIFIED68Anna Fali
1037Greenwood N ShinkoArgentina2024-05-30Truhlar And Truhlar Attys RENEWAL21Xuxue Feng
1038Aditya Y BologniaSpain2024-05-22Morlong Associates NEGOTIATION62Onyama Limba
1039Smith D BriddickFrance2024-05-22Chanay, Jeffrey A Esq NEGOTIATION66Asiya Javayant
1040Costa S KolmetzBrazil2024-05-23Feiner Bros QUALIFIED78Elwin Sharvill
1041Kadeem G ChuiArgentina2024-06-06Dorl, James J Esq NEGOTIATION8Ivan Magalhaes
1042Ricardo G GillianFrance2024-06-09Benton, John B Jr NEW9Anna Fali
1043Arvin J ChuiRussia2024-06-14Benton, John B Jr NEW28Anna Fali
1044Cody E MarrierCanada2024-05-25Truhlar And Truhlar Attys PROPOSAL96Amy Elsner
1045Aditya W VocelkaItaly2024-06-10King, Christopher A Esq QUALIFIED38Xuxue Feng
1046James K FollerFrance2024-05-22Chapman, Ross E Esq NEW47Bernardo Dominic
1047Ivar G RoysterBrazil2024-06-18Commercial Press UNQUALIFIED69Ioni Bowcher
1048Ricardo N GillianUnited Kingdom2024-06-06Truhlar And Truhlar Attys NEW11Onyama Limba
1049Deepesh G RimBrazil2024-05-27Commercial Press QUALIFIED21Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jones M CaldareraFranceIoni Bowcher NEGOTIATION
Deepesh K BriddickSpainElwin Sharvill QUALIFIED
Jeanfrancois Q GarufiIndiaAsiya Javayant RENEWAL
Juan J RoysterAustraliaElwin Sharvill UNQUALIFIED
Octavia X StensethSpainStephen Shaw RENEWAL
Murillo T FerenczFranceAmy Elsner QUALIFIED
Jennifer Z RoysterIndiaAmy Elsner PROPOSAL
Antonio C MaletBrazilElwin Sharvill NEGOTIATION
Costa H DoeCanadaIoni Bowcher PROPOSAL
Salvatore B RulapaughGermanyStephen Shaw PROPOSAL
Leon K NestleUnited KingdomAsiya Javayant UNQUALIFIED
Aika V GillianItalyBernardo Dominic RENEWAL
James I NickaItalyAsiya Javayant PROPOSAL
Nicolas S SlusarskiFranceElwin Sharvill RENEWAL
Emily I StensethBrazilBernardo Dominic NEGOTIATION
Francesco I RoysterIndiaAmy Elsner NEW
Adams N FollerFranceAnna Fali NEW
Isabel G BriddickUnited KingdomStephen Shaw RENEWAL
Sinclair A FerenczFranceIvan Magalhaes PROPOSAL
Alejandro P BriddickUnited KingdomAnna Fali RENEWAL
Jefferson U BologniaUnited KingdomStephen Shaw PROPOSAL
Francesco E BriddickFranceOnyama Limba UNQUALIFIED
Silvio A VocelkaIndiaIvan Magalhaes RENEWAL
Julie K VocelkaCanadaBernardo Dominic UNQUALIFIED
Antonio S BowleyJapanIoni Bowcher NEW
Stacey K BologniaSpainAnna Fali UNQUALIFIED
Octavia M AmigonRussiaOnyama Limba NEW
Ricardo W DoeItalyXuxue Feng UNQUALIFIED
Kadeem P ChuiRussiaAmy Elsner PROPOSAL
Nicolas F ButtFranceAnna Fali QUALIFIED
Morrow P OstroskyJapanElwin Sharvill PROPOSAL
Jones L CaldareraBrazilOnyama Limba PROPOSAL
Deepesh O RoysterFranceOnyama Limba RENEWAL
Juan Z ButtFranceOnyama Limba RENEWAL
Mayumi S DoeFranceIvan Magalhaes NEGOTIATION
Octavia I MorascaSpainStephen Shaw PROPOSAL
Izzy Q DoeGermanyAnna Fali NEGOTIATION
Alejandro V WieserUnited KingdomIvan Magalhaes QUALIFIED
Clifford P VocelkaItalyXuxue Feng RENEWAL
Darci S WhobreyRussiaOnyama Limba QUALIFIED
Munro E OstroskySpainStephen Shaw QUALIFIED
Smith V StockhamAustraliaElwin Sharvill NEW
Maria S ShinkoSpainIvan Magalhaes PROPOSAL
James T StensethUnited KingdomElwin Sharvill NEW
Sinclair L OstroskyItalyBernardo Dominic PROPOSAL
Aruna U SaylorsJapanIoni Bowcher UNQUALIFIED
Costa R VenereJapanIvan Magalhaes RENEWAL
Greenwood G TollnerCanadaAnna Fali RENEWAL
Francesco J GillianSpainStephen Shaw UNQUALIFIED
Juan X BriddickItalyIvan Magalhaes PROPOSAL
Frozen Columns
Name
Morrow O Kusko
Sinclair N Caldarera
Rodrigues I Albares
Octavia I Slusarski
Kaitlin Y Venere
Chavez D Sergi
Mayumi J Saylors
Misaki X Gillian
Nicolas Z Marrier
Deepesh Z Bolognia
Juan E Morasca
Mujtaba E Flosi
Smith I Maclead
Juan H Poquette
Ashley I Inouye
Clifford C Ruta
Misaki Q Venere
Clifford W Kolmetz
David X Briddick
Sinclair G Flosi
Cody G Marrier
Aika U Tollner
Aditya H Venere
Silvio P Bolognia
Nicolas O Bowley
Izzy D Rulapaugh
Jennifer E Amigon
Kaitlin E Stockham
Darci A Garufi
Murillo C Maclead
Isabel Q Gillian
James U Tollner
Ashley G Stenseth
Stacey U Foller
Silvio I Dilliard
Antonio R Inouye
Antonio W Darakjy
Jefferson W Caudy
Munro A Saylors
Alejandro T Ostrosky
Mujtaba G Poquette
Nicolas V Oldroyd
Jefferson S Morasca
Smith M Ferencz
Smith G Garufi
Arvin V Bowley
Ivar C Malet
Nicolas U Wieser
Ivar V Stenseth
Kaitlin U Flosi
IdCountryDate
1000India2024-06-10
1001France2024-06-14
1002Italy2024-05-29
1003Spain2024-05-25
1004Canada2024-06-10
1005Germany2024-05-24
1006Germany2024-06-07
1007Brazil2024-06-14
1008India2024-05-29
1009Russia2024-06-14
1010India2024-06-13
1011Canada2024-06-16
1012Argentina2024-06-16
1013United Kingdom2024-05-27
1014Brazil2024-05-23
1015Spain2024-06-10
1016United Kingdom2024-06-13
1017Argentina2024-05-29
1018Italy2024-06-16
1019Germany2024-06-07
1020Australia2024-05-25
1021Spain2024-06-08
1022Canada2024-06-04
1023Russia2024-06-06
1024Russia2024-05-23
1025Spain2024-06-08
1026Argentina2024-06-16
1027Germany2024-05-24
1028India2024-06-04
1029Australia2024-05-25
1030Spain2024-06-01
1031India2024-06-04
1032France2024-06-06
1033Brazil2024-06-16
1034Spain2024-05-24
1035India2024-05-29
1036Canada2024-06-09
1037Germany2024-05-20
1038Italy2024-06-06
1039Russia2024-05-25
1040India2024-06-01
1041Canada2024-06-05
1042Spain2024-06-03
1043Italy2024-06-15
1044United Kingdom2024-06-18
1045France2024-05-30
1046Spain2024-05-31
1047France2024-05-26
1048Spain2024-05-31
1049France2024-05-20

On-Demand Data

NameIdCountryDate
Arvin B Saylors1000Spain2024-06-08
Aditya Y Nestle1001Argentina2024-06-07
David E Iturbide1002Brazil2024-05-20
James M Figeroa1003Russia2024-05-25
Claire Z Whobrey1004France2024-05-20
Francesco E Waycott1005Argentina2024-05-25
Chavez Z Darakjy1006Spain2024-06-06
Alejandro Y Bolognia1007France2024-06-14
Aditya P Morasca1008Italy2024-06-12
Aruna H Morasca1009Australia2024-05-27
Francesco K Marrier1010France2024-06-10
David F Doe1011India2024-06-05
Nicolas G Gaucho1012United Kingdom2024-05-23
Tony L Kolmetz1013Canada2024-06-17
Antonio P Bolognia1014Brazil2024-06-12
Leja F Oldroyd1015Italy2024-06-18
Julie J Rulapaugh1016Russia2024-06-16
Silvio A Nicka1017Australia2024-05-29
Morrow U Waycott1018Spain2024-05-31
Tony R Whobrey1019United Kingdom2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha X AlbaresCanadaAsiya Javayant UNQUALIFIED
Mayumi G OstroskyItalyStephen Shaw QUALIFIED
Costa P ChuiAustraliaAsiya Javayant NEW
Greenwood K ChuiJapanOnyama Limba RENEWAL
Francesco F InouyeCanadaIoni Bowcher UNQUALIFIED
Julie M GlickItalyBernardo Dominic PROPOSAL
Jefferson G FlosiGermanyStephen Shaw PROPOSAL
Clifford J ButtItalyXuxue Feng NEGOTIATION
Rodrigues V RimFranceIvan Magalhaes NEW
Rodrigues Q AlbaresIndiaAmy Elsner NEGOTIATION
Juan R WaycottItalyOnyama Limba UNQUALIFIED
James Q SlusarskiCanadaAmy Elsner UNQUALIFIED
Costa G AlbaresIndiaBernardo Dominic UNQUALIFIED
Chavez C ButtCanadaStephen Shaw NEGOTIATION
Jones T NickaItalyStephen Shaw UNQUALIFIED
Ivar I GlickAustraliaOnyama Limba NEGOTIATION
Arvin V CampainItalyAmy Elsner PROPOSAL
Arvin O FollerFranceAmy Elsner QUALIFIED
Jones C BologniaIndiaAmy Elsner NEGOTIATION
Wickens C InouyeUnited KingdomAnna Fali NEW
Greenwood H StockhamBrazilStephen Shaw RENEWAL
Morrow I CaudyBrazilAsiya Javayant RENEWAL
Arvin W InouyeSpainAsiya Javayant RENEWAL
Clifford O ChuiIndiaIoni Bowcher PROPOSAL
Jones L GauchoFranceXuxue Feng NEGOTIATION
Rodrigues F GarufiIndiaIvan Magalhaes NEGOTIATION
Jefferson Q KolmetzRussiaOnyama Limba PROPOSAL
Ashley L FollerFranceIvan Magalhaes PROPOSAL
Claire C NestleBrazilBernardo Dominic QUALIFIED
James M BologniaRussiaAmy Elsner PROPOSAL
Ashley F MaletAustraliaElwin Sharvill NEGOTIATION
Cody Q GillianAustraliaIvan Magalhaes NEW
Tony X DarakjyJapanStephen Shaw UNQUALIFIED
Maisha Q RoysterItalyElwin Sharvill UNQUALIFIED
Juan V NestleJapanAmy Elsner NEW
Ricardo Z GillianSpainAsiya Javayant PROPOSAL
Deepesh L AmigonAustraliaXuxue Feng UNQUALIFIED
Kadeem P TollnerJapanAnna Fali RENEWAL
Cody E BowleyArgentinaIoni Bowcher RENEWAL
Maria C BowleyUnited KingdomIoni Bowcher PROPOSAL

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