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 V RulapaughArgentinaXuxue Feng NEW
Isabel N WaycottBrazilIoni Bowcher PROPOSAL
Greenwood R SergiRussiaAsiya Javayant PROPOSAL
Morrow F DilliardGermanyOnyama Limba PROPOSAL
Aruna V PaprockiFranceElwin Sharvill PROPOSAL
Kadeem P RutaItalyElwin Sharvill UNQUALIFIED
Stacey I KuskoCanadaBernardo Dominic NEW
Jefferson T StockhamFranceIoni Bowcher PROPOSAL
Wickens K GarufiIndiaAsiya Javayant UNQUALIFIED
Claire E CaudyUnited KingdomIoni Bowcher NEW
Deepesh G BologniaUnited KingdomOnyama Limba NEGOTIATION
Jefferson N ButtRussiaIvan Magalhaes RENEWAL
Kadeem G PerinFranceAmy Elsner RENEWAL
Aruna W SchemmerIndiaAsiya Javayant UNQUALIFIED
Stacey Y WieserRussiaIvan Magalhaes UNQUALIFIED
Octavia E RulapaughSpainXuxue Feng RENEWAL
Ivar N FerenczAustraliaIvan Magalhaes UNQUALIFIED
Ivar C SchemmerItalyOnyama Limba QUALIFIED
Darci B NestleUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas K DilliardBrazilXuxue Feng NEW
Greenwood E CaudyBrazilElwin Sharvill NEW
Faith C CaldareraCanadaAsiya Javayant UNQUALIFIED
Johnson M MacleadRussiaOnyama Limba RENEWAL
Chavez O StockhamIndiaIvan Magalhaes RENEWAL
Julie M FlosiItalyOnyama Limba UNQUALIFIED
Izzy S SaylorsItalyAnna Fali QUALIFIED
Izzy U SchemmerItalyAnna Fali NEGOTIATION
Antonio Q NickaJapanStephen Shaw RENEWAL
Misaki T RulapaughAustraliaOnyama Limba PROPOSAL
Claire M NestleUnited KingdomBernardo Dominic NEW
Misaki F ChuiUnited KingdomAnna Fali PROPOSAL
Maisha N StensethCanadaIoni Bowcher PROPOSAL
Smith R WaycottUnited KingdomOnyama Limba NEGOTIATION
Mujtaba E WieserUnited KingdomAmy Elsner NEGOTIATION
Jones V AlbaresAustraliaXuxue Feng UNQUALIFIED
Mayumi X AlbaresUnited KingdomElwin Sharvill RENEWAL
Misaki S RulapaughGermanyAmy Elsner PROPOSAL
Antonio W ButtIndiaIoni Bowcher PROPOSAL
Costa Q CaldareraCanadaStephen Shaw NEGOTIATION
Izzy N CampainFranceBernardo Dominic NEW
Aika F IturbideUnited KingdomStephen Shaw NEGOTIATION
Faith T GarufiGermanyAnna Fali PROPOSAL
Izzy O IturbideItalyStephen Shaw QUALIFIED
James Q MorascaBrazilStephen Shaw QUALIFIED
Ivar L PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Stacey U StockhamCanadaAnna Fali PROPOSAL
Adams L InouyeUnited KingdomAnna Fali NEW
Francesco K SaylorsRussiaElwin Sharvill QUALIFIED
Aditya G BologniaAustraliaBernardo Dominic NEW
Adams A IturbideItalyAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya D ButtFranceElwin Sharvill QUALIFIED
Munro P RulapaughRussiaOnyama Limba NEGOTIATION
Nicolas M FollerFranceXuxue Feng NEW
Francesco W GauchoIndiaAmy Elsner PROPOSAL
Rodrigues E WhobreyGermanyOnyama Limba RENEWAL
Jones Z DoeCanadaIoni Bowcher NEW
Cody U VocelkaCanadaAnna Fali UNQUALIFIED
Jennifer D CaldareraFranceAsiya Javayant PROPOSAL
Maria T WaycottJapanOnyama Limba RENEWAL
Kadeem T StockhamItalyXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro X SaylorsGermany2024-06-07Printing Dimensions NEGOTIATION92Ioni Bowcher
1001Faith P BologniaCanada2024-06-06Feiner Bros NEW21Xuxue Feng
1002Antonio Y GarufiFrance2024-06-13Benton, John B Jr NEGOTIATION94Ivan Magalhaes
1003Chavez T TollnerRussia2024-06-19Truhlar And Truhlar Attys QUALIFIED72Asiya Javayant
1004Ivar W FigeroaUnited Kingdom2024-06-09Morlong Associates PROPOSAL88Amy Elsner
1005Tony O NestleBrazil2024-06-13Chanay, Jeffrey A Esq NEGOTIATION57Amy Elsner
1006Nicolas F DilliardJapan2024-06-10Benton, John B Jr PROPOSAL31Bernardo Dominic
1007Jefferson G WaycottArgentina2024-06-05Morlong Associates PROPOSAL79Ioni Bowcher
1008Adams Y SchemmerSpain2024-06-15Benton, John B Jr QUALIFIED35Amy Elsner
1009Silvio Q BriddickRussia2024-06-16King, Christopher A Esq NEW57Amy Elsner
1010Emily I SlusarskiBrazil2024-06-12Truhlar And Truhlar Attys RENEWAL53Anna Fali
1011Ivar O TollnerItaly2024-06-09Morlong Associates NEGOTIATION50Ivan Magalhaes
1012Jeanfrancois T MaletItaly2024-06-07Commercial Press QUALIFIED16Bernardo Dominic
1013Maria B SaylorsIndia2024-06-13Chapman, Ross E Esq QUALIFIED79Bernardo Dominic
1014Munro I StensethJapan2024-06-19Rangoni Of Florence QUALIFIED99Asiya Javayant
1015Aika L MorascaItaly2024-06-08Dorl, James J Esq RENEWAL26Onyama Limba
1016Johnson I BriddickBrazil2024-06-03King, Christopher A Esq PROPOSAL69Onyama Limba
1017Nicolas C NestleItaly2024-06-07King, Christopher A Esq QUALIFIED89Ioni Bowcher
1018Kaitlin V SaylorsItaly2024-05-25Feltz Printing Service NEW9Amy Elsner
1019Johnson L FollerJapan2024-05-24Benton, John B Jr NEGOTIATION22Onyama Limba
1020Chavez Y GauchoIndia2024-06-17Printing Dimensions QUALIFIED44Onyama Limba
1021Ashley O RutaJapan2024-05-27Dorl, James J Esq NEW37Onyama Limba
1022Mujtaba T FerenczUnited Kingdom2024-05-27Chemel, James L Cpa PROPOSAL57Elwin Sharvill
1023Faith K RoysterArgentina2024-05-29Chanay, Jeffrey A Esq QUALIFIED73Ivan Magalhaes
1024Tony D CaudyFrance2024-06-14Rangoni Of Florence UNQUALIFIED47Bernardo Dominic
1025Nicolas O GillianJapan2024-06-19Rangoni Of Florence PROPOSAL18Asiya Javayant
1026Mujtaba W DarakjyAustralia2024-06-22Feiner Bros RENEWAL94Xuxue Feng
1027Claire R MaletBrazil2024-06-01King, Christopher A Esq NEW56Amy Elsner
1028Francesco G AlbaresItaly2024-06-20Feiner Bros PROPOSAL81Asiya Javayant
1029Mujtaba T GauchoIndia2024-06-03Buckley Miller Wright UNQUALIFIED38Asiya Javayant
1030Silvio T DoeItaly2024-06-09Chanay, Jeffrey A Esq NEW26Onyama Limba
1031Jennifer A NickaItaly2024-06-06Truhlar And Truhlar Attys PROPOSAL7Bernardo Dominic
1032James X FlosiBrazil2024-06-13Printing Dimensions PROPOSAL52Ioni Bowcher
1033Leja V KuskoArgentina2024-06-04Morlong Associates RENEWAL46Onyama Limba
1034Mujtaba G KolmetzRussia2024-06-22Chanay, Jeffrey A Esq NEW69Ioni Bowcher
1035Costa D PoquetteFrance2024-06-22King, Christopher A Esq NEW11Bernardo Dominic
1036Aika F FerenczFrance2024-06-01Rousseaux, Michael Esq NEW13Onyama Limba
1037Leja O BowleyRussia2024-06-07Chemel, James L Cpa UNQUALIFIED23Stephen Shaw
1038Jones V SlusarskiSpain2024-06-20Printing Dimensions PROPOSAL24Onyama Limba
1039Leja K MaletIndia2024-05-24Dorl, James J Esq UNQUALIFIED47Bernardo Dominic
1040Nicolas T InouyeAustralia2024-06-15Truhlar And Truhlar Attys NEGOTIATION31Anna Fali
1041Izzy G NickaGermany2024-05-26Commercial Press QUALIFIED36Amy Elsner
1042Morrow G OstroskyGermany2024-06-04Morlong Associates UNQUALIFIED28Anna Fali
1043Izzy B DoeFrance2024-06-11Feiner Bros PROPOSAL49Asiya Javayant
1044Darci K FollerFrance2024-06-04Feltz Printing Service QUALIFIED43Elwin Sharvill
1045Johnson T VocelkaItaly2024-06-03King, Christopher A Esq UNQUALIFIED24Onyama Limba
1046Ashley M WhobreyUnited Kingdom2024-06-11Chemel, James L Cpa RENEWAL65Onyama Limba
1047Ivar I SaylorsGermany2024-06-06Rousseaux, Michael Esq PROPOSAL60Xuxue Feng
1048Aditya J FerenczFrance2024-06-20Commercial Press UNQUALIFIED29Bernardo Dominic
1049Leon S RimJapan2024-06-17Chemel, James L Cpa QUALIFIED26Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Izzy Y SlusarskiArgentinaAnna Fali QUALIFIED
Aruna G BologniaItalyIoni Bowcher RENEWAL
Misaki L FollerAustraliaIoni Bowcher NEGOTIATION
Salvatore X AlbaresFranceAmy Elsner UNQUALIFIED
Maria M VocelkaUnited KingdomBernardo Dominic RENEWAL
Johnson B RulapaughGermanyAsiya Javayant UNQUALIFIED
James D FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Francesco F BologniaBrazilAsiya Javayant QUALIFIED
Ashley S SaylorsArgentinaBernardo Dominic UNQUALIFIED
Kaitlin H GauchoRussiaAsiya Javayant PROPOSAL
Adams C PerinGermanyXuxue Feng NEGOTIATION
Francesco O TollnerIndiaIvan Magalhaes QUALIFIED
Leja P RulapaughSpainIoni Bowcher UNQUALIFIED
Alejandro T StockhamSpainIvan Magalhaes NEGOTIATION
Isabel C CaudyUnited KingdomAnna Fali NEW
Wickens A GauchoSpainAmy Elsner PROPOSAL
Ivar H WhobreyArgentinaElwin Sharvill QUALIFIED
Jeanfrancois H GillianGermanyBernardo Dominic UNQUALIFIED
Isabel M RutaIndiaIoni Bowcher RENEWAL
Jeanfrancois K DoeUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin G OldroydSpainStephen Shaw PROPOSAL
Emily P WaycottFranceIvan Magalhaes UNQUALIFIED
Greenwood V MaletRussiaOnyama Limba RENEWAL
Morrow D GillianCanadaElwin Sharvill PROPOSAL
Faith E ButtItalyOnyama Limba PROPOSAL
Jones X NickaCanadaIoni Bowcher QUALIFIED
Emily D IturbideItalyAmy Elsner RENEWAL
Ivar P FlosiJapanIvan Magalhaes RENEWAL
Jeanfrancois E RoysterIndiaBernardo Dominic RENEWAL
Salvatore E NickaCanadaIvan Magalhaes NEW
Leja N MacleadItalyOnyama Limba NEGOTIATION
Morrow O CaudyArgentinaAmy Elsner NEGOTIATION
Octavia R RoysterArgentinaXuxue Feng NEGOTIATION
Tony O CampainFranceElwin Sharvill NEW
Claire C SergiIndiaElwin Sharvill RENEWAL
Leon E BologniaGermanyElwin Sharvill UNQUALIFIED
Nicolas E VenereIndiaOnyama Limba UNQUALIFIED
Stacey Y SaylorsRussiaAsiya Javayant PROPOSAL
Greenwood V PoquetteBrazilAmy Elsner PROPOSAL
Jennifer H FollerSpainAmy Elsner PROPOSAL
Faith A PerinBrazilXuxue Feng PROPOSAL
Ricardo H CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois A KuskoAustraliaIoni Bowcher NEGOTIATION
Deepesh K MarrierSpainElwin Sharvill UNQUALIFIED
Clifford W RimJapanElwin Sharvill NEGOTIATION
Leja N MaletCanadaOnyama Limba QUALIFIED
Costa C MorascaFranceAmy Elsner PROPOSAL
Mayumi N CampainUnited KingdomStephen Shaw NEW
Aruna J StensethBrazilAsiya Javayant QUALIFIED
Mayumi B VenereBrazilIoni Bowcher QUALIFIED
Frozen Columns
Name
Leja Y Malet
Ricardo Y Slusarski
David P Wieser
Emily B Gillian
Ricardo S Inouye
Octavia Q Foller
Clifford I Figeroa
David U Malet
Arvin L Rim
Aditya S Inouye
Jefferson C Malet
Salvatore B Briddick
Aditya I Shinko
Tony F Ruta
Aika H Maclead
Juan B Campain
Aditya M Ruta
Clifford C Inouye
Morrow H Slusarski
Faith T Saylors
Sinclair R Nicka
Adams J Stenseth
Mujtaba D Butt
Costa V Royster
Arvin B Campain
Jeanfrancois V Tollner
Nicolas J Darakjy
Claire Y Figeroa
David L Kusko
Maria E Paprocki
Johnson O Iturbide
Aditya J Poquette
Maisha C Caldarera
Aika A Slusarski
Maria B Malet
Deepesh Z Ruta
Nicolas V Foller
David F Maclead
Mujtaba A Briddick
Tony X Sergi
Salvatore H Kusko
Kadeem S Rim
Claire N Ruta
Greenwood C Foller
Maria Y Caudy
Antonio Z Poquette
Izzy V Foller
Faith Q Royster
Darci A Inouye
Isabel P Kusko
IdCountryDate
1000Italy2024-06-10
1001Japan2024-06-08
1002Argentina2024-06-05
1003Australia2024-05-28
1004Spain2024-06-21
1005India2024-06-22
1006Russia2024-05-28
1007Australia2024-06-13
1008France2024-05-27
1009France2024-06-14
1010France2024-06-15
1011Canada2024-06-18
1012France2024-06-10
1013United Kingdom2024-06-10
1014Canada2024-06-08
1015United Kingdom2024-05-25
1016United Kingdom2024-06-01
1017Japan2024-05-29
1018Australia2024-05-31
1019Russia2024-06-14
1020Spain2024-06-03
1021Brazil2024-05-27
1022Spain2024-05-28
1023Canada2024-06-14
1024Brazil2024-06-05
1025United Kingdom2024-05-28
1026India2024-06-21
1027Brazil2024-06-22
1028Russia2024-05-27
1029United Kingdom2024-06-17
1030Spain2024-06-15
1031Spain2024-05-30
1032United Kingdom2024-06-06
1033United Kingdom2024-06-20
1034Russia2024-06-19
1035Argentina2024-06-01
1036France2024-06-12
1037Canada2024-05-24
1038United Kingdom2024-06-21
1039Argentina2024-06-14
1040India2024-06-12
1041India2024-06-19
1042Spain2024-05-24
1043United Kingdom2024-06-07
1044Spain2024-06-18
1045Japan2024-06-15
1046Argentina2024-06-07
1047Australia2024-05-24
1048Spain2024-06-12
1049India2024-06-01

