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
Clifford Y RimUnited KingdomAsiya Javayant NEGOTIATION
Deepesh G SlusarskiItalyBernardo Dominic PROPOSAL
Alejandro R ChuiArgentinaIvan Magalhaes QUALIFIED
Mujtaba Y PoquetteGermanyStephen Shaw NEW
Greenwood L MorascaIndiaAmy Elsner NEGOTIATION
Alejandro N WhobreyRussiaXuxue Feng RENEWAL
Silvio M FollerSpainXuxue Feng RENEWAL
Jeanfrancois H RoysterArgentinaIvan Magalhaes PROPOSAL
Aika P InouyeIndiaOnyama Limba PROPOSAL
Mujtaba W SergiFranceAmy Elsner QUALIFIED
Maria M AmigonItalyAnna Fali NEW
Kaitlin V IturbideGermanyAnna Fali QUALIFIED
Mujtaba W FerenczUnited KingdomElwin Sharvill RENEWAL
Isabel Y TollnerIndiaAmy Elsner UNQUALIFIED
Mayumi K OstroskyFranceElwin Sharvill NEW
Faith Z IturbideArgentinaElwin Sharvill UNQUALIFIED
Wickens W CaudyBrazilIoni Bowcher UNQUALIFIED
Ashley K RulapaughItalyAsiya Javayant PROPOSAL
James H StensethAustraliaElwin Sharvill UNQUALIFIED
Mujtaba R SchemmerAustraliaAsiya Javayant RENEWAL
Francesco E ButtAustraliaIoni Bowcher RENEWAL
Francesco N AlbaresBrazilAmy Elsner PROPOSAL
Murillo H IturbideSpainIoni Bowcher QUALIFIED
Jefferson K CaldareraBrazilIvan Magalhaes PROPOSAL
Greenwood F DoeRussiaElwin Sharvill UNQUALIFIED
Jones E MaletSpainStephen Shaw PROPOSAL
Mayumi S MarrierFranceStephen Shaw NEGOTIATION
Cody Q PerinJapanAmy Elsner NEW
Jones Q CaudyGermanyBernardo Dominic PROPOSAL
Antonio Q BologniaJapanAmy Elsner RENEWAL
Chavez T RulapaughFranceAsiya Javayant NEW
Arvin I DoeItalyStephen Shaw QUALIFIED
Maria Y GauchoUnited KingdomStephen Shaw NEW
Stacey J PaprockiItalyStephen Shaw UNQUALIFIED
David M SergiFranceXuxue Feng RENEWAL
Misaki Q RulapaughJapanIoni Bowcher NEW
Francesco P CaudyAustraliaXuxue Feng NEGOTIATION
Emily T WaycottFranceIoni Bowcher UNQUALIFIED
Jefferson B AmigonBrazilXuxue Feng UNQUALIFIED
Misaki V SaylorsIndiaElwin Sharvill RENEWAL
Octavia O RoysterGermanyAnna Fali QUALIFIED
Munro C CaudyCanadaOnyama Limba NEGOTIATION
Silvio I MacleadIndiaElwin Sharvill UNQUALIFIED
Munro Z AmigonCanadaAmy Elsner PROPOSAL
Jefferson C FigeroaAustraliaXuxue Feng NEGOTIATION
Murillo Y PoquetteUnited KingdomAnna Fali UNQUALIFIED
Maisha Q IturbideCanadaIoni Bowcher NEGOTIATION
Adams I RulapaughGermanyIvan Magalhaes UNQUALIFIED
Leja V PoquetteSpainAnna Fali NEGOTIATION
Silvio E MarrierCanadaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Juan Q FlosiGermanyIvan Magalhaes NEGOTIATION
Kaitlin L PoquetteSpainAnna Fali PROPOSAL
Faith D CaudyArgentinaIoni Bowcher QUALIFIED
Izzy G WhobreyArgentinaAmy Elsner QUALIFIED
Leon H MorascaFranceIvan Magalhaes QUALIFIED
Isabel F ShinkoSpainElwin Sharvill PROPOSAL
Adams G CaldareraBrazilAmy Elsner PROPOSAL
Deepesh I KuskoGermanyIoni Bowcher QUALIFIED
Tony J IturbideFranceXuxue Feng NEGOTIATION
Claire F OldroydIndiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith V FollerUnited Kingdom2024-06-13King, Christopher A Esq NEW36Stephen Shaw
1001Murillo Y MaletArgentina2024-06-16Rangoni Of Florence NEW34Ivan Magalhaes
1002Ashley T PaprockiJapan2024-06-11Chemel, James L Cpa QUALIFIED46Anna Fali
1003Kadeem M RulapaughItaly2024-06-12Buckley Miller Wright NEW95Bernardo Dominic
1004Emily L GauchoArgentina2024-05-23Rangoni Of Florence NEGOTIATION17Xuxue Feng
1005Salvatore L SchemmerFrance2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED92Elwin Sharvill
1006Alejandro A ShinkoSpain2024-06-04King, Christopher A Esq UNQUALIFIED9Stephen Shaw
1007Ricardo S CampainSpain2024-06-04Feiner Bros NEGOTIATION2Onyama Limba
1008Jones W ShinkoFrance2024-05-27Buckley Miller Wright RENEWAL78Xuxue Feng
1009Julie G InouyeFrance2024-05-26Chanay, Jeffrey A Esq QUALIFIED34Ivan Magalhaes
1010Faith X DilliardAustralia2024-05-29Dorl, James J Esq QUALIFIED97Anna Fali
1011Costa E IturbideRussia2024-06-12Morlong Associates NEW68Anna Fali
1012Juan H GlickBrazil2024-06-03Dorl, James J Esq QUALIFIED94Elwin Sharvill
1013Julie X PerinItaly2024-06-15Chemel, James L Cpa UNQUALIFIED5Amy Elsner
1014Juan N DoeFrance2024-05-20Feltz Printing Service RENEWAL81Onyama Limba
1015Ashley H KuskoIndia2024-06-14Chemel, James L Cpa RENEWAL38Amy Elsner
1016Chavez X MaletCanada2024-06-16Commercial Press UNQUALIFIED41Stephen Shaw
1017Silvio E MaletIndia2024-05-29King, Christopher A Esq UNQUALIFIED93Bernardo Dominic
1018Jeanfrancois H GarufiUnited Kingdom2024-06-17Chanay, Jeffrey A Esq PROPOSAL44Ivan Magalhaes
1019Darci I StockhamRussia2024-05-27Printing Dimensions RENEWAL53Asiya Javayant
1020Silvio S WieserRussia2024-05-25Printing Dimensions QUALIFIED69Xuxue Feng
1021Kadeem U KolmetzAustralia2024-06-12Rangoni Of Florence NEW19Bernardo Dominic
1022Morrow H MorascaSpain2024-06-04Printing Dimensions UNQUALIFIED9Ivan Magalhaes
1023Ricardo B NestleAustralia2024-05-26Feiner Bros NEW27Stephen Shaw
1024Leon R PoquetteBrazil2024-06-18King, Christopher A Esq NEW33Ivan Magalhaes
1025Jefferson I SergiItaly2024-05-22Feltz Printing Service UNQUALIFIED56Anna Fali
1026Faith N MaletFrance2024-06-16Buckley Miller Wright NEW29Bernardo Dominic
1027Mujtaba M PerinSpain2024-06-08Dorl, James J Esq QUALIFIED95Onyama Limba
1028Smith E RimRussia2024-05-21King, Christopher A Esq NEGOTIATION9Anna Fali
1029Ivar F NestleUnited Kingdom2024-06-11Rousseaux, Michael Esq NEW7Elwin Sharvill
1030Ivar F MaletGermany2024-06-11Chanay, Jeffrey A Esq RENEWAL12Asiya Javayant
1031Morrow Y DoeRussia2024-06-14Buckley Miller Wright QUALIFIED40Bernardo Dominic
1032Antonio S FerenczCanada2024-05-20Commercial Press RENEWAL33Xuxue Feng
1033Costa B FlosiJapan2024-05-30Chemel, James L Cpa NEGOTIATION28Stephen Shaw
1034Leon M SaylorsJapan2024-06-11Dorl, James J Esq RENEWAL51Onyama Limba
1035Maisha I PaprockiAustralia2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED83Onyama Limba
1036Maria A KolmetzIndia2024-06-05Feltz Printing Service UNQUALIFIED75Asiya Javayant
1037Jefferson W StockhamAustralia2024-05-31Dorl, James J Esq QUALIFIED86Anna Fali
1038Cody W IturbideSpain2024-05-31Dorl, James J Esq RENEWAL4Elwin Sharvill
1039Morrow O ChuiFrance2024-05-30Commercial Press PROPOSAL82Ivan Magalhaes
1040Nicolas B RulapaughFrance2024-05-31King, Christopher A Esq RENEWAL60Elwin Sharvill
1041Octavia W AmigonUnited Kingdom2024-06-18Rangoni Of Florence RENEWAL99Stephen Shaw
1042Clifford I OstroskyItaly2024-06-03Feiner Bros NEGOTIATION85Asiya Javayant
1043David K DilliardAustralia2024-06-16Rangoni Of Florence QUALIFIED52Ivan Magalhaes
1044Alejandro Z MorascaBrazil2024-05-25Benton, John B Jr NEW28Ioni Bowcher
1045Emily C ChuiJapan2024-05-25Chapman, Ross E Esq RENEWAL74Ioni Bowcher
1046Darci O GillianAustralia2024-06-10Rangoni Of Florence PROPOSAL74Stephen Shaw
1047Kadeem I GauchoIndia2024-05-20Truhlar And Truhlar Attys NEGOTIATION70Ivan Magalhaes
1048Maria E WieserJapan2024-05-24King, Christopher A Esq RENEWAL71Onyama Limba
1049Ricardo C BologniaCanada2024-06-06Rousseaux, Michael Esq RENEWAL89Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues C FerenczSpainIoni Bowcher QUALIFIED
Jeanfrancois G IturbideItalyXuxue Feng UNQUALIFIED
Antonio L BologniaIndiaStephen Shaw PROPOSAL
Tony W MacleadCanadaIoni Bowcher UNQUALIFIED
Claire H RoysterAustraliaIvan Magalhaes RENEWAL
Nicolas P InouyeRussiaIvan Magalhaes UNQUALIFIED
Ivar I SaylorsRussiaStephen Shaw RENEWAL
Aruna F CampainIndiaElwin Sharvill NEGOTIATION
Smith D OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Silvio I WaycottBrazilIvan Magalhaes PROPOSAL
Kadeem N CampainFranceStephen Shaw NEW
Adams L AlbaresJapanStephen Shaw UNQUALIFIED
Maisha A DarakjyArgentinaOnyama Limba RENEWAL
Kadeem P WaycottBrazilAmy Elsner PROPOSAL
Leon G MacleadJapanAnna Fali NEW
Murillo Y SaylorsBrazilIoni Bowcher RENEWAL
Juan D SergiItalyAmy Elsner UNQUALIFIED
Maisha D WaycottAustraliaAsiya Javayant QUALIFIED
Alejandro N ButtAustraliaElwin Sharvill PROPOSAL
Izzy U BologniaCanadaXuxue Feng NEGOTIATION
Kadeem S MorascaRussiaAmy Elsner PROPOSAL
Munro H FerenczBrazilOnyama Limba NEGOTIATION
Wickens S GarufiBrazilAsiya Javayant PROPOSAL
Murillo A MaletRussiaAsiya Javayant PROPOSAL
Rodrigues F RimCanadaAnna Fali NEW
Ashley R AlbaresUnited KingdomAsiya Javayant RENEWAL
Deepesh G GauchoUnited KingdomAnna Fali NEW
Octavia B SaylorsCanadaStephen Shaw UNQUALIFIED
Leja W RoysterFranceXuxue Feng QUALIFIED
Tony W MaletBrazilIvan Magalhaes PROPOSAL
Greenwood O StockhamArgentinaIoni Bowcher PROPOSAL
Stacey Q CampainFranceElwin Sharvill NEGOTIATION
Antonio L SlusarskiJapanIvan Magalhaes NEGOTIATION
Ivar U PaprockiAustraliaAnna Fali QUALIFIED
Aruna W OstroskySpainBernardo Dominic PROPOSAL
Adams B CaudyIndiaIoni Bowcher RENEWAL
Jeanfrancois U GauchoArgentinaAnna Fali NEW
Mayumi U StockhamSpainAsiya Javayant NEW
Aruna Y VocelkaCanadaIoni Bowcher NEGOTIATION
David C MacleadArgentinaAmy Elsner NEW
Kaitlin U InouyeBrazilStephen Shaw NEGOTIATION
Mayumi Y GauchoArgentinaAnna Fali QUALIFIED
Jefferson U DilliardArgentinaAmy Elsner RENEWAL
Mujtaba U WaycottAustraliaElwin Sharvill NEGOTIATION
Jennifer X FollerGermanyOnyama Limba QUALIFIED
Mayumi S VocelkaFranceIoni Bowcher UNQUALIFIED
Munro C RimJapanIoni Bowcher PROPOSAL
Juan O MaletArgentinaOnyama Limba RENEWAL
Rodrigues B SchemmerUnited KingdomBernardo Dominic RENEWAL
Chavez R AmigonBrazilOnyama Limba NEGOTIATION
Frozen Columns
Name
David J Vocelka
Ivar I Vocelka
Maisha R Iturbide
Munro J Morasca
Silvio X Briddick
Francesco B Whobrey
Alejandro I Caudy
Darci X Flosi
Octavia K Gaucho
David N Saylors
Francesco E Figeroa
Rodrigues K Saylors
Julie P Marrier
Emily X Glick
Aditya R Tollner
David K Ostrosky
Darci E Whobrey
Jeanfrancois B Malet
Leon E Figeroa
Juan K Amigon
Salvatore X Perin
Tony N Gillian
Silvio I Venere
James J Vocelka
Maria C Nicka
Greenwood F Chui
Johnson S Bowley
Isabel K Venere
Ashley M Stenseth
Ivar W Paprocki
Jefferson K Nicka
Jones N Tollner
Tony D Schemmer
Aruna H Whobrey
Leja L Darakjy
Tony M Gaucho
Julie G Campain
Munro H Butt
Juan P Iturbide
Jennifer A Kolmetz
Wickens V Albares
Arvin B Darakjy
Murillo I Saylors
Antonio L Oldroyd
Tony G Kolmetz
Alejandro M Glick
James B Dilliard
Chavez M Iturbide
Tony R Bolognia
Kadeem S Gaucho
IdCountryDate
1000Germany2024-06-16
1001Italy2024-05-23
1002Australia2024-06-18
1003Japan2024-06-06
1004Germany2024-06-02
1005Spain2024-05-29
1006Italy2024-06-03
1007Russia2024-06-17
1008Italy2024-06-06
1009India2024-06-05
1010Germany2024-06-12
1011France2024-06-16
1012India2024-06-03
1013United Kingdom2024-05-21
1014India2024-06-06
1015France2024-06-09
1016Argentina2024-06-09
1017Canada2024-06-10
1018Italy2024-06-09
1019Brazil2024-05-25
1020Argentina2024-06-07
1021Japan2024-05-20
1022France2024-06-10
1023Australia2024-06-17
1024Japan2024-06-14
1025France2024-05-31
1026Spain2024-06-15
1027France2024-05-28
1028France2024-05-26
1029Germany2024-05-29
1030Brazil2024-06-02
1031Spain2024-05-31
1032Germany2024-05-23
1033Germany2024-05-22
1034India2024-06-12
1035United Kingdom2024-06-03
1036India2024-06-12
1037India2024-05-21
1038Italy2024-06-07
1039France2024-05-30
1040United Kingdom2024-05-22
1041Spain2024-06-05
1042India2024-05-23
1043India2024-05-28
1044France2024-05-31
1045India2024-06-18
1046Germany2024-06-14
1047United Kingdom2024-05-29
1048Germany2024-06-01
1049Italy2024-06-09

