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
Antonio O SchemmerArgentinaAnna Fali QUALIFIED
Mujtaba X OldroydIndiaXuxue Feng UNQUALIFIED
Clifford W ShinkoGermanyOnyama Limba NEW
Nicolas T RutaSpainElwin Sharvill NEW
Mujtaba O RutaCanadaElwin Sharvill RENEWAL
Octavia S PerinArgentinaAsiya Javayant UNQUALIFIED
Alejandro F GarufiFranceStephen Shaw RENEWAL
Misaki D TollnerSpainElwin Sharvill UNQUALIFIED
Octavia D AmigonGermanyStephen Shaw UNQUALIFIED
Claire U RulapaughItalyXuxue Feng RENEWAL
Greenwood Q DoeFranceBernardo Dominic RENEWAL
Aditya N MaletIndiaAnna Fali PROPOSAL
Stacey U RutaIndiaAsiya Javayant QUALIFIED
Chavez C PaprockiUnited KingdomElwin Sharvill RENEWAL
Wickens T RimRussiaBernardo Dominic NEW
Leon K BowleyCanadaStephen Shaw PROPOSAL
Maisha J FlosiRussiaIoni Bowcher NEGOTIATION
Maisha E ChuiJapanBernardo Dominic PROPOSAL
Ricardo T CaudyFranceOnyama Limba QUALIFIED
Leja C PaprockiRussiaElwin Sharvill NEW
Deepesh L SlusarskiCanadaAmy Elsner RENEWAL
Claire L ShinkoSpainBernardo Dominic NEW
Alejandro Y InouyeJapanAmy Elsner QUALIFIED
Jones D RulapaughSpainIoni Bowcher NEW
Mujtaba N PerinUnited KingdomAmy Elsner UNQUALIFIED
David L RutaBrazilStephen Shaw NEGOTIATION
Silvio S FlosiJapanXuxue Feng NEGOTIATION
Isabel N WieserAustraliaAmy Elsner QUALIFIED
Emily S SergiGermanyAsiya Javayant UNQUALIFIED
Kadeem Z RimRussiaIvan Magalhaes UNQUALIFIED
Aditya R ButtJapanElwin Sharvill NEW
Misaki J PoquetteSpainBernardo Dominic PROPOSAL
Costa W WhobreyAustraliaXuxue Feng PROPOSAL
Sinclair Y ShinkoItalyAsiya Javayant UNQUALIFIED
Deepesh Z ShinkoAustraliaElwin Sharvill UNQUALIFIED
Jones H RoysterBrazilStephen Shaw UNQUALIFIED
Antonio M PerinGermanyIvan Magalhaes QUALIFIED
Alejandro T RutaUnited KingdomBernardo Dominic RENEWAL
Deepesh B FlosiUnited KingdomIoni Bowcher NEGOTIATION
Smith U InouyeJapanStephen Shaw PROPOSAL
Maria V RimRussiaIvan Magalhaes QUALIFIED
Murillo W SergiIndiaElwin Sharvill UNQUALIFIED
Jefferson M SlusarskiSpainAmy Elsner RENEWAL
Juan G NestleFranceIvan Magalhaes UNQUALIFIED
Adams J VenereGermanyIoni Bowcher PROPOSAL
Jennifer Q SlusarskiGermanyBernardo Dominic PROPOSAL
Leon S MaletGermanyIvan Magalhaes UNQUALIFIED
Ivar Z GlickCanadaIvan Magalhaes QUALIFIED
Claire W WaycottAustraliaElwin Sharvill UNQUALIFIED
Murillo G StensethArgentinaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues I OldroydSpainAsiya Javayant NEW
Rodrigues D RulapaughGermanyElwin Sharvill QUALIFIED
Salvatore U FigeroaFranceAnna Fali RENEWAL
Isabel Q BowleyRussiaXuxue Feng NEW
Kadeem T PoquetteIndiaIvan Magalhaes RENEWAL
Antonio M FigeroaFranceAnna Fali UNQUALIFIED
Murillo Q CaldareraSpainIoni Bowcher NEGOTIATION
David K KolmetzFranceBernardo Dominic PROPOSAL
Wickens E RutaItalyBernardo Dominic NEW
Jennifer I GillianJapanIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh D SaylorsSpain2026-07-09Chapman, Ross E Esq NEGOTIATION73Onyama Limba
1001Nicolas F CaudyCanada2026-07-11Chanay, Jeffrey A Esq UNQUALIFIED40Bernardo Dominic
1002Kadeem N WaycottJapan2026-07-17King, Christopher A Esq UNQUALIFIED53Anna Fali
1003Stacey I OstroskyJapan2026-07-09Morlong Associates NEW63Bernardo Dominic
1004Salvatore R WieserArgentina2026-07-05Chapman, Ross E Esq NEW28Bernardo Dominic
1005Misaki I StensethUnited Kingdom2026-07-02Rangoni Of Florence QUALIFIED76Asiya Javayant
1006Rodrigues L TollnerIndia2026-07-24Rangoni Of Florence UNQUALIFIED2Amy Elsner
1007Clifford Y NestleCanada2026-07-26Morlong Associates QUALIFIED26Elwin Sharvill
1008Emily U VocelkaFrance2026-07-07Feiner Bros QUALIFIED66Ivan Magalhaes
1009Kaitlin K BologniaCanada2026-07-20Benton, John B Jr PROPOSAL10Stephen Shaw
1010Murillo K GlickGermany2026-07-26Truhlar And Truhlar Attys PROPOSAL62Asiya Javayant
1011Alejandro E AmigonRussia2026-07-04King, Christopher A Esq NEGOTIATION78Asiya Javayant
1012Chavez I MorascaBrazil2026-07-18Rangoni Of Florence UNQUALIFIED24Bernardo Dominic
1013Salvatore I SergiBrazil2026-06-29Truhlar And Truhlar Attys RENEWAL18Elwin Sharvill
1014Mayumi B SlusarskiSpain2026-07-11Morlong Associates RENEWAL0Anna Fali
1015Leja M FerenczFrance2026-07-02Feltz Printing Service PROPOSAL13Amy Elsner
1016Ivar X StensethAustralia2026-07-27Buckley Miller Wright RENEWAL19Xuxue Feng
1017Mujtaba N TollnerFrance2026-06-30Truhlar And Truhlar Attys NEGOTIATION94Anna Fali
1018Adams Z DilliardSpain2026-07-06Feltz Printing Service RENEWAL48Anna Fali
1019Ivar X BriddickAustralia2026-07-05Printing Dimensions PROPOSAL37Amy Elsner
1020Murillo J KuskoSpain2026-07-03Rangoni Of Florence NEW14Asiya Javayant
1021Leja G FlosiItaly2026-07-25Dorl, James J Esq NEW26Xuxue Feng
1022Ricardo E BriddickCanada2026-07-05Buckley Miller Wright RENEWAL11Stephen Shaw
1023Johnson D CaldareraAustralia2026-07-16Chapman, Ross E Esq UNQUALIFIED14Xuxue Feng
1024Costa N DarakjyRussia2026-07-18Dorl, James J Esq NEGOTIATION56Anna Fali
1025Silvio C ChuiRussia2026-07-16Printing Dimensions RENEWAL49Elwin Sharvill
1026Salvatore K AlbaresJapan2026-07-01Morlong Associates NEW58Anna Fali
1027Kaitlin R MaletRussia2026-07-14Printing Dimensions RENEWAL27Amy Elsner
1028Izzy K TollnerCanada2026-07-21Commercial Press NEW32Ivan Magalhaes
1029Darci E WaycottAustralia2026-07-13Rangoni Of Florence QUALIFIED91Ioni Bowcher
1030Kaitlin L FlosiBrazil2026-07-04Chapman, Ross E Esq RENEWAL9Amy Elsner
1031Cody Z PerinGermany2026-07-12Morlong Associates NEGOTIATION23Elwin Sharvill
1032Greenwood G MacleadBrazil2026-07-24Feltz Printing Service NEGOTIATION48Ioni Bowcher
1033Isabel Q ChuiArgentina2026-07-18Dorl, James J Esq PROPOSAL94Onyama Limba
1034Greenwood K KuskoItaly2026-07-21Feltz Printing Service QUALIFIED43Ivan Magalhaes
1035Aika G VocelkaIndia2026-07-23King, Christopher A Esq NEGOTIATION42Ioni Bowcher
1036Izzy L MaletUnited Kingdom2026-07-08Feiner Bros NEGOTIATION61Stephen Shaw
1037Mujtaba I OldroydSpain2026-07-25Feltz Printing Service PROPOSAL99Anna Fali
1038Nicolas H CaldareraArgentina2026-07-08Chapman, Ross E Esq UNQUALIFIED11Bernardo Dominic
1039Jeanfrancois O MacleadBrazil2026-07-23Printing Dimensions NEGOTIATION97Xuxue Feng
1040Ivar M SaylorsGermany2026-07-07Benton, John B Jr NEW70Ivan Magalhaes
1041Maisha S FerenczBrazil2026-07-09Dorl, James J Esq QUALIFIED20Asiya Javayant
1042Morrow P NestleIndia2026-07-27Benton, John B Jr NEGOTIATION58Amy Elsner
1043Emily M CaudyRussia2026-07-03Buckley Miller Wright PROPOSAL94Amy Elsner
1044Adams D MaletBrazil2026-07-15Chanay, Jeffrey A Esq PROPOSAL10Ivan Magalhaes
1045Francesco B RutaRussia2026-07-13Feiner Bros PROPOSAL96Ivan Magalhaes
1046Maria R CampainBrazil2026-07-22Chemel, James L Cpa RENEWAL9Xuxue Feng
1047Rodrigues T WieserRussia2026-07-26Feltz Printing Service QUALIFIED50Onyama Limba
1048Emily J PerinBrazil2026-07-28Rangoni Of Florence QUALIFIED61Ivan Magalhaes
1049Francesco Y VocelkaItaly2026-07-18Chemel, James L Cpa RENEWAL58Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
James F BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Morrow O BriddickItalyOnyama Limba RENEWAL
Tony R MorascaCanadaOnyama Limba UNQUALIFIED
Mujtaba J TollnerAustraliaXuxue Feng NEGOTIATION
Ashley T DilliardJapanElwin Sharvill NEGOTIATION
Kaitlin Q BowleyArgentinaStephen Shaw QUALIFIED
Jefferson P MaletItalyIoni Bowcher UNQUALIFIED
Kaitlin V MacleadUnited KingdomStephen Shaw NEGOTIATION
Smith Y IturbideFranceAmy Elsner NEGOTIATION
Sinclair Q RimSpainBernardo Dominic PROPOSAL
Emily R RoysterUnited KingdomStephen Shaw QUALIFIED
James C RoysterSpainBernardo Dominic RENEWAL
Smith N MaletArgentinaStephen Shaw NEGOTIATION
David T SaylorsItalyOnyama Limba QUALIFIED
Tony X MacleadCanadaOnyama Limba PROPOSAL
Ashley L CampainArgentinaBernardo Dominic NEGOTIATION
David Q FigeroaRussiaIvan Magalhaes UNQUALIFIED
Smith N DilliardJapanIvan Magalhaes NEGOTIATION
Stacey G TollnerGermanyAsiya Javayant QUALIFIED
Maisha V CampainCanadaAsiya Javayant NEGOTIATION
James B DarakjyArgentinaAnna Fali RENEWAL
Jeanfrancois N TollnerRussiaAnna Fali QUALIFIED
Leon E FigeroaGermanyAmy Elsner NEGOTIATION
Maisha N DilliardRussiaBernardo Dominic RENEWAL
Chavez Z NickaItalyAsiya Javayant RENEWAL
Leon F CampainIndiaStephen Shaw UNQUALIFIED
Tony I CampainAustraliaAnna Fali UNQUALIFIED
Salvatore N TollnerFranceElwin Sharvill RENEWAL
Kaitlin X GauchoJapanXuxue Feng QUALIFIED
Cody E RutaUnited KingdomIoni Bowcher PROPOSAL
Maisha F ChuiAustraliaXuxue Feng NEGOTIATION
Murillo D StockhamCanadaIoni Bowcher RENEWAL
Emily F OldroydCanadaOnyama Limba QUALIFIED
James P NickaFranceXuxue Feng RENEWAL
Julie Y MaletAustraliaXuxue Feng UNQUALIFIED
Kaitlin I KuskoBrazilIvan Magalhaes UNQUALIFIED
Arvin B CaudyAustraliaIoni Bowcher RENEWAL
Izzy Y KolmetzAustraliaOnyama Limba NEW
Wickens X ChuiItalyStephen Shaw QUALIFIED
Murillo H RulapaughJapanXuxue Feng QUALIFIED
David D WaycottItalyIoni Bowcher NEGOTIATION
Izzy O BologniaSpainAmy Elsner QUALIFIED
Salvatore F ButtFranceAnna Fali UNQUALIFIED
Smith S PaprockiCanadaBernardo Dominic QUALIFIED
Darci B VenereBrazilAsiya Javayant RENEWAL
James K OstroskySpainElwin Sharvill NEW
Munro I PaprockiItalyBernardo Dominic NEGOTIATION
Ivar P ChuiJapanIoni Bowcher PROPOSAL
Maisha G InouyeBrazilXuxue Feng PROPOSAL
Ashley K ButtAustraliaAsiya Javayant RENEWAL
Frozen Columns
Name
Deepesh K Bowley
Smith I Foller
Izzy R Chui
Stacey S Stenseth
James U Doe
Emily Y Figeroa
Munro F Flosi
Arvin G Poquette
Maria O Ferencz
Antonio O Oldroyd
Rodrigues Q Iturbide
Morrow G Royster
Mayumi O Maclead
Antonio H Inouye
Izzy U Campain
Maria W Morasca
Maisha X Figeroa
Johnson D Paprocki
Jennifer J Saylors
Johnson E Ferencz
Greenwood S Kusko
Chavez U Figeroa
Darci T Vocelka
Jones P Dilliard
Costa E Oldroyd
Silvio N Doe
Julie C Wieser
Leon F Garufi
Juan S Schemmer
Darci Z Glick
Cody Y Royster
Mayumi U Shinko
Mayumi Y Morasca
Antonio G Butt
Rodrigues B Shinko
Maisha V Stenseth
Adams E Doe
Johnson D Caldarera
Clifford G Paprocki
Leja T Nicka
Kadeem A Darakjy
Silvio W Kolmetz
Jeanfrancois U Oldroyd
Jennifer L Chui
Aruna Q Wieser
Aruna A Bowley
Chavez G Kusko
Faith V Schemmer
Maria T Bolognia
Misaki R Ferencz
IdCountryDate
1000United Kingdom2026-07-07
1001United Kingdom2026-07-15
1002France2026-07-20
1003India2026-07-12
1004France2026-07-20
1005Brazil2026-07-04
1006Germany2026-07-09
1007Japan2026-07-10
1008Japan2026-07-02
1009Russia2026-07-06
1010Spain2026-06-30
1011Japan2026-07-26
1012France2026-07-07
1013Russia2026-07-07
1014Russia2026-07-16
1015Germany2026-07-23
1016Russia2026-07-15
1017Brazil2026-07-15
1018Italy2026-07-19
1019Italy2026-07-07
1020United Kingdom2026-07-14
1021United Kingdom2026-07-15
1022Australia2026-07-11
1023India2026-07-11
1024Canada2026-07-05
1025Russia2026-07-23
1026Italy2026-07-20
1027Canada2026-07-06
1028France2026-07-18
1029Italy2026-06-29
1030Italy2026-07-26
1031Brazil2026-07-16
1032United Kingdom2026-07-09
1033India2026-07-11
1034France2026-07-13
1035India2026-07-10
1036United Kingdom2026-07-14
1037Germany2026-07-13
1038Argentina2026-07-07
1039India2026-07-01
1040India2026-07-17
1041Brazil2026-07-24
1042Russia2026-07-03
1043France2026-07-11
1044Italy2026-07-03
1045Brazil2026-06-29
1046Brazil2026-07-14
1047Italy2026-07-24
1048India2026-07-18
1049Italy2026-07-20