On-Demand Data

NameIdCountryDate
Maisha J Tollner1000India2024-06-12
Jefferson L Morasca1001Germany2024-06-18
Julie S Foller1002United Kingdom2024-06-17
Leja Q Stenseth1003Spain2024-06-18
Rodrigues L Gillian1004Italy2024-05-26
Johnson M Whobrey1005Japan2024-06-03
Leja G Vocelka1006Japan2024-05-28
Johnson H Oldroyd1007Japan2024-06-01
Smith U Schemmer1008Australia2024-06-17
Costa M Oldroyd1009Italy2024-06-11
Emily R Venere1010Argentina2024-06-14
Arvin W Oldroyd1011Japan2024-05-30
Ricardo B Kolmetz1012Spain2024-06-10
Juan P Poquette1013Spain2024-06-22
Francesco P Wieser1014France2024-05-28
David L Shinko1015Japan2024-05-27
Jennifer Y Marrier1016Brazil2024-06-03
Julie C Rim1017Brazil2024-06-11
Wickens Q Kusko1018Australia2024-06-14
Adams M Caldarera1019Japan2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey H RulapaughRussiaElwin Sharvill UNQUALIFIED
Jennifer X SergiSpainAnna Fali QUALIFIED
Isabel I PoquetteCanadaIoni Bowcher QUALIFIED
Kadeem G NickaArgentinaBernardo Dominic PROPOSAL
Alejandro Z KuskoSpainElwin Sharvill PROPOSAL
Izzy R BologniaIndiaOnyama Limba NEW
Mujtaba M VenereRussiaIvan Magalhaes PROPOSAL
Ashley H KuskoArgentinaAnna Fali QUALIFIED
Ricardo F TollnerFranceAmy Elsner RENEWAL
Smith S BowleyFranceBernardo Dominic PROPOSAL
Rodrigues T WhobreyArgentinaAmy Elsner PROPOSAL
Cody E GarufiCanadaElwin Sharvill PROPOSAL
Clifford U KolmetzCanadaIoni Bowcher NEW
Claire O CampainSpainAnna Fali QUALIFIED
Salvatore U AlbaresJapanOnyama Limba UNQUALIFIED
Misaki F PaprockiRussiaAmy Elsner NEGOTIATION
Ashley Z VenereIndiaAsiya Javayant NEGOTIATION
Julie F KolmetzItalyAnna Fali QUALIFIED
Julie P PaprockiGermanyElwin Sharvill NEW
Murillo J OstroskyRussiaIvan Magalhaes NEW
Antonio Y IturbideGermanyAsiya Javayant RENEWAL
Maria K OldroydCanadaIoni Bowcher PROPOSAL
Mujtaba C InouyeUnited KingdomAsiya Javayant QUALIFIED
Wickens M GlickUnited KingdomElwin Sharvill QUALIFIED
Alejandro F RulapaughBrazilIoni Bowcher UNQUALIFIED
Ivar Q InouyeJapanBernardo Dominic RENEWAL
Adams G OldroydUnited KingdomXuxue Feng NEGOTIATION
Darci P BriddickUnited KingdomAnna Fali NEW
Aruna Z SlusarskiAustraliaAnna Fali PROPOSAL
Ricardo J VocelkaFranceAmy Elsner UNQUALIFIED
James P VenereIndiaAmy Elsner PROPOSAL
Darci L RulapaughAustraliaStephen Shaw QUALIFIED
Murillo G MorascaGermanyOnyama Limba PROPOSAL
Julie Q NickaGermanyAmy Elsner RENEWAL
Kaitlin B BologniaJapanOnyama Limba NEW
Kadeem U RimBrazilBernardo Dominic NEW
James P SchemmerGermanyIvan Magalhaes QUALIFIED
Aika H ShinkoSpainAmy Elsner RENEWAL
Arvin V GauchoJapanAnna Fali PROPOSAL
Aika H BriddickIndiaIoni 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>