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
Morrow F ChuiJapanBernardo Dominic QUALIFIED
Maria O CampainArgentinaElwin Sharvill NEW
Jennifer O CaldareraCanadaElwin Sharvill NEGOTIATION
Aika T KolmetzFranceIoni Bowcher QUALIFIED
Ashley F BologniaBrazilAmy Elsner RENEWAL
Julie G WaycottItalyAsiya Javayant UNQUALIFIED
Octavia T WieserSpainElwin Sharvill NEGOTIATION
Silvio G RimRussiaStephen Shaw QUALIFIED
Greenwood E OstroskyGermanyOnyama Limba UNQUALIFIED
David Z IturbideRussiaAmy Elsner UNQUALIFIED
Aditya H ChuiRussiaIoni Bowcher NEW
Kadeem V WhobreyIndiaAnna Fali NEGOTIATION
Nicolas E DoeRussiaAmy Elsner QUALIFIED
Misaki M PaprockiItalyAmy Elsner RENEWAL
Stacey P GauchoIndiaOnyama Limba PROPOSAL
Francesco A ChuiItalyBernardo Dominic NEW
Leja W DilliardAustraliaIoni Bowcher UNQUALIFIED
Jones A CaudyGermanyAnna Fali NEGOTIATION
Tony X PaprockiRussiaXuxue Feng NEW
Octavia B TollnerJapanStephen Shaw QUALIFIED
David K CaldareraRussiaAnna Fali NEW
Tony V SaylorsUnited KingdomXuxue Feng RENEWAL
Silvio Q OstroskySpainAnna Fali NEGOTIATION
Wickens D GarufiCanadaAnna Fali NEW
Leon Q TollnerUnited KingdomIoni Bowcher PROPOSAL
Aruna G CaudyArgentinaAnna Fali NEGOTIATION
Mujtaba I StockhamIndiaIvan Magalhaes RENEWAL
David H RoysterBrazilAmy Elsner PROPOSAL
Isabel Q CaldareraRussiaOnyama Limba NEW
Aruna K GauchoUnited KingdomStephen Shaw UNQUALIFIED
Silvio Z ChuiArgentinaBernardo Dominic PROPOSAL
Alejandro R StockhamSpainOnyama Limba PROPOSAL
Wickens G TollnerSpainStephen Shaw PROPOSAL
Isabel P BologniaSpainOnyama Limba UNQUALIFIED
Aditya F FerenczBrazilAmy Elsner RENEWAL
Jennifer X OldroydFranceElwin Sharvill RENEWAL
Adams K StensethCanadaXuxue Feng NEW
Tony Q NestleBrazilIvan Magalhaes RENEWAL
Adams R PoquetteJapanAsiya Javayant NEGOTIATION
Ricardo R ButtAustraliaOnyama Limba RENEWAL
Juan D DilliardCanadaXuxue Feng RENEWAL
Jefferson I ShinkoBrazilOnyama Limba NEW
Maisha F GarufiJapanAnna Fali NEW
James D MorascaJapanOnyama Limba UNQUALIFIED
Aditya W CampainItalyElwin Sharvill UNQUALIFIED
Clifford L DilliardBrazilOnyama Limba NEW
Tony L MorascaAustraliaStephen Shaw PROPOSAL
Maria M ShinkoSpainIvan Magalhaes QUALIFIED
Nicolas O CaldareraIndiaStephen Shaw QUALIFIED
Leja V StockhamFranceIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas O ChuiUnited KingdomAnna Fali RENEWAL
Maria Y VenereRussiaElwin Sharvill RENEWAL
Jeanfrancois R ShinkoBrazilIoni Bowcher PROPOSAL
Costa Z ChuiIndiaStephen Shaw NEW
Jefferson Z RulapaughCanadaAsiya Javayant NEGOTIATION
Aruna J DilliardSpainStephen Shaw NEGOTIATION
Costa M GauchoAustraliaAmy Elsner RENEWAL
Juan N GillianJapanStephen Shaw QUALIFIED
Adams R PerinArgentinaElwin Sharvill RENEWAL
Leja S RimJapanXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan L PoquetteBrazil2024-06-06Printing Dimensions QUALIFIED61Stephen Shaw
1001Izzy X WhobreySpain2024-06-21Chemel, James L Cpa QUALIFIED49Ivan Magalhaes
1002Adams Y VenereIndia2024-06-22King, Christopher A Esq PROPOSAL44Ivan Magalhaes
1003Adams W PaprockiJapan2024-06-20Commercial Press RENEWAL82Stephen Shaw
1004Adams H AmigonBrazil2024-06-05Commercial Press RENEWAL65Elwin Sharvill
1005Ricardo S OldroydAustralia2024-06-18Feltz Printing Service PROPOSAL36Stephen Shaw
1006Sinclair J RulapaughIndia2024-06-19King, Christopher A Esq UNQUALIFIED55Elwin Sharvill
1007Mujtaba A FigeroaCanada2024-06-06Chapman, Ross E Esq NEGOTIATION29Xuxue Feng
1008Jefferson C OldroydGermany2024-05-27Printing Dimensions NEW27Amy Elsner
1009Johnson K GauchoCanada2024-06-17Commercial Press RENEWAL51Stephen Shaw
1010Kaitlin Q NestleJapan2024-06-08Commercial Press UNQUALIFIED93Xuxue Feng
1011Juan R VenereUnited Kingdom2024-06-15Chanay, Jeffrey A Esq RENEWAL62Elwin Sharvill
1012Ashley Q RulapaughFrance2024-06-17Feltz Printing Service RENEWAL1Bernardo Dominic
1013Darci M DarakjyUnited Kingdom2024-06-11Feltz Printing Service NEW42Stephen Shaw
1014James P KolmetzIndia2024-05-27Dorl, James J Esq QUALIFIED81Onyama Limba
1015Greenwood A CampainIndia2024-06-08Buckley Miller Wright NEGOTIATION24Stephen Shaw
1016Leja V GlickCanada2024-06-16Dorl, James J Esq UNQUALIFIED0Bernardo Dominic
1017Emily Y VocelkaArgentina2024-06-16Truhlar And Truhlar Attys PROPOSAL66Onyama Limba
1018Jennifer K PerinSpain2024-06-07Benton, John B Jr NEW23Stephen Shaw
1019Tony B DarakjyJapan2024-06-22Rousseaux, Michael Esq NEGOTIATION50Asiya Javayant
1020Aruna M FerenczAustralia2024-05-27Chapman, Ross E Esq QUALIFIED28Stephen Shaw
1021Faith W GillianUnited Kingdom2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED70Asiya Javayant
1022Aruna J ShinkoJapan2024-06-19Rangoni Of Florence NEW18Elwin Sharvill
1023Ashley F NickaArgentina2024-05-27Feiner Bros NEGOTIATION21Bernardo Dominic
1024Jones M RoysterIndia2024-06-12Rousseaux, Michael Esq QUALIFIED30Ivan Magalhaes
1025Costa N DilliardFrance2024-06-09Dorl, James J Esq QUALIFIED68Asiya Javayant
1026Clifford Y FerenczFrance2024-05-25Chanay, Jeffrey A Esq NEGOTIATION66Onyama Limba
1027Francesco M IturbideSpain2024-06-13Morlong Associates UNQUALIFIED80Stephen Shaw
1028Johnson O AmigonSpain2024-06-09Rousseaux, Michael Esq NEGOTIATION13Bernardo Dominic
1029James F RimIndia2024-06-19Chapman, Ross E Esq QUALIFIED26Xuxue Feng
1030Murillo G SaylorsSpain2024-06-16Printing Dimensions RENEWAL85Bernardo Dominic
1031Jeanfrancois C BowleyRussia2024-05-25King, Christopher A Esq PROPOSAL12Amy Elsner
1032Antonio S CaldareraGermany2024-06-08Rangoni Of Florence NEGOTIATION80Ioni Bowcher
1033Francesco S FigeroaAustralia2024-06-20Rangoni Of Florence NEGOTIATION39Bernardo Dominic
1034Isabel P IturbideAustralia2024-06-09Feiner Bros UNQUALIFIED35Anna Fali
1035Jones O RoysterAustralia2024-06-11Feiner Bros QUALIFIED59Anna Fali
1036Stacey L RimAustralia2024-06-15Chemel, James L Cpa NEW28Asiya Javayant
1037Chavez B ChuiGermany2024-06-08Buckley Miller Wright RENEWAL39Stephen Shaw
1038Costa K CaudySpain2024-05-27Truhlar And Truhlar Attys QUALIFIED89Onyama Limba
1039Juan X RimRussia2024-06-01Benton, John B Jr RENEWAL60Amy Elsner
1040David V MaletRussia2024-06-02Rangoni Of Florence NEGOTIATION87Stephen Shaw
1041Chavez K CaldareraUnited Kingdom2024-06-06Rangoni Of Florence NEGOTIATION37Elwin Sharvill
1042Sinclair Y AmigonFrance2024-05-24Feiner Bros QUALIFIED68Ioni Bowcher
1043Salvatore R SlusarskiRussia2024-06-02Commercial Press UNQUALIFIED95Ivan Magalhaes
1044Munro Q ChuiBrazil2024-05-27Commercial Press NEW59Amy Elsner
1045Alejandro Z IturbideBrazil2024-06-09Commercial Press NEGOTIATION51Onyama Limba
1046Johnson I RulapaughFrance2024-06-18Feltz Printing Service UNQUALIFIED44Bernardo Dominic
1047Leja B MarrierGermany2024-06-14Commercial Press NEW70Anna Fali
1048Chavez P ButtGermany2024-06-17Benton, John B Jr RENEWAL90Elwin Sharvill
1049Ashley Q MaletFrance2024-06-11Truhlar And Truhlar Attys PROPOSAL0Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aika O FlosiIndiaAsiya Javayant QUALIFIED
Mayumi H AmigonJapanElwin Sharvill RENEWAL
David H AlbaresUnited KingdomIvan Magalhaes RENEWAL
Greenwood N PoquetteItalyAmy Elsner RENEWAL
Isabel E BriddickBrazilIvan Magalhaes NEW
Silvio Z ShinkoItalyXuxue Feng RENEWAL
Ashley O FollerGermanyBernardo Dominic QUALIFIED
Aika I MorascaBrazilAnna Fali RENEWAL
Misaki K FollerItalyStephen Shaw RENEWAL
Stacey Q BologniaJapanOnyama Limba UNQUALIFIED
David A FlosiUnited KingdomStephen Shaw PROPOSAL
Greenwood C NestleSpainIoni Bowcher RENEWAL
Deepesh Y MorascaFranceAnna Fali QUALIFIED
Claire O IturbideSpainStephen Shaw PROPOSAL
Nicolas V MarrierArgentinaStephen Shaw RENEWAL
Mujtaba A CampainGermanyOnyama Limba NEGOTIATION
Munro I GarufiBrazilIoni Bowcher PROPOSAL
Misaki I DoeUnited KingdomStephen Shaw NEW
Jennifer D DarakjyIndiaElwin Sharvill NEGOTIATION
Johnson A TollnerAustraliaAnna Fali PROPOSAL
Tony M BowleyFranceOnyama Limba PROPOSAL
Kaitlin S ShinkoItalyAmy Elsner RENEWAL
Emily J MaletGermanyAmy Elsner NEGOTIATION
Stacey C DarakjyJapanBernardo Dominic UNQUALIFIED
Francesco F FigeroaAustraliaElwin Sharvill NEW
Cody L VocelkaCanadaIoni Bowcher PROPOSAL
Wickens U PaprockiArgentinaIvan Magalhaes PROPOSAL
Octavia L TollnerBrazilBernardo Dominic RENEWAL
Wickens P ChuiRussiaAnna Fali NEGOTIATION
Silvio O KolmetzJapanStephen Shaw NEGOTIATION
Ivar Y DoeBrazilXuxue Feng NEW
Ivar I SchemmerBrazilXuxue Feng QUALIFIED
Murillo O MaletBrazilIvan Magalhaes RENEWAL
Ivar Y WaycottFranceIoni Bowcher UNQUALIFIED
Arvin R MaletItalyStephen Shaw QUALIFIED
Ashley J StensethRussiaOnyama Limba NEW
Cody U GlickJapanAsiya Javayant UNQUALIFIED
Murillo I StockhamBrazilStephen Shaw UNQUALIFIED
Ashley A GarufiCanadaBernardo Dominic UNQUALIFIED
Johnson O SlusarskiBrazilIoni Bowcher RENEWAL
Arvin V SaylorsIndiaBernardo Dominic UNQUALIFIED
Cody V KolmetzArgentinaElwin Sharvill PROPOSAL
Johnson Y StockhamGermanyBernardo Dominic RENEWAL
Deepesh Q IturbideUnited KingdomOnyama Limba QUALIFIED
Murillo O StensethIndiaElwin Sharvill NEGOTIATION
Ivar X RutaItalyXuxue Feng UNQUALIFIED
Julie F KolmetzGermanyBernardo Dominic RENEWAL
Juan H DarakjyGermanyElwin Sharvill QUALIFIED
Costa P FigeroaRussiaIvan Magalhaes PROPOSAL
Jennifer C MorascaItalyOnyama Limba NEGOTIATION
Frozen Columns
Name
Julie M Whobrey
Aruna N Glick
Arvin K Gillian
Murillo P Perin
Jennifer Z Ferencz
Darci W Flosi
David O Nicka
Julie Y Oldroyd
Claire B Iturbide
James X Malet
Stacey J Kusko
Chavez O Darakjy
Darci I Bowley
Tony P Vocelka
Munro O Slusarski
Sinclair G Ferencz
Johnson Q Ruta
Adams Y Perin
Munro B Rim
Kaitlin J Schemmer
Emily Y Oldroyd
Isabel Q Tollner
Murillo B Albares
Faith P Slusarski
Juan V Dilliard
Jeanfrancois B Kusko
Ashley G Tollner
Emily K Shinko
David J Darakjy
Tony O Oldroyd
Salvatore E Stenseth
Octavia I Bowley
Kadeem G Nestle
Arvin E Shinko
Antonio K Oldroyd
Aditya O Whobrey
Costa Y Amigon
David R Stenseth
Munro S Poquette
Jefferson C Nicka
Jeanfrancois Q Royster
Tony G Saylors
Maria Q Venere
Ivar A Stockham
Adams M Dilliard
James T Albares
Octavia U Glick
Mujtaba R Waycott
Kadeem O Briddick
Juan X Gaucho
IdCountryDate
1000Germany2024-06-10
1001Australia2024-05-24
1002Argentina2024-06-17
1003Argentina2024-06-21
1004Brazil2024-05-31
1005Russia2024-06-07
1006Italy2024-06-18
1007Brazil2024-06-07
1008Japan2024-06-07
1009Argentina2024-06-22
1010Brazil2024-06-05
1011France2024-05-26
1012Australia2024-06-09
1013Brazil2024-06-20
1014Russia2024-05-24
1015Japan2024-06-19
1016Brazil2024-06-08
1017Italy2024-06-19
1018Japan2024-06-20
1019Russia2024-05-30
1020Australia2024-05-25
1021Germany2024-06-21
1022Russia2024-06-05
1023United Kingdom2024-06-07
1024Argentina2024-06-02
1025Russia2024-06-04
1026Canada2024-05-25
1027Brazil2024-06-10
1028Italy2024-06-10
1029Japan2024-06-16
1030Argentina2024-06-10
1031France2024-06-21
1032Russia2024-06-05
1033Japan2024-06-17
1034Russia2024-06-09
1035Germany2024-06-21
1036Italy2024-05-31
1037Germany2024-05-27
1038Russia2024-06-04
1039Germany2024-05-24
1040France2024-05-29
1041Brazil2024-05-27
1042Canada2024-06-01
1043Italy2024-05-29
1044Japan2024-06-10
1045Brazil2024-06-20
1046United Kingdom2024-05-30
1047Spain2024-06-12
1048Spain2024-06-08
1049Canada2024-06-05

