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
Rodrigues Y FigeroaCanadaAsiya Javayant PROPOSAL
Chavez J DoeFranceAnna Fali NEW
Juan R SaylorsItalyOnyama Limba UNQUALIFIED
Jefferson A CampainSpainXuxue Feng NEW
Adams V DarakjyFranceXuxue Feng PROPOSAL
Leja C CampainItalyStephen Shaw NEW
Silvio B WaycottJapanAsiya Javayant NEGOTIATION
Maisha N OstroskyGermanyXuxue Feng NEGOTIATION
Maria R DoeBrazilIoni Bowcher NEW
Juan G ShinkoRussiaBernardo Dominic NEGOTIATION
Johnson Z DoeAustraliaStephen Shaw UNQUALIFIED
Morrow A SaylorsGermanyXuxue Feng UNQUALIFIED
Aruna J DoeUnited KingdomIoni Bowcher UNQUALIFIED
Morrow R WieserFranceElwin Sharvill QUALIFIED
Aika F WaycottFranceXuxue Feng RENEWAL
Jennifer I GlickBrazilIvan Magalhaes UNQUALIFIED
Leon K SaylorsIndiaXuxue Feng RENEWAL
Smith A MaletBrazilBernardo Dominic QUALIFIED
Isabel X OldroydArgentinaBernardo Dominic RENEWAL
Sinclair G BowleySpainIvan Magalhaes NEGOTIATION
Stacey W KolmetzJapanAsiya Javayant RENEWAL
Aditya H SlusarskiRussiaAsiya Javayant QUALIFIED
Julie K WhobreyFranceElwin Sharvill NEGOTIATION
Isabel I GillianJapanStephen Shaw PROPOSAL
Jeanfrancois P WhobreyCanadaXuxue Feng QUALIFIED
Morrow Y MorascaIndiaOnyama Limba RENEWAL
Ricardo T GarufiAustraliaIoni Bowcher UNQUALIFIED
Arvin Q SlusarskiAustraliaIvan Magalhaes RENEWAL
Jeanfrancois J GlickItalyIvan Magalhaes PROPOSAL
Greenwood L SaylorsJapanElwin Sharvill UNQUALIFIED
Jones N RoysterBrazilXuxue Feng QUALIFIED
Aika B GlickSpainAnna Fali QUALIFIED
Jefferson S FlosiArgentinaIoni Bowcher NEW
Octavia K VenereSpainXuxue Feng QUALIFIED
Leon F WieserGermanyAsiya Javayant PROPOSAL
Ashley U MarrierArgentinaAmy Elsner NEW
Murillo D RoysterItalyIvan Magalhaes QUALIFIED
Emily C SaylorsFranceStephen Shaw UNQUALIFIED
Kaitlin W SergiBrazilElwin Sharvill QUALIFIED
Alejandro J KolmetzUnited KingdomAmy Elsner NEGOTIATION
Clifford O PoquetteGermanyAnna Fali QUALIFIED
Octavia P PaprockiArgentinaStephen Shaw NEW
Jones X PaprockiFranceAmy Elsner QUALIFIED
Murillo N WieserIndiaBernardo Dominic RENEWAL
Faith W MaletJapanAmy Elsner NEGOTIATION
Antonio G CampainItalyStephen Shaw RENEWAL
Julie G RimAustraliaIvan Magalhaes PROPOSAL
Mujtaba Y PerinUnited KingdomXuxue Feng NEGOTIATION
Cody E CaudyUnited KingdomStephen Shaw NEW
Francesco D OstroskyBrazilIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Leja E MacleadGermanyIoni Bowcher NEW
Antonio D NestleSpainAmy Elsner UNQUALIFIED
Costa C WaycottGermanyElwin Sharvill NEGOTIATION
Adams C DilliardGermanyAmy Elsner UNQUALIFIED
Wickens R RulapaughUnited KingdomIvan Magalhaes NEW
Jefferson T MaletUnited KingdomAsiya Javayant PROPOSAL
Isabel P PerinBrazilIoni Bowcher NEW
Faith M KuskoItalyAmy Elsner NEGOTIATION
Mujtaba D FerenczIndiaElwin Sharvill NEW
Faith N RulapaughCanadaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony L MaletRussia2024-04-28Chanay, Jeffrey A Esq NEW18Bernardo Dominic
1001Leon L StockhamSpain2024-05-22Printing Dimensions NEW54Asiya Javayant
1002Isabel F WieserSpain2024-05-22Morlong Associates QUALIFIED33Anna Fali
1003Jones I RimBrazil2024-05-01Buckley Miller Wright QUALIFIED54Anna Fali
1004Mayumi R PoquetteCanada2024-05-17Rangoni Of Florence NEW90Amy Elsner
1005Darci E IturbideUnited Kingdom2024-04-29Truhlar And Truhlar Attys QUALIFIED88Amy Elsner
1006Leon K RimSpain2024-05-18Chapman, Ross E Esq NEGOTIATION16Ivan Magalhaes
1007Kaitlin X MaletJapan2024-05-12Printing Dimensions PROPOSAL5Anna Fali
1008Jones U SlusarskiIndia2024-05-10Benton, John B Jr QUALIFIED67Xuxue Feng
1009Jefferson M RoysterAustralia2024-05-27Chanay, Jeffrey A Esq PROPOSAL99Amy Elsner
1010Leja J ChuiFrance2024-05-11Feltz Printing Service NEW31Xuxue Feng
1011Leja E RimArgentina2024-05-05Printing Dimensions PROPOSAL99Amy Elsner
1012Jones R BologniaAustralia2024-05-21Dorl, James J Esq UNQUALIFIED90Onyama Limba
1013Costa U CaudyCanada2024-05-19Dorl, James J Esq PROPOSAL10Elwin Sharvill
1014Aika U IturbideItaly2024-05-24Rousseaux, Michael Esq UNQUALIFIED14Asiya Javayant
1015Ivar T DoeRussia2024-05-14Chanay, Jeffrey A Esq NEGOTIATION48Bernardo Dominic
1016Misaki M MarrierIndia2024-05-03Commercial Press NEGOTIATION60Xuxue Feng
1017Greenwood U FollerSpain2024-05-13Feltz Printing Service UNQUALIFIED24Anna Fali
1018Aika T TollnerGermany2024-04-29Commercial Press NEGOTIATION88Asiya Javayant
1019Sinclair T OstroskyUnited Kingdom2024-05-17Chanay, Jeffrey A Esq NEW15Bernardo Dominic
1020Leja T FerenczCanada2024-05-15Dorl, James J Esq UNQUALIFIED35Ioni Bowcher
1021Ivar W GarufiFrance2024-05-05Benton, John B Jr NEGOTIATION4Ioni Bowcher
1022Aditya V ShinkoJapan2024-05-11Chanay, Jeffrey A Esq QUALIFIED83Amy Elsner
1023Jones X RimJapan2024-05-01Dorl, James J Esq QUALIFIED77Bernardo Dominic
1024Leja Z NestleAustralia2024-05-14Chemel, James L Cpa NEGOTIATION4Asiya Javayant
1025Aditya Y VocelkaItaly2024-05-26Rousseaux, Michael Esq UNQUALIFIED89Anna Fali
1026Mayumi C CaudyCanada2024-04-29Benton, John B Jr NEW50Ioni Bowcher
1027Antonio H RoysterSpain2024-05-08Feltz Printing Service RENEWAL91Onyama Limba
1028Octavia J ShinkoJapan2024-05-10Truhlar And Truhlar Attys NEW69Ioni Bowcher
1029James Q SergiItaly2024-05-13Buckley Miller Wright RENEWAL47Bernardo Dominic
1030Chavez G RimBrazil2024-05-21Chemel, James L Cpa QUALIFIED74Onyama Limba
1031Ivar Q RoysterItaly2024-05-23Buckley Miller Wright UNQUALIFIED28Onyama Limba
1032Aruna Z StockhamCanada2024-05-16Chanay, Jeffrey A Esq NEW72Stephen Shaw
1033Darci Z IturbideGermany2024-05-13Chapman, Ross E Esq PROPOSAL44Xuxue Feng
1034Darci N GauchoSpain2024-05-08Benton, John B Jr PROPOSAL45Ioni Bowcher
1035Smith F BowleyRussia2024-05-07Rousseaux, Michael Esq RENEWAL29Elwin Sharvill
1036Cody B OldroydBrazil2024-04-30Buckley Miller Wright UNQUALIFIED6Onyama Limba
1037Darci Z VenereFrance2024-05-01Rangoni Of Florence QUALIFIED33Elwin Sharvill
1038Ivar N AlbaresCanada2024-05-26Dorl, James J Esq UNQUALIFIED63Onyama Limba
1039Maisha J MorascaBrazil2024-05-20Truhlar And Truhlar Attys PROPOSAL92Elwin Sharvill
1040Adams E MaletBrazil2024-05-27Morlong Associates RENEWAL38Amy Elsner
1041Misaki X FollerItaly2024-05-26Chemel, James L Cpa UNQUALIFIED57Amy Elsner
1042Stacey L StockhamAustralia2024-05-16Chemel, James L Cpa NEGOTIATION36Amy Elsner
1043Cody H SergiFrance2024-05-02Benton, John B Jr UNQUALIFIED8Onyama Limba
1044Johnson O BologniaAustralia2024-05-19Chapman, Ross E Esq UNQUALIFIED45Bernardo Dominic
1045Kaitlin K SaylorsJapan2024-05-09King, Christopher A Esq RENEWAL18Anna Fali
1046Julie T RutaRussia2024-05-22Chanay, Jeffrey A Esq RENEWAL21Asiya Javayant
1047Leja O PoquetteArgentina2024-05-26King, Christopher A Esq UNQUALIFIED94Stephen Shaw
1048Kadeem X ButtSpain2024-05-16Feiner Bros RENEWAL6Amy Elsner
1049Francesco X MacleadUnited Kingdom2024-05-08Chemel, James L Cpa NEGOTIATION19Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ivar A SlusarskiCanadaXuxue Feng UNQUALIFIED
Izzy O FollerJapanIoni Bowcher NEGOTIATION
Munro N FlosiIndiaAnna Fali RENEWAL
Izzy C MaletCanadaAnna Fali UNQUALIFIED
Aika J MarrierUnited KingdomElwin Sharvill PROPOSAL
Darci O ButtArgentinaElwin Sharvill NEGOTIATION
Juan J IturbideArgentinaBernardo Dominic QUALIFIED
Kadeem Y MarrierRussiaBernardo Dominic RENEWAL
Juan L RutaGermanyAnna Fali UNQUALIFIED
James B PaprockiAustraliaIvan Magalhaes NEGOTIATION
Sinclair A BologniaCanadaIvan Magalhaes QUALIFIED
Wickens U RutaGermanyBernardo Dominic NEW
Aditya C BologniaIndiaOnyama Limba QUALIFIED
Faith W FerenczJapanXuxue Feng NEGOTIATION
Emily S RimAustraliaStephen Shaw RENEWAL
Jennifer C RulapaughGermanyIoni Bowcher UNQUALIFIED
Jennifer T SlusarskiUnited KingdomIvan Magalhaes NEW
Cody X DoeRussiaIoni Bowcher UNQUALIFIED
Kaitlin V AlbaresBrazilAnna Fali NEGOTIATION
Nicolas O GillianUnited KingdomStephen Shaw RENEWAL
Clifford L MaletJapanAsiya Javayant QUALIFIED
Juan L GauchoGermanyIoni Bowcher UNQUALIFIED
Nicolas D FollerBrazilBernardo Dominic NEGOTIATION
David T RoysterCanadaIoni Bowcher NEW
Maria L MarrierUnited KingdomAmy Elsner PROPOSAL
Kadeem L KuskoArgentinaBernardo Dominic NEGOTIATION
Isabel C CaudyGermanyBernardo Dominic QUALIFIED
Tony D BowleyGermanyAsiya Javayant NEW
David L DilliardRussiaXuxue Feng NEW
Ricardo J WaycottRussiaIvan Magalhaes UNQUALIFIED
James D MacleadJapanOnyama Limba UNQUALIFIED
Ashley V RoysterSpainAsiya Javayant NEW
Murillo V MacleadUnited KingdomIvan Magalhaes NEW
Ricardo E AlbaresBrazilElwin Sharvill QUALIFIED
Kaitlin E WaycottFranceAmy Elsner NEGOTIATION
Clifford O DarakjyGermanyIvan Magalhaes NEGOTIATION
Leja C MacleadCanadaIvan Magalhaes RENEWAL
Adams X KolmetzUnited KingdomAnna Fali NEW
Kaitlin G InouyeSpainBernardo Dominic NEW
Octavia U DilliardFranceOnyama Limba PROPOSAL
Izzy O BriddickBrazilStephen Shaw NEGOTIATION
Kadeem A TollnerRussiaAnna Fali UNQUALIFIED
Clifford H NickaGermanyStephen Shaw NEGOTIATION
Rodrigues R AlbaresFranceAnna Fali PROPOSAL
Antonio L MorascaUnited KingdomAsiya Javayant NEW
Arvin I SchemmerIndiaAnna Fali PROPOSAL
Antonio Q GlickArgentinaIoni Bowcher RENEWAL
Aika W GauchoCanadaIvan Magalhaes NEGOTIATION
Adams W KuskoSpainIoni Bowcher RENEWAL
Sinclair E ChuiSpainBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Adams G Rulapaugh
Nicolas R Morasca
Jeanfrancois F Briddick
Francesco I Saylors
Morrow D Marrier
Juan D Doe
David W Bolognia
Ivar Q Glick
Juan T Bolognia
Tony D Venere
Maisha O Oldroyd
Stacey X Shinko
Nicolas D Malet
Kaitlin I Whobrey
Johnson G Garufi
Maria F Saylors
Aditya L Paprocki
Misaki Y Sergi
Arvin U Ostrosky
Maisha N Malet
Sinclair M Figeroa
Izzy C Gaucho
Murillo V Malet
Darci J Kusko
Isabel T Glick
Darci C Albares
Aruna X Caldarera
Smith X Garufi
Clifford Z Waycott
Leja E Nicka
Julie D Royster
Mujtaba Q Glick
Mayumi H Amigon
Octavia Y Rim
Juan L Amigon
Greenwood B Flosi
Faith J Flosi
Claire H Oldroyd
Alejandro V Briddick
Leja M Kolmetz
Adams B Rim
Leon E Bowley
Smith W Rim
Darci S Morasca
Izzy H Schemmer
Antonio L Perin
Murillo W Chui
Ashley F Saylors
Mujtaba E Bowley
James W Perin
IdCountryDate
1000Brazil2024-05-19
1001Canada2024-05-09
1002Brazil2024-05-01
1003France2024-05-17
1004Germany2024-04-30
1005Spain2024-05-04
1006France2024-05-16
1007Argentina2024-05-24
1008Canada2024-05-09
1009India2024-04-30
1010Argentina2024-05-27
1011India2024-05-19
1012Brazil2024-05-05
1013United Kingdom2024-05-01
1014India2024-05-10
1015Japan2024-05-26
1016Canada2024-05-26
1017Argentina2024-05-15
1018Spain2024-05-27
1019Italy2024-05-27
1020France2024-05-17
1021Japan2024-05-13
1022Russia2024-05-20
1023France2024-05-15
1024Russia2024-04-28
1025United Kingdom2024-05-16
1026Russia2024-05-02
1027Italy2024-04-28
1028Italy2024-05-18
1029Argentina2024-05-06
1030Russia2024-05-13
1031Brazil2024-05-05
1032India2024-05-08
1033India2024-05-01
1034Argentina2024-04-30
1035Argentina2024-05-27
1036Japan2024-05-05
1037Russia2024-05-25
1038Italy2024-05-18
1039Brazil2024-05-06
1040Italy2024-05-17
1041Argentina2024-05-06
1042Australia2024-05-27
1043Australia2024-05-20
1044Italy2024-05-23
1045Japan2024-05-08
1046Canada2024-05-06
1047Canada2024-05-25
1048France2024-05-26
1049Australia2024-05-23