On-Demand Data

NameIdCountryDate
Octavia J Glick1000Canada2024-06-12
Jones C Poquette1001Brazil2024-06-17
Rodrigues N Gaucho1002Canada2024-05-27
Jefferson N Amigon1003Russia2024-06-05
Faith L Figeroa1004Italy2024-06-06
Munro S Iturbide1005Brazil2024-06-10
Aditya U Campain1006Spain2024-05-28
Francesco F Ferencz1007Brazil2024-05-28
Maria D Marrier1008Germany2024-06-11
Aika B Stockham1009India2024-05-25
Adams O Bolognia1010Spain2024-06-08
Jefferson J Dilliard1011Germany2024-05-26
Cody P Ferencz1012Canada2024-06-13
Jones B Tollner1013Argentina2024-06-18
Leon B Foller1014Brazil2024-05-28
Alejandro F Amigon1015Italy2024-06-09
Smith G Kolmetz1016Russia2024-06-05
Munro W Malet1017Australia2024-05-27
Kaitlin K Ruta1018Japan2024-05-28
Johnson J Foller1019France2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi T GillianSpainIvan Magalhaes PROPOSAL
Juan J GauchoBrazilAmy Elsner UNQUALIFIED
Mujtaba L ChuiAustraliaIvan Magalhaes PROPOSAL
Aika F AlbaresItalyAmy Elsner QUALIFIED
Maisha R SchemmerGermanyAnna Fali NEGOTIATION
Jennifer I AmigonUnited KingdomAmy Elsner RENEWAL
Jeanfrancois R BowleyGermanyBernardo Dominic RENEWAL
Deepesh Y RimUnited KingdomBernardo Dominic NEGOTIATION
Isabel U PerinBrazilAmy Elsner RENEWAL
Tony P DarakjySpainElwin Sharvill NEGOTIATION
Nicolas O SergiAustraliaAsiya Javayant PROPOSAL
Ashley E TollnerGermanyAsiya Javayant NEGOTIATION
Nicolas Y RimSpainIoni Bowcher RENEWAL
Ivar J BriddickCanadaStephen Shaw QUALIFIED
Jeanfrancois E SergiArgentinaIoni Bowcher UNQUALIFIED
Sinclair I OstroskyJapanAnna Fali NEW
Mujtaba K PerinJapanAsiya Javayant NEW
Aditya Z GlickIndiaOnyama Limba QUALIFIED
Nicolas Y OstroskyAustraliaXuxue Feng RENEWAL
Maria K GlickFranceIvan Magalhaes NEGOTIATION
Deepesh U DoeJapanXuxue Feng PROPOSAL
Ashley H MarrierFranceAnna Fali NEW
Stacey R AmigonIndiaIvan Magalhaes NEW
Mayumi H FigeroaCanadaBernardo Dominic NEW
Tony P KuskoBrazilAnna Fali RENEWAL
Aika E ButtFranceAsiya Javayant RENEWAL
Emily L DoeSpainAsiya Javayant QUALIFIED
Leon K AlbaresBrazilAmy Elsner RENEWAL
Maria U PaprockiItalyAnna Fali QUALIFIED
Aruna W MacleadBrazilElwin Sharvill PROPOSAL
Smith J GillianJapanAmy Elsner NEW
Francesco S StensethSpainIoni Bowcher QUALIFIED
Isabel F StockhamRussiaBernardo Dominic PROPOSAL
Silvio O WieserRussiaIoni Bowcher NEW
Rodrigues P StensethUnited KingdomAsiya Javayant NEGOTIATION
Stacey C KuskoItalyOnyama Limba RENEWAL
Jennifer P TollnerCanadaXuxue Feng UNQUALIFIED
Aika D GauchoArgentinaIvan Magalhaes UNQUALIFIED
Aruna S GauchoGermanyStephen Shaw RENEWAL
Leon C MaletRussiaXuxue Feng QUALIFIED

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