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
Sinclair Y StensethItalyAmy Elsner UNQUALIFIED
Adams L RimUnited KingdomIoni Bowcher UNQUALIFIED
Jefferson D VocelkaRussiaIoni Bowcher UNQUALIFIED
Costa S FigeroaJapanAmy Elsner NEGOTIATION
Rodrigues D GarufiJapanAsiya Javayant NEW
Adams D GarufiFranceIoni Bowcher QUALIFIED
Octavia U FigeroaSpainXuxue Feng NEGOTIATION
Cody H GlickGermanyAsiya Javayant UNQUALIFIED
Mujtaba R KuskoFranceStephen Shaw QUALIFIED
Ashley N GarufiJapanElwin Sharvill UNQUALIFIED
Francesco T PoquetteGermanyBernardo Dominic UNQUALIFIED
Antonio Q FollerCanadaElwin Sharvill PROPOSAL
Kaitlin Q AmigonFranceXuxue Feng NEGOTIATION
Aditya H BriddickGermanyBernardo Dominic PROPOSAL
Johnson Q RimArgentinaAmy Elsner PROPOSAL
Jones X BowleySpainAnna Fali PROPOSAL
Izzy L CampainFranceXuxue Feng NEW
Antonio F MorascaItalyAmy Elsner NEW
Adams T StockhamBrazilElwin Sharvill NEW
Maisha Z KuskoCanadaAsiya Javayant QUALIFIED
Chavez F DilliardJapanIoni Bowcher PROPOSAL
Ivar H RulapaughItalyBernardo Dominic NEW
Julie V GillianCanadaStephen Shaw NEW
Sinclair T DarakjySpainAmy Elsner NEW
Greenwood G ShinkoAustraliaAnna Fali PROPOSAL
Rodrigues R StensethJapanIvan Magalhaes UNQUALIFIED
Mayumi S FlosiJapanBernardo Dominic UNQUALIFIED
Aditya O MarrierAustraliaAnna Fali NEGOTIATION
Faith U CaudyCanadaAsiya Javayant PROPOSAL
Julie C CaldareraFranceBernardo Dominic UNQUALIFIED
Chavez S AmigonBrazilOnyama Limba QUALIFIED
Juan P GlickArgentinaAmy Elsner UNQUALIFIED
Kadeem W GillianUnited KingdomIvan Magalhaes PROPOSAL
Greenwood X BowleyIndiaIoni Bowcher PROPOSAL
Smith R FlosiArgentinaAnna Fali PROPOSAL
Chavez I BowleyGermanyIoni Bowcher NEGOTIATION
Jefferson T PaprockiSpainAsiya Javayant UNQUALIFIED
Ricardo F RutaSpainOnyama Limba UNQUALIFIED
Wickens U SlusarskiBrazilAmy Elsner NEGOTIATION
Cody A AmigonIndiaOnyama Limba NEW
Kaitlin D FerenczBrazilElwin Sharvill RENEWAL
Aruna A MorascaIndiaAsiya Javayant NEGOTIATION
Costa I FlosiRussiaXuxue Feng RENEWAL
Morrow J MorascaJapanIoni Bowcher QUALIFIED
Juan Y DilliardFranceXuxue Feng NEGOTIATION
Jefferson B PoquetteBrazilAsiya Javayant QUALIFIED
Nicolas U KolmetzIndiaIoni Bowcher NEGOTIATION
Claire D OstroskyFranceBernardo Dominic QUALIFIED
James J RimArgentinaXuxue Feng QUALIFIED
Greenwood P ButtItalyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya H CampainRussiaElwin Sharvill PROPOSAL
Deepesh F InouyeJapanElwin Sharvill NEW
Claire C PaprockiGermanyXuxue Feng NEGOTIATION
Francesco W ButtUnited KingdomBernardo Dominic PROPOSAL
Silvio Y FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna C MarrierIndiaOnyama Limba NEGOTIATION
Octavia W GlickItalyXuxue Feng PROPOSAL
Deepesh C CaudyGermanyAnna Fali UNQUALIFIED
Izzy K MorascaBrazilStephen Shaw PROPOSAL
Clifford C BriddickItalyBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan T KuskoIndia2024-06-09Printing Dimensions QUALIFIED80Onyama Limba
1001Kadeem Q StockhamItaly2024-06-11Feltz Printing Service QUALIFIED62Onyama Limba
1002Deepesh U VenereBrazil2024-05-16Morlong Associates PROPOSAL80Elwin Sharvill
1003Juan W SaylorsAustralia2024-05-27Feiner Bros QUALIFIED95Stephen Shaw
1004Leja E KolmetzIndia2024-05-31Buckley Miller Wright QUALIFIED5Ivan Magalhaes
1005Mayumi J RulapaughFrance2024-06-03Chemel, James L Cpa RENEWAL37Ivan Magalhaes
1006Deepesh D KolmetzItaly2024-06-09Feiner Bros NEGOTIATION13Anna Fali
1007Jones M StensethIndia2024-06-12Rangoni Of Florence UNQUALIFIED33Anna Fali
1008Leja N OstroskyUnited Kingdom2024-05-29Chemel, James L Cpa UNQUALIFIED57Stephen Shaw
1009Salvatore F MacleadRussia2024-05-16Truhlar And Truhlar Attys NEGOTIATION36Stephen Shaw
1010Smith F FlosiAustralia2024-05-25Chemel, James L Cpa RENEWAL14Ivan Magalhaes
1011Jeanfrancois R FigeroaArgentina2024-05-18Truhlar And Truhlar Attys PROPOSAL73Amy Elsner
1012Mujtaba K MacleadArgentina2024-05-16Printing Dimensions QUALIFIED75Ivan Magalhaes
1013David U VocelkaJapan2024-06-05Chanay, Jeffrey A Esq RENEWAL38Ioni Bowcher
1014David R ChuiSpain2024-06-13King, Christopher A Esq QUALIFIED80Asiya Javayant
1015Morrow C CampainIndia2024-06-10Commercial Press NEGOTIATION73Anna Fali
1016Emily K BowleySpain2024-05-29Truhlar And Truhlar Attys UNQUALIFIED23Bernardo Dominic
1017Jones L RulapaughJapan2024-05-24Benton, John B Jr PROPOSAL91Anna Fali
1018Claire V InouyeBrazil2024-06-02Feiner Bros NEW67Onyama Limba
1019Johnson S DarakjyJapan2024-06-03Rangoni Of Florence NEGOTIATION88Bernardo Dominic
1020Aika N AlbaresBrazil2024-05-17Feiner Bros UNQUALIFIED42Elwin Sharvill
1021Leon W ChuiGermany2024-05-24Dorl, James J Esq NEGOTIATION66Xuxue Feng
1022Murillo A RutaGermany2024-06-07Truhlar And Truhlar Attys RENEWAL63Xuxue Feng
1023Morrow X FollerItaly2024-05-31Rangoni Of Florence NEGOTIATION43Xuxue Feng
1024Mujtaba U StensethGermany2024-05-28Benton, John B Jr QUALIFIED84Anna Fali
1025Ivar V CaudyArgentina2024-06-10Commercial Press NEW17Ioni Bowcher
1026Darci P AlbaresCanada2024-05-25Printing Dimensions PROPOSAL10Stephen Shaw
1027Francesco K IturbideItaly2024-05-25Chapman, Ross E Esq NEW11Bernardo Dominic
1028Aruna B PerinUnited Kingdom2024-05-21Feiner Bros QUALIFIED47Ioni Bowcher
1029Misaki V VocelkaFrance2024-06-01Commercial Press UNQUALIFIED86Elwin Sharvill
1030Izzy B GillianJapan2024-06-10Rangoni Of Florence NEGOTIATION82Elwin Sharvill
1031Ashley G AmigonBrazil2024-06-04Chemel, James L Cpa QUALIFIED99Onyama Limba
1032Rodrigues F MaletBrazil2024-06-10Commercial Press UNQUALIFIED7Ivan Magalhaes
1033Smith X NickaSpain2024-06-06Chanay, Jeffrey A Esq NEGOTIATION97Xuxue Feng
1034Alejandro B PaprockiCanada2024-06-02Rangoni Of Florence NEGOTIATION71Ivan Magalhaes
1035Misaki W AlbaresRussia2024-05-27Feltz Printing Service QUALIFIED17Amy Elsner
1036Wickens O WaycottGermany2024-05-18Benton, John B Jr NEGOTIATION46Asiya Javayant
1037Misaki L ChuiIndia2024-05-17Chanay, Jeffrey A Esq PROPOSAL45Elwin Sharvill
1038Darci C IturbideJapan2024-05-23Chemel, James L Cpa NEGOTIATION40Amy Elsner
1039Costa O StensethBrazil2024-05-16Feltz Printing Service NEW38Anna Fali
1040Kadeem X PerinArgentina2024-06-14Truhlar And Truhlar Attys NEGOTIATION80Anna Fali
1041Clifford D GarufiUnited Kingdom2024-06-09Truhlar And Truhlar Attys NEGOTIATION34Asiya Javayant
1042Smith L BologniaFrance2024-06-13Chemel, James L Cpa UNQUALIFIED46Asiya Javayant
1043Tony P BowleyGermany2024-06-01Chemel, James L Cpa QUALIFIED82Stephen Shaw
1044Emily K MarrierUnited Kingdom2024-06-14Chemel, James L Cpa UNQUALIFIED98Bernardo Dominic
1045Morrow D MorascaArgentina2024-05-30Chapman, Ross E Esq UNQUALIFIED35Anna Fali
1046Maria A FollerArgentina2024-05-25King, Christopher A Esq NEW74Xuxue Feng
1047Claire D InouyeBrazil2024-05-28Feiner Bros UNQUALIFIED19Asiya Javayant
1048Claire Y VocelkaArgentina2024-05-17Dorl, James J Esq NEW47Bernardo Dominic
1049Emily H GlickBrazil2024-06-12Dorl, James J Esq PROPOSAL28Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aika J OstroskyArgentinaAsiya Javayant PROPOSAL
Costa A DilliardAustraliaAnna Fali RENEWAL
Nicolas U PaprockiBrazilAsiya Javayant NEW
Salvatore P SergiJapanXuxue Feng NEGOTIATION
Claire H CampainItalyIvan Magalhaes RENEWAL
James T WieserUnited KingdomXuxue Feng NEGOTIATION
Tony A GauchoGermanyAnna Fali QUALIFIED
Darci A SlusarskiAustraliaIvan Magalhaes QUALIFIED
Morrow Y AlbaresJapanElwin Sharvill QUALIFIED
Mujtaba E PerinFranceIvan Magalhaes RENEWAL
Izzy E DilliardItalyOnyama Limba QUALIFIED
Alejandro U MacleadJapanAmy Elsner NEGOTIATION
Antonio O MacleadIndiaBernardo Dominic RENEWAL
Jones Y DarakjyItalyAsiya Javayant NEW
Octavia H WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Alejandro V KolmetzCanadaAsiya Javayant PROPOSAL
Mujtaba M ShinkoFranceOnyama Limba NEGOTIATION
Rodrigues Z StockhamIndiaElwin Sharvill NEW
Ivar H GlickGermanyIoni Bowcher NEW
Stacey P PaprockiBrazilXuxue Feng PROPOSAL
Costa R PoquetteItalyAmy Elsner UNQUALIFIED
Juan O GillianSpainIvan Magalhaes PROPOSAL
Stacey N WieserSpainStephen Shaw UNQUALIFIED
Rodrigues Z NickaIndiaBernardo Dominic NEGOTIATION
David C CampainSpainAsiya Javayant NEGOTIATION
Munro I PoquetteItalyIvan Magalhaes PROPOSAL
Jones N WhobreyUnited KingdomAnna Fali UNQUALIFIED
Maisha K SlusarskiArgentinaAmy Elsner QUALIFIED
Julie A CaldareraRussiaOnyama Limba NEGOTIATION
Cody W ShinkoIndiaAmy Elsner UNQUALIFIED
Izzy F FlosiUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois A KuskoItalyAmy Elsner NEGOTIATION
Kaitlin F GarufiArgentinaStephen Shaw NEW
Silvio A GillianJapanXuxue Feng RENEWAL
Costa T VenereGermanyOnyama Limba NEW
Rodrigues Z OldroydRussiaAsiya Javayant UNQUALIFIED
Munro X NickaItalyElwin Sharvill QUALIFIED
Maria B RulapaughItalyElwin Sharvill NEGOTIATION
Salvatore W RimUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas G KuskoRussiaAsiya Javayant QUALIFIED
James U CaldareraIndiaXuxue Feng QUALIFIED
Misaki F MacleadGermanyXuxue Feng NEGOTIATION
Sinclair Q AmigonJapanIoni Bowcher NEW
Octavia D KolmetzJapanAmy Elsner NEGOTIATION
David H WaycottIndiaBernardo Dominic QUALIFIED
Leja N StensethAustraliaStephen Shaw NEW
Jefferson L DarakjyJapanIvan Magalhaes NEGOTIATION
Antonio X ShinkoSpainStephen Shaw QUALIFIED
Munro A OstroskyAustraliaAnna Fali QUALIFIED
Alejandro G ChuiArgentinaAmy Elsner PROPOSAL
Frozen Columns
Name
Emily E Doe
Maria K Caudy
Clifford V Stenseth
Maria H Figeroa
Jennifer E Caudy
Maria D Nestle
Jeanfrancois N Ostrosky
Ricardo P Albares
Stacey V Flosi
Octavia N Foller
Chavez P Caudy
Julie G Foller
Munro Z Vocelka
Aika K Dilliard
Leja S Nestle
Aika D Whobrey
Misaki Q Nicka
Greenwood I Briddick
Stacey I Butt
Kaitlin I Kolmetz
Faith P Wieser
James A Gillian
Mayumi Q Garufi
Juan B Glick
Costa E Albares
Antonio W Oldroyd
Tony A Butt
Wickens X Kusko
Ivar N Sergi
Faith Q Marrier
Ivar S Sergi
Juan G Schemmer
Jennifer A Glick
Greenwood S Slusarski
Mayumi P Nicka
Izzy E Briddick
Francesco J Ostrosky
Juan Z Doe
Mujtaba C Dilliard
Mujtaba T Ruta
Jennifer J Dilliard
Stacey W Rulapaugh
Morrow E Glick
Aruna N Butt
Wickens K Malet
Faith A Caldarera
David C Nestle
Ricardo H Bolognia
Smith M Whobrey
Tony C Bowley
IdCountryDate
1000Argentina2024-05-29
1001Germany2024-06-05
1002France2024-05-17
1003Canada2024-05-22
1004France2024-06-05
1005France2024-06-14
1006India2024-05-20
1007India2024-05-31
1008United Kingdom2024-05-17
1009Argentina2024-06-10
1010France2024-05-17
1011France2024-06-10
1012Argentina2024-05-29
1013India2024-06-02
1014Germany2024-06-07
1015Russia2024-06-13
1016Italy2024-06-12
1017Italy2024-05-23
1018Argentina2024-06-02
1019Russia2024-06-14
1020Japan2024-06-06
1021Argentina2024-05-24
1022Japan2024-05-16
1023India2024-06-06
1024Australia2024-05-18
1025Germany2024-05-16
1026France2024-05-16
1027Spain2024-05-24
1028Russia2024-05-24
1029Canada2024-05-28
1030Japan2024-05-30
1031Spain2024-05-28
1032United Kingdom2024-05-27
1033France2024-06-01
1034Germany2024-06-12
1035Argentina2024-05-21
1036Australia2024-05-22
1037Russia2024-06-14
1038Canada2024-06-14
1039Spain2024-06-02
1040Italy2024-06-09
1041Russia2024-05-17
1042United Kingdom2024-06-03
1043Canada2024-05-30
1044Italy2024-05-30
1045Spain2024-05-22
1046United Kingdom2024-05-27
1047France2024-06-10
1048Russia2024-05-22
1049Germany2024-06-11