On-Demand Data

NameIdCountryDate
Antonio A Maclead1000Russia2024-05-27
James U Caldarera1001Canada2024-05-10
Kaitlin V Albares1002Germany2024-05-16
Munro P Butt1003Spain2024-05-10
Tony J Maclead1004Australia2024-05-20
Kaitlin O Dilliard1005Argentina2024-05-04
David Z Maclead1006Argentina2024-05-07
Costa R Dilliard1007Brazil2024-05-13
Cody V Foller1008Australia2024-05-03
Maisha N Darakjy1009Italy2024-05-16
Chavez I Butt1010Canada2024-05-26
Morrow H Oldroyd1011Canada2024-05-24
Clifford P Marrier1012Argentina2024-05-17
Jefferson Z Rulapaugh1013Australia2024-05-10
Smith A Morasca1014Spain2024-05-26
Juan L Bolognia1015Germany2024-05-11
Alejandro Z Glick1016Australia2024-05-22
Octavia Z Stenseth1017Russia2024-05-21
Aruna H Tollner1018France2024-05-03
Maria Y Ferencz1019Australia2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith O ButtBrazilElwin Sharvill NEW
Jefferson O RimRussiaXuxue Feng PROPOSAL
Aruna D CaudyItalyIvan Magalhaes UNQUALIFIED
Misaki V MacleadJapanStephen Shaw UNQUALIFIED
Jeanfrancois P MaletGermanyAsiya Javayant UNQUALIFIED
Kadeem Q DilliardUnited KingdomOnyama Limba NEW
Juan A AmigonArgentinaBernardo Dominic NEGOTIATION
Sinclair Q OldroydUnited KingdomBernardo Dominic PROPOSAL
Wickens V SlusarskiSpainXuxue Feng QUALIFIED
Maisha L PerinItalyOnyama Limba PROPOSAL
Antonio R GauchoIndiaOnyama Limba RENEWAL
Antonio I FigeroaJapanBernardo Dominic NEGOTIATION
Alejandro R FlosiGermanyIoni Bowcher RENEWAL
David C IturbideSpainAnna Fali UNQUALIFIED
Salvatore F AlbaresItalyIvan Magalhaes NEW
Juan X StockhamJapanAnna Fali QUALIFIED
Maria J FollerGermanyAsiya Javayant RENEWAL
Octavia O DoeJapanXuxue Feng NEGOTIATION
Munro P FlosiCanadaIoni Bowcher RENEWAL
Juan Y VocelkaAustraliaStephen Shaw UNQUALIFIED
Aruna A SlusarskiSpainIoni Bowcher NEGOTIATION
Alejandro G FlosiSpainIoni Bowcher UNQUALIFIED
Chavez Q OstroskyJapanOnyama Limba QUALIFIED
Faith V MorascaIndiaAsiya Javayant QUALIFIED
Johnson P RutaSpainAnna Fali NEW
Kadeem C FigeroaAustraliaOnyama Limba NEW
Nicolas G DilliardGermanyStephen Shaw RENEWAL
Sinclair R ChuiCanadaAmy Elsner PROPOSAL
Deepesh C CaldareraItalyAsiya Javayant PROPOSAL
Emily N GlickSpainElwin Sharvill NEW
Kadeem U CampainArgentinaAnna Fali QUALIFIED
Izzy C ShinkoUnited KingdomStephen Shaw NEW
Julie Z BowleySpainBernardo Dominic NEGOTIATION
Deepesh N CaudyJapanAnna Fali RENEWAL
Nicolas P ChuiJapanElwin Sharvill UNQUALIFIED
Leon Q MorascaIndiaOnyama Limba UNQUALIFIED
Salvatore W SaylorsJapanAsiya Javayant PROPOSAL
Claire P MaletIndiaIoni Bowcher PROPOSAL
Leon D WhobreyGermanyIvan Magalhaes NEW
Leon F SlusarskiIndiaBernardo Dominic UNQUALIFIED

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