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
Antonio F CampainUnited KingdomXuxue Feng NEGOTIATION
Isabel Y ShinkoItalyElwin Sharvill QUALIFIED
Jeanfrancois G NestleJapanIoni Bowcher QUALIFIED
Murillo W DilliardItalyAnna Fali UNQUALIFIED
Kaitlin V GlickItalyStephen Shaw PROPOSAL
David L WhobreyFranceAmy Elsner UNQUALIFIED
Claire H SergiAustraliaIvan Magalhaes RENEWAL
Stacey K StockhamUnited KingdomAsiya Javayant NEW
Ricardo I KolmetzBrazilIoni Bowcher QUALIFIED
Kadeem K MarrierGermanyIoni Bowcher PROPOSAL
Jones S WieserGermanyIvan Magalhaes NEW
Leja K ButtArgentinaAnna Fali UNQUALIFIED
Octavia N MaletGermanyOnyama Limba NEGOTIATION
Jefferson X SchemmerSpainElwin Sharvill PROPOSAL
Faith K RimJapanAmy Elsner PROPOSAL
Darci K MarrierGermanyIoni Bowcher RENEWAL
Mujtaba D MaletGermanyElwin Sharvill RENEWAL
Juan N FlosiRussiaAsiya Javayant UNQUALIFIED
Jefferson B OldroydItalyStephen Shaw RENEWAL
Nicolas H BriddickArgentinaOnyama Limba QUALIFIED
Greenwood F BriddickArgentinaAnna Fali NEW
Salvatore W RutaJapanAsiya Javayant QUALIFIED
Ivar Y TollnerUnited KingdomElwin Sharvill QUALIFIED
Jones D PaprockiIndiaAnna Fali NEW
Emily J MorascaCanadaAnna Fali PROPOSAL
Ivar Z FerenczJapanBernardo Dominic PROPOSAL
Smith Q WaycottFranceAmy Elsner QUALIFIED
Mujtaba X SergiCanadaIvan Magalhaes UNQUALIFIED
Antonio E WieserRussiaIvan Magalhaes QUALIFIED
David V KuskoGermanyAnna Fali NEW
Wickens O SchemmerAustraliaStephen Shaw RENEWAL
Leon F OldroydBrazilAmy Elsner UNQUALIFIED
Ricardo A MorascaItalyAsiya Javayant RENEWAL
Adams M InouyeJapanStephen Shaw UNQUALIFIED
Clifford M GillianJapanElwin Sharvill QUALIFIED
Misaki B FollerFranceAsiya Javayant RENEWAL
Aditya A VenereFranceAmy Elsner RENEWAL
Jeanfrancois V MorascaJapanAnna Fali RENEWAL
James K MaletFranceXuxue Feng NEGOTIATION
Morrow B DarakjyBrazilOnyama Limba QUALIFIED
Izzy K ButtAustraliaIoni Bowcher PROPOSAL
Octavia Y OstroskyFranceIoni Bowcher QUALIFIED
Stacey F GillianFranceAnna Fali NEGOTIATION
Julie I MaletArgentinaXuxue Feng QUALIFIED
Jennifer G ButtUnited KingdomAsiya Javayant NEGOTIATION
David C SlusarskiJapanAmy Elsner QUALIFIED
Chavez V TollnerGermanyAnna Fali PROPOSAL
Greenwood N InouyeGermanyAsiya Javayant NEW
James V OstroskyCanadaElwin Sharvill NEGOTIATION
Aditya Q KolmetzGermanyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
James I SergiCanadaAmy Elsner NEGOTIATION
Adams W FerenczJapanOnyama Limba UNQUALIFIED
Emily O GillianRussiaAnna Fali NEW
Ricardo W SergiGermanyOnyama Limba NEGOTIATION
Faith J FerenczArgentinaIvan Magalhaes NEW
Nicolas T FlosiCanadaIoni Bowcher UNQUALIFIED
Maisha W MarrierSpainIvan Magalhaes QUALIFIED
Alejandro Y PoquetteAustraliaAmy Elsner UNQUALIFIED
Emily E StockhamFranceStephen Shaw UNQUALIFIED
Jefferson X GauchoRussiaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio A RulapaughItaly2024-05-11Buckley Miller Wright PROPOSAL2Stephen Shaw
1001Ivar Y MacleadItaly2024-04-25Commercial Press QUALIFIED95Onyama Limba
1002Antonio N BriddickCanada2024-05-08Chemel, James L Cpa RENEWAL79Ivan Magalhaes
1003Leja E PaprockiSpain2024-05-17Chapman, Ross E Esq UNQUALIFIED98Xuxue Feng
1004Mayumi J GauchoGermany2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED33Ioni Bowcher
1005Francesco E CampainBrazil2024-05-23Morlong Associates UNQUALIFIED59Xuxue Feng
1006Tony U InouyeGermany2024-05-07Truhlar And Truhlar Attys NEW77Stephen Shaw
1007Ashley G SaylorsGermany2024-04-30Morlong Associates PROPOSAL40Asiya Javayant
1008Francesco P AlbaresCanada2024-05-21Chanay, Jeffrey A Esq QUALIFIED97Elwin Sharvill
1009Deepesh H VenereRussia2024-04-26Morlong Associates RENEWAL35Ivan Magalhaes
1010Antonio D StensethUnited Kingdom2024-05-17Morlong Associates PROPOSAL2Ivan Magalhaes
1011Tony W FerenczArgentina2024-04-30Rangoni Of Florence UNQUALIFIED76Xuxue Feng
1012Costa W WaycottSpain2024-05-06Truhlar And Truhlar Attys NEW97Bernardo Dominic
1013Greenwood U NickaFrance2024-05-21Commercial Press NEW82Bernardo Dominic
1014James B RutaBrazil2024-05-13King, Christopher A Esq UNQUALIFIED62Anna Fali
1015Chavez Q VocelkaUnited Kingdom2024-05-18Truhlar And Truhlar Attys PROPOSAL75Bernardo Dominic
1016Darci M GauchoBrazil2024-04-25Feiner Bros RENEWAL12Amy Elsner
1017Misaki T RutaJapan2024-05-22Buckley Miller Wright QUALIFIED79Amy Elsner
1018Leja Q GillianCanada2024-04-29Printing Dimensions NEGOTIATION44Asiya Javayant
1019Izzy I OstroskyBrazil2024-05-18Morlong Associates NEGOTIATION26Ivan Magalhaes
1020Kadeem C AmigonFrance2024-04-30Benton, John B Jr RENEWAL73Anna Fali
1021Jeanfrancois L WaycottArgentina2024-05-23Feltz Printing Service PROPOSAL45Anna Fali
1022Tony Y RoysterBrazil2024-05-10Rousseaux, Michael Esq NEW17Bernardo Dominic
1023Jennifer H PoquetteArgentina2024-05-06Truhlar And Truhlar Attys NEGOTIATION36Stephen Shaw
1024Jefferson L GauchoJapan2024-05-06Printing Dimensions NEW67Ioni Bowcher
1025Izzy T SergiFrance2024-05-15Chemel, James L Cpa UNQUALIFIED19Onyama Limba
1026Silvio P GarufiFrance2024-04-27Truhlar And Truhlar Attys NEW36Anna Fali
1027Arvin Z BriddickUnited Kingdom2024-05-04Feltz Printing Service QUALIFIED84Bernardo Dominic
1028Costa C DilliardJapan2024-04-26Dorl, James J Esq QUALIFIED29Amy Elsner
1029Aruna P ButtBrazil2024-05-14Chapman, Ross E Esq QUALIFIED79Stephen Shaw
1030Rodrigues U BowleyFrance2024-05-18Feltz Printing Service NEGOTIATION75Xuxue Feng
1031Deepesh S DilliardFrance2024-05-15Benton, John B Jr NEW56Ioni Bowcher
1032Mujtaba V VenereCanada2024-05-05Chemel, James L Cpa NEGOTIATION84Ivan Magalhaes
1033Deepesh H CaudyIndia2024-05-10Buckley Miller Wright UNQUALIFIED17Onyama Limba
1034Ricardo Q MorascaCanada2024-05-06Rangoni Of Florence UNQUALIFIED25Stephen Shaw
1035Francesco K WhobreyUnited Kingdom2024-05-18Truhlar And Truhlar Attys NEW75Elwin Sharvill
1036Aditya M CaudyRussia2024-05-12Dorl, James J Esq QUALIFIED79Ivan Magalhaes
1037Alejandro N PaprockiCanada2024-05-22Chemel, James L Cpa QUALIFIED28Xuxue Feng
1038Leja S GauchoBrazil2024-05-08Rangoni Of Florence PROPOSAL7Asiya Javayant
1039Claire X KuskoSpain2024-05-16Morlong Associates NEW83Elwin Sharvill
1040Jeanfrancois B RimIndia2024-05-02Dorl, James J Esq QUALIFIED58Anna Fali
1041Misaki N KolmetzJapan2024-04-26Rousseaux, Michael Esq NEGOTIATION14Anna Fali
1042Kaitlin V WaycottGermany2024-05-05Rangoni Of Florence PROPOSAL79Bernardo Dominic
1043Leja M GarufiCanada2024-05-14Feiner Bros UNQUALIFIED68Ioni Bowcher
1044Mujtaba J SchemmerFrance2024-05-09Benton, John B Jr PROPOSAL85Ioni Bowcher
1045Cody H IturbideItaly2024-05-24Chapman, Ross E Esq QUALIFIED83Bernardo Dominic
1046Greenwood U OldroydFrance2024-05-09Chemel, James L Cpa UNQUALIFIED3Elwin Sharvill
1047Mujtaba V BowleyFrance2024-04-29Buckley Miller Wright QUALIFIED66Amy Elsner
1048Smith D KuskoSpain2024-05-09Chanay, Jeffrey A Esq QUALIFIED28Asiya Javayant
1049Ricardo S StensethJapan2024-05-03Rousseaux, Michael Esq QUALIFIED37Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Salvatore L SlusarskiRussiaOnyama Limba PROPOSAL
Ashley E ShinkoFranceAnna Fali RENEWAL
Kadeem O ChuiGermanyElwin Sharvill UNQUALIFIED
Cody Z GauchoBrazilAmy Elsner NEGOTIATION
Deepesh M NickaArgentinaAnna Fali UNQUALIFIED
Adams G GillianCanadaXuxue Feng PROPOSAL
Maisha V AlbaresItalyElwin Sharvill RENEWAL
Aditya B DilliardSpainAnna Fali RENEWAL
Costa E SchemmerBrazilStephen Shaw UNQUALIFIED
Nicolas S BologniaCanadaAmy Elsner NEGOTIATION
Maria M SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Sinclair T StensethJapanBernardo Dominic NEGOTIATION
Kaitlin S BriddickRussiaIvan Magalhaes QUALIFIED
Octavia P KuskoJapanIvan Magalhaes PROPOSAL
Izzy P OldroydItalyElwin Sharvill NEW
Tony I DoeIndiaAnna Fali PROPOSAL
Leon B SaylorsBrazilIvan Magalhaes RENEWAL
Adams I PerinCanadaIvan Magalhaes NEGOTIATION
Cody K SaylorsJapanIvan Magalhaes NEGOTIATION
Jennifer I StensethSpainElwin Sharvill QUALIFIED
Sinclair T InouyeCanadaXuxue Feng UNQUALIFIED
Octavia L RulapaughItalyStephen Shaw QUALIFIED
Misaki S MaletAustraliaIvan Magalhaes NEGOTIATION
Jennifer K AlbaresSpainBernardo Dominic RENEWAL
Alejandro O ShinkoJapanIoni Bowcher NEW
Rodrigues Z DarakjyAustraliaAsiya Javayant PROPOSAL
Morrow X NestleGermanyIvan Magalhaes QUALIFIED
David I DoeRussiaAmy Elsner NEW
Deepesh G PaprockiRussiaStephen Shaw PROPOSAL
Maria T NestleItalyXuxue Feng NEW
Mayumi W VenereArgentinaAnna Fali RENEWAL
Sinclair L BologniaRussiaElwin Sharvill NEGOTIATION
Adams X DoeJapanXuxue Feng QUALIFIED
Kadeem A TollnerArgentinaIvan Magalhaes PROPOSAL
Claire Z SaylorsBrazilIoni Bowcher PROPOSAL
Costa D BowleyIndiaElwin Sharvill QUALIFIED
Ashley B AmigonAustraliaAnna Fali PROPOSAL
Arvin D DilliardItalyAmy Elsner QUALIFIED
Ivar C NickaArgentinaIvan Magalhaes RENEWAL
Kaitlin R VenereSpainAmy Elsner NEGOTIATION
Aditya J WieserUnited KingdomXuxue Feng RENEWAL
Munro W KuskoItalyIoni Bowcher NEGOTIATION
Tony D SaylorsAustraliaElwin Sharvill NEGOTIATION
Johnson N PerinArgentinaElwin Sharvill QUALIFIED
Antonio X MaletJapanBernardo Dominic NEW
Morrow E InouyeSpainIvan Magalhaes PROPOSAL
Ivar M TollnerGermanyBernardo Dominic QUALIFIED
Aika Y NickaItalyAsiya Javayant QUALIFIED
Adams M SlusarskiUnited KingdomAmy Elsner UNQUALIFIED
Alejandro K VenereItalyAmy Elsner UNQUALIFIED
Frozen Columns
Name
Claire E Garufi
Octavia M Chui
Deepesh S Rim
Deepesh J Doe
Maria Y Nestle
Johnson X Rulapaugh
Tony S Iturbide
Stacey G Whobrey
Chavez Y Maclead
Jennifer J Caudy
Isabel F Slusarski
Ricardo P Foller
Leon D Nicka
Kadeem S Nicka
Cody O Wieser
Greenwood Y Whobrey
Clifford T Doe
Maria A Perin
Arvin G Campain
Aditya N Oldroyd
Nicolas U Caldarera
Silvio F Wieser
Antonio V Stenseth
Emily O Foller
David G Poquette
Deepesh U Stockham
Emily B Schemmer
Costa X Chui
Aika T Garufi
Emily S Royster
Nicolas S Venere
Maria I Foller
Emily D Flosi
Kaitlin A Venere
Clifford A Iturbide
Arvin A Ostrosky
Antonio S Morasca
Wickens E Ruta
Claire P Ruta
Aruna T Inouye
Ashley J Flosi
Greenwood J Vocelka
Silvio U Sergi
Costa X Rulapaugh
Maria Y Royster
Nicolas Q Stockham
Sinclair J Royster
Maria G Marrier
Murillo V Whobrey
Jefferson D Ferencz
IdCountryDate
1000Australia2024-05-23
1001Australia2024-05-03
1002France2024-05-22
1003Russia2024-05-07
1004Canada2024-05-11
1005France2024-05-23
1006United Kingdom2024-05-05
1007Brazil2024-05-04
1008India2024-05-02
1009Russia2024-05-07
1010France2024-05-23
1011Canada2024-04-29
1012India2024-05-16
1013United Kingdom2024-05-20
1014Australia2024-04-25
1015India2024-04-29
1016Japan2024-05-15
1017Germany2024-05-10
1018France2024-05-18
1019Canada2024-05-21
1020Australia2024-05-18
1021Argentina2024-05-01
1022Australia2024-05-17
1023France2024-05-09
1024Spain2024-04-30
1025Spain2024-05-05
1026India2024-05-24
1027Germany2024-05-05
1028Brazil2024-05-21
1029Japan2024-05-03
1030France2024-05-10
1031France2024-05-21
1032United Kingdom2024-05-15
1033Brazil2024-05-06
1034Australia2024-05-22
1035Argentina2024-05-19
1036France2024-05-23
1037Germany2024-04-30
1038Argentina2024-05-06
1039Argentina2024-05-04
1040United Kingdom2024-05-04
1041Germany2024-04-30
1042Russia2024-05-05
1043Japan2024-05-21
1044Brazil2024-05-11
1045Germany2024-05-09
1046Brazil2024-04-30
1047Japan2024-05-06
1048India2024-05-01
1049Australia2024-05-06

