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
Stacey M MorascaBrazilAmy Elsner NEGOTIATION
Faith F DilliardFranceAmy Elsner RENEWAL
Mayumi D CaldareraAustraliaAnna Fali PROPOSAL
Darci R SlusarskiItalyBernardo Dominic NEW
Julie U WaycottRussiaAnna Fali RENEWAL
Jennifer M MaletBrazilAnna Fali UNQUALIFIED
Ashley U SaylorsIndiaAsiya Javayant QUALIFIED
Rodrigues I AlbaresSpainAmy Elsner QUALIFIED
Misaki D WieserCanadaAnna Fali PROPOSAL
Octavia E ChuiBrazilStephen Shaw UNQUALIFIED
Octavia F MorascaRussiaIoni Bowcher PROPOSAL
Ricardo O FigeroaJapanAsiya Javayant UNQUALIFIED
Arvin Q RutaAustraliaElwin Sharvill NEGOTIATION
Francesco A CampainJapanAnna Fali NEW
Isabel J WhobreySpainXuxue Feng UNQUALIFIED
Antonio S PaprockiItalyAsiya Javayant NEW
Kadeem E CaldareraBrazilIoni Bowcher NEGOTIATION
Jones H FigeroaBrazilStephen Shaw UNQUALIFIED
Ivar G VocelkaRussiaAmy Elsner PROPOSAL
Stacey N BriddickJapanIvan Magalhaes RENEWAL
Costa B DarakjySpainAmy Elsner UNQUALIFIED
Clifford P MaletRussiaAnna Fali PROPOSAL
Maisha Q GillianItalyIoni Bowcher NEW
Clifford H GarufiJapanElwin Sharvill UNQUALIFIED
Silvio P SaylorsCanadaBernardo Dominic QUALIFIED
Juan P NestleRussiaAsiya Javayant NEGOTIATION
Isabel L MarrierBrazilAnna Fali RENEWAL
Misaki S PoquetteBrazilBernardo Dominic QUALIFIED
Deepesh T BologniaCanadaStephen Shaw QUALIFIED
Costa V PoquetteAustraliaStephen Shaw PROPOSAL
Munro K AlbaresJapanAnna Fali UNQUALIFIED
Julie R BologniaAustraliaBernardo Dominic QUALIFIED
Octavia N ButtFranceStephen Shaw RENEWAL
Ivar Z CaldareraRussiaAmy Elsner NEGOTIATION
Faith X IturbideGermanyIvan Magalhaes PROPOSAL
Clifford Q FigeroaRussiaXuxue Feng NEGOTIATION
Deepesh M PaprockiBrazilBernardo Dominic NEW
Misaki F FlosiJapanAsiya Javayant QUALIFIED
Sinclair V MaletAustraliaOnyama Limba UNQUALIFIED
Munro A OldroydBrazilAnna Fali QUALIFIED
Arvin I FigeroaJapanAsiya Javayant PROPOSAL
Ricardo B FerenczItalyOnyama Limba NEW
Silvio Y PoquetteCanadaIvan Magalhaes NEGOTIATION
Adams U MarrierIndiaXuxue Feng QUALIFIED
Murillo R DilliardCanadaAmy Elsner QUALIFIED
Jefferson G GarufiJapanXuxue Feng PROPOSAL
Smith Y AmigonSpainAnna Fali RENEWAL
Ricardo B BriddickUnited KingdomIvan Magalhaes RENEWAL
Juan S KuskoItalyAsiya Javayant QUALIFIED
Wickens C NestleRussiaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio V MacleadBrazilElwin Sharvill NEGOTIATION
Adams O IturbideRussiaIoni Bowcher UNQUALIFIED
Wickens O BologniaBrazilElwin Sharvill NEGOTIATION
Leon B FigeroaSpainBernardo Dominic UNQUALIFIED
Morrow T IturbideCanadaElwin Sharvill PROPOSAL
Aditya D PaprockiUnited KingdomOnyama Limba PROPOSAL
Cody W RulapaughRussiaOnyama Limba PROPOSAL
Johnson A IturbideRussiaXuxue Feng QUALIFIED
Izzy D OldroydUnited KingdomXuxue Feng QUALIFIED
Izzy F BologniaJapanIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci M CaudySpain2024-06-18Chemel, James L Cpa UNQUALIFIED34Ivan Magalhaes
1001Cody S WaycottItaly2024-06-19Chanay, Jeffrey A Esq NEW53Amy Elsner
1002Salvatore Z GlickGermany2024-06-08Rousseaux, Michael Esq QUALIFIED98Elwin Sharvill
1003Kaitlin Y RutaFrance2024-05-28Rousseaux, Michael Esq QUALIFIED42Onyama Limba
1004Jeanfrancois R PaprockiFrance2024-06-08King, Christopher A Esq UNQUALIFIED71Ivan Magalhaes
1005Octavia J PaprockiGermany2024-06-02Feiner Bros QUALIFIED47Onyama Limba
1006Mayumi J CaldareraFrance2024-06-04Rangoni Of Florence UNQUALIFIED88Stephen Shaw
1007Salvatore B SaylorsFrance2024-06-07Rangoni Of Florence UNQUALIFIED36Bernardo Dominic
1008Sinclair V DilliardItaly2024-06-23Feiner Bros QUALIFIED11Stephen Shaw
1009Julie E FerenczArgentina2024-05-30King, Christopher A Esq QUALIFIED24Xuxue Feng
1010Kaitlin E RutaBrazil2024-06-11Rousseaux, Michael Esq QUALIFIED20Asiya Javayant
1011Claire C SlusarskiJapan2024-06-02Feiner Bros PROPOSAL14Onyama Limba
1012Tony W GlickJapan2024-05-25Rousseaux, Michael Esq NEW6Ivan Magalhaes
1013Adams H CaldareraIndia2024-06-08Morlong Associates QUALIFIED85Ivan Magalhaes
1014Ivar W ShinkoUnited Kingdom2024-06-13Feiner Bros UNQUALIFIED71Ivan Magalhaes
1015Jeanfrancois K PaprockiUnited Kingdom2024-06-13Feltz Printing Service UNQUALIFIED90Onyama Limba
1016Morrow X SergiGermany2024-06-04Dorl, James J Esq NEW46Onyama Limba
1017Munro C SaylorsCanada2024-05-30Feiner Bros NEGOTIATION39Asiya Javayant
1018Adams O MaletCanada2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED83Anna Fali
1019Darci J KolmetzRussia2024-06-07Benton, John B Jr NEW6Onyama Limba
1020Aruna W SlusarskiFrance2024-06-15Dorl, James J Esq RENEWAL64Asiya Javayant
1021Maisha I StensethAustralia2024-06-11Buckley Miller Wright NEGOTIATION60Elwin Sharvill
1022Sinclair O OstroskyAustralia2024-06-23Chapman, Ross E Esq UNQUALIFIED58Onyama Limba
1023James B BriddickCanada2024-05-29Feiner Bros PROPOSAL94Asiya Javayant
1024Leja J WieserBrazil2024-06-02Morlong Associates RENEWAL27Amy Elsner
1025Leja W SchemmerJapan2024-06-23Rangoni Of Florence QUALIFIED38Amy Elsner
1026Ashley F OstroskyCanada2024-06-17Truhlar And Truhlar Attys NEW91Stephen Shaw
1027Silvio Q KolmetzJapan2024-06-12Printing Dimensions PROPOSAL89Ioni Bowcher
1028Juan P RoysterRussia2024-06-21Truhlar And Truhlar Attys QUALIFIED87Anna Fali
1029David N ButtJapan2024-05-30Feiner Bros PROPOSAL2Stephen Shaw
1030Morrow L SaylorsFrance2024-05-26Chemel, James L Cpa UNQUALIFIED39Amy Elsner
1031Claire H PoquetteIndia2024-05-27Truhlar And Truhlar Attys RENEWAL49Bernardo Dominic
1032Leon N StockhamGermany2024-06-03Feltz Printing Service UNQUALIFIED77Stephen Shaw
1033Ivar D ShinkoJapan2024-06-14Dorl, James J Esq NEGOTIATION0Ivan Magalhaes
1034Maria D DoeJapan2024-05-29Morlong Associates NEGOTIATION94Asiya Javayant
1035Faith Z GauchoIndia2024-06-05Rousseaux, Michael Esq NEW7Amy Elsner
1036Darci D SergiCanada2024-06-11Benton, John B Jr RENEWAL99Onyama Limba
1037Clifford F GlickJapan2024-06-03King, Christopher A Esq UNQUALIFIED3Asiya Javayant
1038Rodrigues Q SchemmerCanada2024-06-10Benton, John B Jr PROPOSAL90Ioni Bowcher
1039Salvatore Q MaletIndia2024-05-27Buckley Miller Wright NEW76Xuxue Feng
1040Aika W StensethUnited Kingdom2024-05-30Chanay, Jeffrey A Esq PROPOSAL1Asiya Javayant
1041Faith C InouyeJapan2024-06-07Commercial Press NEGOTIATION64Bernardo Dominic
1042Salvatore V GarufiArgentina2024-06-02Commercial Press RENEWAL60Onyama Limba
1043Ashley J PaprockiBrazil2024-05-27Rangoni Of Florence NEW45Bernardo Dominic
1044Darci J RutaCanada2024-06-10Rangoni Of Florence QUALIFIED30Anna Fali
1045Ashley K DarakjyItaly2024-06-21King, Christopher A Esq NEW61Asiya Javayant
1046Izzy Z SlusarskiAustralia2024-06-02Feltz Printing Service NEW57Elwin Sharvill
1047Morrow Z FerenczSpain2024-06-08Morlong Associates UNQUALIFIED22Ioni Bowcher
1048Izzy L StensethIndia2024-06-22Rousseaux, Michael Esq UNQUALIFIED60Ioni Bowcher
1049Arvin S VenereJapan2024-05-27King, Christopher A Esq NEW41Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Adams J RimJapanAsiya Javayant RENEWAL
Julie Y CaldareraArgentinaAsiya Javayant UNQUALIFIED
Aruna B BowleyArgentinaXuxue Feng NEW
Cody K SchemmerBrazilAmy Elsner RENEWAL
Kaitlin V AlbaresRussiaAsiya Javayant UNQUALIFIED
Izzy M NickaItalyAsiya Javayant PROPOSAL
Ashley F OstroskyJapanStephen Shaw NEGOTIATION
Izzy T RulapaughRussiaBernardo Dominic QUALIFIED
Octavia P SchemmerSpainAmy Elsner UNQUALIFIED
Ricardo I OldroydUnited KingdomElwin Sharvill NEGOTIATION
Mayumi B SaylorsGermanyAmy Elsner UNQUALIFIED
Ivar D BologniaArgentinaAmy Elsner UNQUALIFIED
Murillo P BologniaSpainXuxue Feng PROPOSAL
Francesco A WhobreyGermanyXuxue Feng UNQUALIFIED
Isabel X GauchoArgentinaIvan Magalhaes NEW
Arvin J SchemmerCanadaElwin Sharvill NEW
Julie Z GarufiRussiaOnyama Limba NEW
Maisha H SergiSpainStephen Shaw PROPOSAL
Leon W AlbaresAustraliaBernardo Dominic NEW
Clifford O GillianAustraliaAnna Fali PROPOSAL
Ashley D BriddickAustraliaAnna Fali RENEWAL
Jennifer O SergiUnited KingdomAsiya Javayant NEW
Julie R DilliardCanadaIvan Magalhaes NEW
Claire F BologniaArgentinaStephen Shaw QUALIFIED
Mayumi I GlickCanadaElwin Sharvill UNQUALIFIED
Emily G FigeroaIndiaOnyama Limba RENEWAL
Costa Z RoysterGermanyAmy Elsner RENEWAL
Izzy J MorascaSpainIvan Magalhaes NEGOTIATION
Maisha M ShinkoIndiaOnyama Limba RENEWAL
Jefferson A SaylorsFranceXuxue Feng NEW
Silvio J RulapaughFranceAnna Fali RENEWAL
Chavez U OldroydAustraliaIoni Bowcher RENEWAL
Ashley N RutaArgentinaIvan Magalhaes UNQUALIFIED
Clifford X VocelkaFranceElwin Sharvill NEW
Chavez E SergiIndiaXuxue Feng QUALIFIED
Adams O RutaUnited KingdomXuxue Feng RENEWAL
Aditya P StockhamBrazilAmy Elsner UNQUALIFIED
Alejandro B ButtItalyAnna Fali PROPOSAL
Darci Y WaycottAustraliaIvan Magalhaes RENEWAL
Ricardo Z OldroydItalyAnna Fali PROPOSAL
Smith P CaldareraItalyAmy Elsner UNQUALIFIED
Wickens J FollerAustraliaStephen Shaw QUALIFIED
Mujtaba V RoysterBrazilIoni Bowcher QUALIFIED
Jennifer X PerinGermanyBernardo Dominic PROPOSAL
Darci W BriddickSpainAsiya Javayant NEGOTIATION
Ashley O PaprockiUnited KingdomAnna Fali NEGOTIATION
Ashley U WaycottIndiaIvan Magalhaes NEGOTIATION
Nicolas Q DarakjyIndiaIoni Bowcher NEGOTIATION
Claire Y GillianFranceOnyama Limba RENEWAL
Julie L StensethIndiaAnna Fali PROPOSAL
Frozen Columns
Name
Murillo F Stenseth
Izzy G Caudy
Antonio D Gillian
Emily K Rim
Smith C Gillian
Tony O Gaucho
David I Malet
Nicolas L Stockham
Ivar X Slusarski
Morrow L Chui
Kaitlin C Malet
Salvatore R Rulapaugh
Ricardo V Perin
Jennifer W Flosi
Kadeem D Shinko
Leja K Stockham
Sinclair G Sergi
David S Caudy
Adams I Figeroa
Misaki F Rulapaugh
Isabel D Royster
Maria U Perin
Antonio J Wieser
Rodrigues Z Garufi
Alejandro J Stenseth
Deepesh Z Iturbide
Ashley U Waycott
Emily F Inouye
Silvio J Vocelka
Ashley J Perin
Mujtaba H Butt
James S Darakjy
Faith L Oldroyd
Leon J Rim
Clifford W Doe
Murillo F Marrier
Smith Y Slusarski
Costa P Ruta
Murillo S Waycott
Johnson M Maclead
Wickens M Ostrosky
Mujtaba V Malet
Izzy A Malet
Ashley M Glick
Leja Q Bowley
Ricardo P Waycott
David Y Slusarski
Ashley O Figeroa
Emily E Caudy
Ivar W Royster
IdCountryDate
1000Canada2024-06-19
1001United Kingdom2024-05-25
1002Germany2024-06-06
1003Japan2024-06-19
1004Australia2024-06-22
1005Argentina2024-06-05
1006Japan2024-06-23
1007Australia2024-05-26
1008Japan2024-06-11
1009Germany2024-06-18
1010Argentina2024-06-16
1011Australia2024-06-18
1012Germany2024-06-02
1013Canada2024-06-06
1014France2024-06-18
1015Germany2024-06-13
1016Spain2024-06-22
1017Italy2024-06-17
1018Japan2024-06-09
1019Germany2024-05-28
1020Germany2024-06-05
1021United Kingdom2024-06-03
1022Australia2024-06-06
1023Australia2024-06-10
1024Argentina2024-06-04
1025Australia2024-05-27
1026Argentina2024-06-14
1027United Kingdom2024-06-16
1028Australia2024-06-09
1029Germany2024-06-16
1030Japan2024-05-29
1031Argentina2024-06-20
1032Italy2024-06-11
1033India2024-06-07
1034Russia2024-06-14
1035Russia2024-06-01
1036India2024-06-09
1037Germany2024-06-19
1038Italy2024-06-11
1039Canada2024-06-20
1040Brazil2024-06-11
1041India2024-06-23
1042Canada2024-06-14
1043Argentina2024-06-09
1044Spain2024-06-10
1045Germany2024-05-27
1046Spain2024-06-20
1047Canada2024-06-22
1048France2024-06-16
1049Germany2024-06-05

