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
Leja I ButtSpainElwin Sharvill UNQUALIFIED
Ivar N GauchoBrazilIoni Bowcher NEW
Wickens X SergiGermanyAmy Elsner PROPOSAL
Clifford A MaletCanadaElwin Sharvill QUALIFIED
David N FollerItalyAsiya Javayant NEW
Alejandro Y CaldareraArgentinaXuxue Feng RENEWAL
Misaki A StockhamBrazilAnna Fali UNQUALIFIED
Stacey D CampainBrazilBernardo Dominic QUALIFIED
Emily Z AlbaresBrazilIoni Bowcher QUALIFIED
Wickens K MaletGermanyIvan Magalhaes NEW
Jeanfrancois Y SaylorsJapanAsiya Javayant QUALIFIED
Adams U MaletAustraliaOnyama Limba UNQUALIFIED
Chavez L OstroskyArgentinaBernardo Dominic PROPOSAL
Arvin C RulapaughCanadaAnna Fali PROPOSAL
Tony M MaletItalyXuxue Feng PROPOSAL
Claire E TollnerRussiaAsiya Javayant UNQUALIFIED
Nicolas A DarakjyJapanOnyama Limba RENEWAL
Murillo R AmigonItalyAsiya Javayant QUALIFIED
Wickens X GlickJapanIvan Magalhaes NEW
Aditya X DilliardJapanAsiya Javayant UNQUALIFIED
Jennifer O CaudyRussiaAsiya Javayant QUALIFIED
David F InouyeRussiaXuxue Feng NEW
Morrow O FlosiArgentinaAnna Fali QUALIFIED
Ashley L PaprockiBrazilStephen Shaw UNQUALIFIED
Ricardo J VocelkaAustraliaBernardo Dominic QUALIFIED
Aditya D FlosiRussiaBernardo Dominic RENEWAL
Silvio U ChuiAustraliaAmy Elsner UNQUALIFIED
Ricardo T MacleadAustraliaOnyama Limba PROPOSAL
David D RoysterUnited KingdomIvan Magalhaes NEW
Silvio L SergiItalyXuxue Feng NEW
Aika G OldroydCanadaAnna Fali RENEWAL
Jeanfrancois Y ChuiFranceAsiya Javayant QUALIFIED
Leon C InouyeIndiaElwin Sharvill QUALIFIED
Octavia P InouyeArgentinaBernardo Dominic NEW
Stacey O GarufiAustraliaXuxue Feng NEGOTIATION
Silvio M RoysterCanadaOnyama Limba QUALIFIED
Maria G RulapaughJapanIvan Magalhaes RENEWAL
Deepesh B VenereItalyIvan Magalhaes RENEWAL
Munro M RoysterArgentinaStephen Shaw PROPOSAL
Costa F NickaGermanyElwin Sharvill RENEWAL
Johnson G CaudyUnited KingdomOnyama Limba PROPOSAL
Clifford B SaylorsSpainAmy Elsner UNQUALIFIED
Maria X StockhamArgentinaStephen Shaw PROPOSAL
Nicolas L SchemmerIndiaBernardo Dominic NEGOTIATION
Smith G VocelkaIndiaAmy Elsner PROPOSAL
Mayumi K GauchoGermanyStephen Shaw NEGOTIATION
Deepesh Z NestleJapanStephen Shaw PROPOSAL
Johnson G OldroydJapanXuxue Feng PROPOSAL
Misaki F PaprockiGermanyOnyama Limba PROPOSAL
Rodrigues J OldroydFranceOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens Z ShinkoItalyXuxue Feng NEW
Octavia O CampainSpainAsiya Javayant RENEWAL
Claire P FlosiSpainAnna Fali RENEWAL
Tony K WhobreyFranceXuxue Feng RENEWAL
Julie W MorascaIndiaIoni Bowcher RENEWAL
Julie Z DoeAustraliaAsiya Javayant QUALIFIED
Alejandro Q InouyeIndiaIvan Magalhaes NEGOTIATION
Deepesh V BologniaAustraliaElwin Sharvill UNQUALIFIED
Chavez U ButtJapanIvan Magalhaes NEW
Arvin N AlbaresFranceAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford I BriddickJapan2024-05-29Chapman, Ross E Esq RENEWAL83Ioni Bowcher
1001Smith U PaprockiSpain2024-06-16Chapman, Ross E Esq NEGOTIATION15Elwin Sharvill
1002Salvatore H FlosiSpain2024-06-13Buckley Miller Wright RENEWAL89Asiya Javayant
1003Greenwood A PaprockiIndia2024-06-13Rousseaux, Michael Esq PROPOSAL67Elwin Sharvill
1004Nicolas H BologniaJapan2024-06-06Rousseaux, Michael Esq QUALIFIED79Bernardo Dominic
1005Francesco C MorascaIndia2024-06-09King, Christopher A Esq UNQUALIFIED78Elwin Sharvill
1006Antonio T SlusarskiIndia2024-06-08Morlong Associates PROPOSAL40Elwin Sharvill
1007Claire J GlickFrance2024-06-21Truhlar And Truhlar Attys QUALIFIED93Anna Fali
1008Mayumi P DarakjyCanada2024-06-04Rangoni Of Florence NEGOTIATION49Amy Elsner
1009Aruna I VenereUnited Kingdom2024-05-31Feltz Printing Service NEW96Asiya Javayant
1010Jefferson A SergiJapan2024-06-14Benton, John B Jr UNQUALIFIED54Bernardo Dominic
1011Octavia A StensethJapan2024-06-16Chapman, Ross E Esq PROPOSAL33Ivan Magalhaes
1012Aika Z WhobreyItaly2024-06-12Feiner Bros NEW80Stephen Shaw
1013Jeanfrancois T BologniaFrance2024-06-16Truhlar And Truhlar Attys PROPOSAL27Xuxue Feng
1014Isabel C DarakjyCanada2024-05-26Buckley Miller Wright NEW1Amy Elsner
1015Nicolas N TollnerSpain2024-06-06Rangoni Of Florence UNQUALIFIED18Ivan Magalhaes
1016Emily A ShinkoSpain2024-06-23Dorl, James J Esq QUALIFIED83Ioni Bowcher
1017Deepesh J VenereUnited Kingdom2024-06-18Commercial Press UNQUALIFIED11Amy Elsner
1018Kadeem K BriddickBrazil2024-06-18Buckley Miller Wright PROPOSAL89Ivan Magalhaes
1019Murillo M FlosiArgentina2024-06-07Morlong Associates RENEWAL17Elwin Sharvill
1020Tony I DoeBrazil2024-06-08Commercial Press UNQUALIFIED92Ioni Bowcher
1021Chavez E RulapaughUnited Kingdom2024-06-24Chapman, Ross E Esq NEGOTIATION84Asiya Javayant
1022Mujtaba N StockhamItaly2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED14Ioni Bowcher
1023Ricardo P OstroskyIndia2024-06-05Truhlar And Truhlar Attys QUALIFIED86Onyama Limba
1024Faith M CaldareraFrance2024-06-11Commercial Press QUALIFIED46Bernardo Dominic
1025Francesco I KolmetzRussia2024-06-08Buckley Miller Wright PROPOSAL85Onyama Limba
1026James K ShinkoIndia2024-06-10Benton, John B Jr RENEWAL31Ioni Bowcher
1027Isabel H KolmetzSpain2024-06-08Printing Dimensions PROPOSAL61Xuxue Feng
1028Emily H SchemmerIndia2024-06-01Rousseaux, Michael Esq NEGOTIATION62Xuxue Feng
1029Ricardo W DarakjyRussia2024-06-20Chemel, James L Cpa PROPOSAL8Anna Fali
1030Adams N GarufiUnited Kingdom2024-06-07Commercial Press QUALIFIED52Ivan Magalhaes
1031Antonio V AlbaresArgentina2024-06-03Rangoni Of Florence QUALIFIED41Ioni Bowcher
1032Aditya D SaylorsFrance2024-05-26Feltz Printing Service NEGOTIATION96Xuxue Feng
1033Maria G RoysterArgentina2024-06-21Morlong Associates NEGOTIATION24Xuxue Feng
1034Costa O RutaRussia2024-06-09Dorl, James J Esq QUALIFIED87Ioni Bowcher
1035Ashley L StockhamArgentina2024-06-21Printing Dimensions NEGOTIATION66Amy Elsner
1036Stacey R WieserBrazil2024-06-10Buckley Miller Wright PROPOSAL51Asiya Javayant
1037Juan A SchemmerIndia2024-06-17Truhlar And Truhlar Attys NEGOTIATION2Ivan Magalhaes
1038Jennifer R RutaAustralia2024-05-29Dorl, James J Esq RENEWAL90Onyama Limba
1039Rodrigues D DarakjyItaly2024-06-10Buckley Miller Wright RENEWAL80Elwin Sharvill
1040Emily E CaldareraRussia2024-05-30Chapman, Ross E Esq QUALIFIED50Bernardo Dominic
1041Maisha Z TollnerIndia2024-06-05Commercial Press NEW5Xuxue Feng
1042Rodrigues Q RutaJapan2024-06-19Feiner Bros RENEWAL65Xuxue Feng
1043Leon B RoysterRussia2024-06-19Benton, John B Jr NEGOTIATION70Ivan Magalhaes
1044Johnson U VocelkaSpain2024-06-07Rousseaux, Michael Esq UNQUALIFIED98Asiya Javayant
1045Maisha G IturbideCanada2024-06-11King, Christopher A Esq NEGOTIATION31Bernardo Dominic
1046Octavia V CampainUnited Kingdom2024-06-13Feiner Bros QUALIFIED63Ioni Bowcher
1047Jennifer B WaycottBrazil2024-05-31Buckley Miller Wright RENEWAL71Elwin Sharvill
1048Antonio L SaylorsRussia2024-06-06Printing Dimensions QUALIFIED22Xuxue Feng
1049Stacey P ShinkoIndia2024-05-31Feltz Printing Service NEW10Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Francesco O OldroydAustraliaOnyama Limba QUALIFIED
Maria W GarufiIndiaIvan Magalhaes NEGOTIATION
Antonio S GauchoRussiaBernardo Dominic PROPOSAL
Maisha W CaudyGermanyXuxue Feng PROPOSAL
Aditya W PaprockiGermanyElwin Sharvill PROPOSAL
Mayumi P PoquetteGermanyElwin Sharvill RENEWAL
Smith B StockhamFranceIvan Magalhaes NEGOTIATION
Arvin U VenereArgentinaAsiya Javayant NEGOTIATION
Tony O NickaCanadaElwin Sharvill NEW
Alejandro P DoeUnited KingdomIoni Bowcher NEGOTIATION
Chavez Z OstroskyItalyXuxue Feng NEW
Jones A NickaAustraliaXuxue Feng QUALIFIED
Misaki F NestleItalyBernardo Dominic RENEWAL
Sinclair K MaletGermanyAnna Fali NEGOTIATION
Alejandro D MorascaGermanyIvan Magalhaes NEW
Aditya S SchemmerGermanyElwin Sharvill NEGOTIATION
Sinclair G MaletRussiaElwin Sharvill PROPOSAL
James Y RimSpainXuxue Feng UNQUALIFIED
James C InouyeJapanIoni Bowcher NEW
Munro T WhobreyFranceAnna Fali NEW
Ricardo L GlickItalyXuxue Feng QUALIFIED
Costa H CaudyJapanBernardo Dominic QUALIFIED
Cody X BologniaItalyXuxue Feng RENEWAL
Darci X MaletGermanyIvan Magalhaes PROPOSAL
Kadeem W PerinIndiaOnyama Limba PROPOSAL
Nicolas I KolmetzRussiaAmy Elsner NEW
Aruna T DarakjyFranceOnyama Limba NEGOTIATION
Octavia X RutaRussiaBernardo Dominic RENEWAL
Smith H DoeFranceXuxue Feng QUALIFIED
Nicolas E SlusarskiAustraliaElwin Sharvill RENEWAL
Mayumi D RoysterGermanyStephen Shaw PROPOSAL
Cody V DarakjyCanadaXuxue Feng RENEWAL
Maisha M MacleadGermanyAsiya Javayant PROPOSAL
Julie E MaletBrazilStephen Shaw NEW
Juan B StockhamRussiaBernardo Dominic PROPOSAL
Ivar M MaletBrazilAmy Elsner RENEWAL
Leon K CaudyItalyBernardo Dominic UNQUALIFIED
Jefferson X TollnerBrazilIvan Magalhaes UNQUALIFIED
Leja K SlusarskiBrazilElwin Sharvill PROPOSAL
Kadeem G DarakjyBrazilStephen Shaw NEW
Jones G GarufiAustraliaAnna Fali NEW
Silvio S SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Ivar O WhobreyJapanAmy Elsner RENEWAL
Ivar Z CampainCanadaAsiya Javayant UNQUALIFIED
Maria N BologniaJapanIoni Bowcher QUALIFIED
Jefferson C KolmetzBrazilAnna Fali QUALIFIED
Ivar V SaylorsItalyAmy Elsner RENEWAL
Morrow K CampainItalyBernardo Dominic NEGOTIATION
Jennifer D AmigonIndiaAsiya Javayant NEGOTIATION
Darci I PerinUnited KingdomStephen Shaw PROPOSAL
Frozen Columns
Name
Ricardo R Maclead
Rodrigues U Dilliard
Wickens K Slusarski
Maria T Shinko
Kadeem G Nestle
Murillo T Saylors
Aditya N Rim
Octavia J Iturbide
Wickens Z Rim
Smith Y Rulapaugh
Claire B Darakjy
Ricardo D Gillian
Sinclair C Ruta
Deepesh S Garufi
Maisha J Rulapaugh
Aditya V Inouye
Cody T Saylors
Misaki E Nestle
Munro Y Tollner
Francesco L Rulapaugh
Cody R Wieser
Salvatore B Ruta
Jeanfrancois N Bowley
Deepesh E Tollner
Ricardo F Wieser
Costa A Marrier
Kaitlin Z Nestle
Cody N Butt
Izzy V Inouye
Francesco I Stockham
Darci D Malet
Murillo Z Garufi
Mayumi B Iturbide
Cody W Garufi
Morrow D Sergi
Aruna C Caudy
Aruna Y Foller
Rodrigues O Caldarera
Emily Z Caldarera
Jefferson K Tollner
Jones I Slusarski
Misaki M Albares
Ivar W Malet
Ivar N Chui
Smith C Bolognia
Aditya Z Foller
James B Caldarera
Ashley M Doe
Arvin X Marrier
Mujtaba S Marrier
IdCountryDate
1000Canada2024-05-31
1001India2024-06-05
1002Spain2024-06-18
1003Spain2024-06-02
1004France2024-06-23
1005India2024-06-07
1006Italy2024-06-10
1007India2024-06-13
1008Italy2024-06-15
1009Italy2024-06-04
1010Australia2024-06-21
1011France2024-06-02
1012Italy2024-06-17
1013Canada2024-06-08
1014Italy2024-06-03
1015Argentina2024-06-06
1016Spain2024-06-03
1017Canada2024-06-23
1018Brazil2024-06-02
1019Spain2024-06-17
1020Spain2024-06-14
1021Argentina2024-06-07
1022Australia2024-06-10
1023Australia2024-06-13
1024Brazil2024-06-03
1025Germany2024-06-21
1026India2024-06-24
1027Russia2024-06-04
1028Italy2024-06-06
1029Germany2024-06-05
1030Australia2024-05-28
1031Japan2024-06-01
1032France2024-06-22
1033Canada2024-06-15
1034France2024-06-18
1035Australia2024-06-10
1036Australia2024-06-23
1037Japan2024-06-12
1038Canada2024-06-01
1039Argentina2024-05-29
1040Spain2024-06-07
1041France2024-05-29
1042United Kingdom2024-06-18
1043India2024-06-11
1044Australia2024-06-24
1045Russia2024-06-14
1046India2024-06-23
1047Russia2024-05-28
1048Spain2024-05-30
1049Italy2024-06-05