On-Demand Data

NameIdCountryDate
Francesco Y Inouye1000India2024-05-07
Munro U Ruta1001United Kingdom2024-05-20
Deepesh G Schemmer1002Canada2024-05-11
Misaki J Malet1003Brazil2024-05-02
Mujtaba V Gillian1004Spain2024-05-08
James J Stenseth1005India2024-04-28
Darci E Malet1006Italy2024-05-17
David R Gillian1007Spain2024-04-26
Leon P Foller1008Japan2024-05-03
Johnson H Caudy1009Russia2024-05-06
Rodrigues O Schemmer1010Italy2024-04-26
Salvatore E Campain1011Japan2024-05-16
Juan D Maclead1012Germany2024-05-04
Adams O Whobrey1013Spain2024-05-23
Izzy Z Butt1014India2024-05-14
Jennifer T Campain1015Italy2024-05-05
Johnson X Oldroyd1016Italy2024-04-26
Darci Z Ruta1017Australia2024-05-09
Darci Z Perin1018France2024-05-02
Jennifer R Venere1019Argentina2024-05-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith F SchemmerJapanOnyama Limba QUALIFIED
Ivar P MaletRussiaIoni Bowcher QUALIFIED
Aruna F AlbaresArgentinaAmy Elsner UNQUALIFIED
Octavia R KuskoFranceAnna Fali NEW
Claire U IturbideAustraliaXuxue Feng PROPOSAL
Morrow K OstroskyItalyAnna Fali UNQUALIFIED
Isabel Z NestleRussiaIoni Bowcher QUALIFIED
Claire I KuskoIndiaBernardo Dominic NEGOTIATION
Leon E InouyeIndiaAsiya Javayant PROPOSAL
Johnson D WaycottSpainElwin Sharvill NEGOTIATION
Maria J WhobreyUnited KingdomBernardo Dominic QUALIFIED
Alejandro F KuskoIndiaAmy Elsner QUALIFIED
Jefferson U DoeGermanyAmy Elsner RENEWAL
Leon D KuskoJapanXuxue Feng NEGOTIATION
Octavia Y BowleyArgentinaXuxue Feng NEW
Costa W DarakjyArgentinaBernardo Dominic QUALIFIED
Adams W SergiJapanIvan Magalhaes PROPOSAL
Morrow L MarrierJapanAnna Fali NEGOTIATION
Francesco N CampainRussiaAnna Fali NEW
Misaki D BowleyGermanyAmy Elsner RENEWAL
Clifford Q DarakjyAustraliaStephen Shaw NEGOTIATION
Jefferson G GlickGermanyAmy Elsner NEGOTIATION
Stacey K MaletAustraliaXuxue Feng NEGOTIATION
Deepesh G StockhamRussiaOnyama Limba NEGOTIATION
Nicolas V BowleyItalyAsiya Javayant QUALIFIED
Deepesh Q FlosiCanadaXuxue Feng NEW
Cody K WieserArgentinaStephen Shaw PROPOSAL
Isabel N PerinFranceXuxue Feng NEW
Leon S DoeRussiaElwin Sharvill UNQUALIFIED
Aruna O IturbideItalyOnyama Limba NEW
Antonio B SchemmerAustraliaIoni Bowcher QUALIFIED
Adams R ShinkoRussiaAnna Fali QUALIFIED
James W KuskoCanadaOnyama Limba NEGOTIATION
Ashley N PoquetteRussiaOnyama Limba NEGOTIATION
Misaki K BologniaCanadaIoni Bowcher QUALIFIED
Morrow X AlbaresUnited KingdomXuxue Feng NEW
Octavia G CaldareraIndiaIoni Bowcher UNQUALIFIED
Ricardo A WaycottAustraliaXuxue Feng NEW
Sinclair O InouyeItalyIoni Bowcher RENEWAL
Mujtaba D SchemmerArgentinaStephen Shaw NEW

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