On-Demand Data

NameIdCountryDate
Sinclair B Poquette1000France2024-05-29
Ivar Y Caudy1001Italy2024-05-29
Wickens D Iturbide1002Argentina2024-06-20
Stacey L Rim1003Italy2024-06-17
Izzy E Bolognia1004Italy2024-06-12
Izzy H Campain1005Brazil2024-05-30
Jennifer G Doe1006Australia2024-06-23
Mayumi Q Inouye1007Germany2024-06-20
Greenwood I Caldarera1008Japan2024-05-29
Stacey P Caldarera1009Germany2024-06-06
Mayumi S Rulapaugh1010Australia2024-06-13
Adams J Stockham1011France2024-06-05
Murillo Q Rim1012Russia2024-06-15
Deepesh F Bowley1013Spain2024-06-02
Costa R Shinko1014Japan2024-05-29
Jefferson P Kolmetz1015United Kingdom2024-05-26
Antonio S Stenseth1016Brazil2024-05-26
Kaitlin C Royster1017Spain2024-06-02
Leja L Slusarski1018Italy2024-06-11
Tony Y Ruta1019Japan2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem S DarakjyJapanOnyama Limba RENEWAL
Costa K StensethAustraliaAsiya Javayant PROPOSAL
Mujtaba Z FerenczArgentinaXuxue Feng NEW
Alejandro V ShinkoBrazilIvan Magalhaes QUALIFIED
Ivar J KuskoArgentinaIvan Magalhaes QUALIFIED
Morrow F InouyeUnited KingdomStephen Shaw NEW
Izzy P RimBrazilIvan Magalhaes RENEWAL
Jefferson T FollerCanadaAmy Elsner NEGOTIATION
Jefferson G WaycottAustraliaStephen Shaw NEGOTIATION
Costa D PaprockiGermanyIoni Bowcher QUALIFIED
Darci U KolmetzIndiaOnyama Limba NEW
Juan F RutaItalyAnna Fali UNQUALIFIED
Aika O WieserCanadaOnyama Limba UNQUALIFIED
Jennifer L RoysterSpainAnna Fali PROPOSAL
Rodrigues E OstroskyCanadaStephen Shaw UNQUALIFIED
Kaitlin L GillianSpainXuxue Feng QUALIFIED
Maisha I PaprockiItalyIvan Magalhaes NEGOTIATION
Jennifer T InouyeJapanStephen Shaw PROPOSAL
Faith A BriddickUnited KingdomOnyama Limba NEW
Emily Y TollnerItalyAmy Elsner RENEWAL
Julie R FollerJapanXuxue Feng RENEWAL
Adams Y GillianSpainIoni Bowcher UNQUALIFIED
Salvatore F StensethAustraliaAnna Fali PROPOSAL
Adams H WieserRussiaStephen Shaw NEGOTIATION
Ivar J RutaFranceAsiya Javayant QUALIFIED
Jones G NickaIndiaIoni Bowcher NEGOTIATION
Kaitlin Z RulapaughGermanyBernardo Dominic QUALIFIED
Ivar M VenereUnited KingdomXuxue Feng QUALIFIED
Wickens X AlbaresRussiaBernardo Dominic PROPOSAL
Leja T KolmetzUnited KingdomOnyama Limba RENEWAL
Alejandro Q KuskoCanadaStephen Shaw PROPOSAL
Adams V KuskoGermanyAsiya Javayant QUALIFIED
Arvin U BriddickBrazilStephen Shaw PROPOSAL
Ricardo R MaletIndiaStephen Shaw QUALIFIED
Silvio B PerinCanadaBernardo Dominic UNQUALIFIED
Clifford J MorascaGermanyIvan Magalhaes NEW
Smith L MaletAustraliaBernardo Dominic PROPOSAL
Nicolas N GarufiRussiaOnyama Limba UNQUALIFIED
Jeanfrancois O WaycottGermanyStephen Shaw NEGOTIATION
Leja T BologniaUnited KingdomAnna Fali UNQUALIFIED

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