On-Demand Data

NameIdCountryDate
Tony G Campain1000Spain2024-05-29
James G Maclead1001Argentina2024-05-27
Mayumi A Caudy1002Australia2024-06-08
Kaitlin O Nicka1003Australia2024-06-12
Jennifer M Figeroa1004Japan2024-06-06
Izzy J Malet1005Italy2024-06-19
Alejandro O Rim1006Canada2024-05-28
Maria G Marrier1007France2024-06-01
Tony V Stenseth1008United Kingdom2024-06-15
Greenwood E Sergi1009Japan2024-06-13
James C Marrier1010United Kingdom2024-06-09
Jennifer I Figeroa1011France2024-06-14
Kadeem X Darakjy1012France2024-06-10
David H Maclead1013United Kingdom2024-06-14
Deepesh T Malet1014Italy2024-05-30
Ricardo K Albares1015Spain2024-06-22
David T Inouye1016France2024-06-06
Maria P Shinko1017France2024-06-02
James J Gaucho1018Spain2024-06-08
Mujtaba E Whobrey1019France2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha L WhobreyAustraliaOnyama Limba UNQUALIFIED
Deepesh Y BowleyArgentinaIoni Bowcher RENEWAL
Kadeem Z TollnerRussiaAmy Elsner QUALIFIED
Arvin P WaycottAustraliaAsiya Javayant RENEWAL
Murillo R CampainIndiaAmy Elsner NEGOTIATION
Antonio C DoeArgentinaAsiya Javayant UNQUALIFIED
Deepesh U CaudyUnited KingdomAsiya Javayant QUALIFIED
Emily T GlickIndiaElwin Sharvill PROPOSAL
Kadeem J InouyeSpainStephen Shaw QUALIFIED
Costa N RimCanadaElwin Sharvill UNQUALIFIED
Adams G StockhamUnited KingdomXuxue Feng RENEWAL
Emily I DarakjyJapanXuxue Feng PROPOSAL
Maisha E BriddickAustraliaElwin Sharvill NEW
Cody Z FlosiIndiaAsiya Javayant NEGOTIATION
Leja A ButtAustraliaOnyama Limba UNQUALIFIED
Claire A AlbaresRussiaAnna Fali NEW
Emily P ShinkoSpainXuxue Feng PROPOSAL
Darci L CaldareraArgentinaElwin Sharvill NEGOTIATION
Cody R FollerJapanIvan Magalhaes NEW
Aditya D PaprockiRussiaAsiya Javayant PROPOSAL
Maisha M SchemmerUnited KingdomAsiya Javayant RENEWAL
David P SchemmerJapanIoni Bowcher NEW
Izzy J RutaSpainOnyama Limba QUALIFIED
Silvio W InouyeAustraliaAnna Fali PROPOSAL
Tony D PaprockiUnited KingdomAnna Fali QUALIFIED
Isabel X InouyeArgentinaXuxue Feng PROPOSAL
Deepesh H DarakjyUnited KingdomAnna Fali RENEWAL
Ashley L MaletArgentinaElwin Sharvill RENEWAL
Smith O VenereRussiaBernardo Dominic NEGOTIATION
Alejandro K CaudyBrazilElwin Sharvill UNQUALIFIED
Isabel Z CaudyIndiaAnna Fali UNQUALIFIED
Jefferson X KolmetzArgentinaElwin Sharvill PROPOSAL
Rodrigues A StockhamAustraliaXuxue Feng QUALIFIED
James T KolmetzJapanAmy Elsner NEGOTIATION
Stacey M StensethRussiaXuxue Feng NEW
Maria E FerenczItalyBernardo Dominic NEGOTIATION
Kaitlin U OstroskyBrazilAnna Fali QUALIFIED
Deepesh O GauchoGermanyIoni Bowcher NEW
Deepesh W StensethGermanyIoni Bowcher QUALIFIED
Murillo R MorascaGermanyIoni 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>