On-Demand Data

NameIdCountryDate
Emily M Caudy1000Russia2024-06-22
Cody O Gillian1001Brazil2024-05-29
Clifford Y Stenseth1002Australia2024-06-07
Costa D Poquette1003Canada2024-06-19
Munro L Wieser1004Canada2024-05-26
Johnson T Royster1005Brazil2024-06-17
Silvio X Nestle1006India2024-06-05
Leja F Rim1007India2024-06-02
Adams S Dilliard1008Italy2024-06-07
Tony X Paprocki1009India2024-06-12
Kaitlin R Rulapaugh1010Italy2024-06-17
Ricardo I Briddick1011Canada2024-06-08
Jones C Gillian1012Argentina2024-05-26
Ricardo Q Vocelka1013France2024-06-10
Adams C Albares1014Australia2024-06-05
Darci F Poquette1015Canada2024-06-10
Jefferson Y Campain1016Brazil2024-06-06
Morrow C Nicka1017France2024-06-01
Maria O Whobrey1018Japan2024-05-24
Aika Z Figeroa1019Brazil2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith D WhobreyIndiaStephen Shaw RENEWAL
Leja U BowleyAustraliaElwin Sharvill NEGOTIATION
Faith T SchemmerArgentinaStephen Shaw UNQUALIFIED
Cody S SlusarskiSpainXuxue Feng QUALIFIED
Jefferson V SergiArgentinaElwin Sharvill NEGOTIATION
Kaitlin D KolmetzRussiaAmy Elsner QUALIFIED
David U GillianGermanyStephen Shaw NEGOTIATION
Ivar J FollerUnited KingdomStephen Shaw QUALIFIED
Ivar V PerinArgentinaAsiya Javayant RENEWAL
Greenwood C InouyeFranceStephen Shaw NEW
Antonio C FerenczRussiaAsiya Javayant RENEWAL
David J BologniaBrazilIoni Bowcher NEGOTIATION
Rodrigues J DarakjyCanadaIoni Bowcher RENEWAL
Misaki W DoeCanadaBernardo Dominic RENEWAL
Jefferson J BriddickAustraliaAmy Elsner UNQUALIFIED
Murillo T VenereIndiaAsiya Javayant QUALIFIED
Maisha L PoquetteGermanyIvan Magalhaes NEGOTIATION
Francesco X VenereArgentinaBernardo Dominic PROPOSAL
Greenwood P MorascaRussiaStephen Shaw NEGOTIATION
Leja A MaletFranceElwin Sharvill QUALIFIED
Octavia P IturbideFranceAnna Fali RENEWAL
Jones S NickaUnited KingdomOnyama Limba NEW
Clifford I GlickAustraliaAsiya Javayant NEW
Costa K OldroydSpainXuxue Feng RENEWAL
Jones G GlickItalyBernardo Dominic QUALIFIED
Isabel V IturbideArgentinaBernardo Dominic UNQUALIFIED
Deepesh T FlosiArgentinaOnyama Limba UNQUALIFIED
Octavia C GillianItalyStephen Shaw RENEWAL
Maisha S PaprockiItalyAmy Elsner UNQUALIFIED
Jeanfrancois K IturbideCanadaAmy Elsner QUALIFIED
Murillo L AlbaresGermanyBernardo Dominic NEW
Stacey P GillianBrazilBernardo Dominic NEGOTIATION
Maria Z OldroydJapanIvan Magalhaes NEW
Jeanfrancois S GarufiGermanyAnna Fali NEW
Cody M KolmetzFranceBernardo Dominic PROPOSAL
Salvatore I DilliardArgentinaAmy Elsner PROPOSAL
Cody N InouyeJapanElwin Sharvill UNQUALIFIED
Rodrigues E KuskoItalyIvan Magalhaes RENEWAL
Maria X GauchoJapanStephen Shaw QUALIFIED
Ricardo I FerenczJapanAmy Elsner 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>