On-Demand Data

NameIdCountryDate
Mayumi J Stockham1000Germany2024-06-10
Antonio F Sergi1001Japan2024-06-14
Costa E Poquette1002Canada2024-05-30
Rodrigues Y Iturbide1003Canada2024-05-30
Arvin Y Dilliard1004Argentina2024-06-08
Mayumi I Kolmetz1005Canada2024-06-12
Julie R Malet1006Canada2024-06-09
Aika P Poquette1007Spain2024-05-25
Ashley R Sergi1008France2024-05-29
Emily C Perin1009Australia2024-05-31
Maria Z Albares1010Russia2024-06-07
Mujtaba Y Chui1011France2024-05-26
Misaki A Darakjy1012United Kingdom2024-05-16
Clifford Q Darakjy1013Argentina2024-05-18
Maisha N Vocelka1014India2024-05-18
Clifford X Nicka1015Brazil2024-05-17
Jeanfrancois R Glick1016Canada2024-06-13
Munro Y Inouye1017Germany2024-05-21
Antonio B Waycott1018India2024-05-22
Emily C Slusarski1019Canada2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio E CaudySpainOnyama Limba NEW
Tony S VocelkaAustraliaBernardo Dominic QUALIFIED
Stacey N MaletIndiaXuxue Feng UNQUALIFIED
Aika L DilliardGermanyElwin Sharvill UNQUALIFIED
Mayumi U CampainArgentinaIoni Bowcher NEW
Izzy L SlusarskiUnited KingdomOnyama Limba QUALIFIED
Silvio Q NickaIndiaAmy Elsner UNQUALIFIED
Ashley D ChuiFranceXuxue Feng QUALIFIED
Smith T CaudyAustraliaAnna Fali NEGOTIATION
Adams I ButtFranceIoni Bowcher NEW
Mayumi Q BriddickUnited KingdomAsiya Javayant NEGOTIATION
Francesco F MaletGermanyAsiya Javayant NEW
Cody Y VenereGermanyBernardo Dominic NEGOTIATION
James O FollerAustraliaAsiya Javayant QUALIFIED
Claire W MorascaGermanyStephen Shaw PROPOSAL
Darci D WieserIndiaOnyama Limba RENEWAL
Maria I MarrierUnited KingdomAnna Fali UNQUALIFIED
Kadeem R SergiIndiaBernardo Dominic QUALIFIED
Smith J RulapaughSpainAnna Fali RENEWAL
Deepesh C DoeBrazilOnyama Limba PROPOSAL
Nicolas Q PerinFranceIvan Magalhaes PROPOSAL
Murillo H SaylorsIndiaAsiya Javayant RENEWAL
Sinclair K WaycottAustraliaOnyama Limba NEW
Rodrigues Q KolmetzGermanyStephen Shaw RENEWAL
Mujtaba Y RulapaughFranceIoni Bowcher NEW
Octavia N StockhamBrazilIoni Bowcher NEGOTIATION
Jennifer O KuskoItalyStephen Shaw NEW
Claire Z PoquetteItalyBernardo Dominic NEW
Sinclair M FollerCanadaStephen Shaw PROPOSAL
Morrow G StensethAustraliaAnna Fali NEGOTIATION
Greenwood S DarakjySpainAsiya Javayant QUALIFIED
Leja P RimRussiaOnyama Limba RENEWAL
Izzy G AmigonItalyIvan Magalhaes QUALIFIED
Aika K FigeroaJapanAsiya Javayant NEW
Greenwood L MacleadJapanOnyama Limba PROPOSAL
Leja J DilliardUnited KingdomStephen Shaw UNQUALIFIED
Alejandro Q SaylorsAustraliaAnna Fali NEGOTIATION
Faith T BriddickFranceAmy Elsner UNQUALIFIED
Francesco G StockhamFranceBernardo Dominic QUALIFIED
Claire F GauchoIndiaIvan Magalhaes 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>