On-Demand Data

NameIdCountryDate
Cody X Shinko1000Russia2026-07-03
Emily A Chui1001Japan2026-07-04
Leja H Malet1002Germany2026-06-29
Rodrigues S Slusarski1003Russia2026-07-09
Mayumi E Marrier1004Australia2026-06-30
Jeanfrancois T Ostrosky1005United Kingdom2026-07-24
David Q Caudy1006Spain2026-07-06
Jennifer U Paprocki1007Russia2026-07-28
Aruna Z Maclead1008Australia2026-07-25
Aditya N Dilliard1009Japan2026-07-08
Maria X Ostrosky1010Brazil2026-07-10
Sinclair D Doe1011India2026-07-17
Salvatore Z Oldroyd1012United Kingdom2026-07-20
Jones T Shinko1013Australia2026-07-01
Jennifer O Perin1014Australia2026-07-16
Smith Z Slusarski1015Russia2026-07-23
Leon H Venere1016United Kingdom2026-07-02
Ivar X Doe1017Italy2026-07-06
Deepesh U Marrier1018France2026-07-19
Tony C Bolognia1019France2026-07-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens V GarufiUnited KingdomElwin Sharvill PROPOSAL
Ricardo O DilliardIndiaIvan Magalhaes UNQUALIFIED
Adams J NickaUnited KingdomBernardo Dominic NEW
Nicolas L SlusarskiCanadaAnna Fali PROPOSAL
Ricardo G WhobreyUnited KingdomElwin Sharvill NEW
Silvio M AmigonJapanIvan Magalhaes NEW
Aruna V WhobreyArgentinaStephen Shaw PROPOSAL
Izzy W WieserCanadaIoni Bowcher UNQUALIFIED
Octavia J WhobreySpainBernardo Dominic NEGOTIATION
Tony R AmigonAustraliaBernardo Dominic NEGOTIATION
Ricardo S AlbaresFranceBernardo Dominic NEW
Ashley K FigeroaJapanIvan Magalhaes NEGOTIATION
Ivar N VocelkaArgentinaAnna Fali NEW
Emily S StensethRussiaAsiya Javayant UNQUALIFIED
Ashley C OldroydArgentinaXuxue Feng UNQUALIFIED
Emily J BowleyJapanAnna Fali PROPOSAL
Mayumi R NickaBrazilElwin Sharvill NEGOTIATION
Ricardo K GillianArgentinaOnyama Limba PROPOSAL
Aruna C MacleadSpainXuxue Feng UNQUALIFIED
Cody G MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Maisha I KolmetzSpainXuxue Feng PROPOSAL
Darci L GlickJapanXuxue Feng QUALIFIED
Adams A ChuiItalyElwin Sharvill PROPOSAL
Aika D SergiJapanXuxue Feng RENEWAL
Johnson A StockhamSpainIoni Bowcher UNQUALIFIED
David O CampainAustraliaAmy Elsner UNQUALIFIED
Misaki H AmigonJapanAmy Elsner UNQUALIFIED
Maria C NestleIndiaXuxue Feng NEGOTIATION
Izzy P IturbideItalyBernardo Dominic UNQUALIFIED
Arvin W NickaRussiaXuxue Feng QUALIFIED
Antonio R OstroskyUnited KingdomXuxue Feng RENEWAL
Cody R SlusarskiItalyAsiya Javayant QUALIFIED
Maria Y TollnerIndiaXuxue Feng NEW
David J FigeroaArgentinaIoni Bowcher PROPOSAL
Stacey N BriddickGermanyStephen Shaw NEW
Emily Z GarufiSpainIvan Magalhaes UNQUALIFIED
Jefferson Y InouyeIndiaStephen Shaw UNQUALIFIED
Jeanfrancois F KolmetzRussiaElwin Sharvill NEW
Juan U SaylorsJapanAsiya Javayant PROPOSAL
Arvin N GillianUnited KingdomIoni Bowcher NEGOTIATION

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