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
Francesco U BriddickBrazilStephen Shaw NEGOTIATION
Kadeem F PerinRussiaAmy Elsner UNQUALIFIED
Tony N FlosiArgentinaOnyama Limba NEW
Faith B RoysterUnited KingdomBernardo Dominic PROPOSAL
Ivar D MaletGermanyXuxue Feng NEGOTIATION
Deepesh L PoquetteJapanXuxue Feng PROPOSAL
Smith W PerinUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois E MacleadArgentinaElwin Sharvill PROPOSAL
Jennifer X FerenczJapanBernardo Dominic PROPOSAL
Greenwood B SchemmerIndiaOnyama Limba QUALIFIED
Julie I ChuiItalyIvan Magalhaes UNQUALIFIED
Izzy R VenereSpainAmy Elsner PROPOSAL
Jeanfrancois L FerenczArgentinaAnna Fali NEW
Cody L WhobreyJapanIoni Bowcher RENEWAL
Emily Z ChuiIndiaStephen Shaw RENEWAL
Tony Q SergiUnited KingdomStephen Shaw PROPOSAL
Julie T RimUnited KingdomBernardo Dominic QUALIFIED
Jefferson F OldroydIndiaIoni Bowcher UNQUALIFIED
Kadeem F CaudySpainXuxue Feng RENEWAL
Jones L StensethCanadaElwin Sharvill NEGOTIATION
Kaitlin P MarrierUnited KingdomStephen Shaw UNQUALIFIED
Darci Y DarakjyBrazilBernardo Dominic PROPOSAL
Maisha N WaycottAustraliaOnyama Limba RENEWAL
Jennifer W ButtArgentinaAsiya Javayant NEGOTIATION
Ivar H SaylorsSpainAsiya Javayant PROPOSAL
Aruna R BriddickBrazilAsiya Javayant NEW
Nicolas U RimItalyXuxue Feng QUALIFIED
Ivar R BriddickUnited KingdomXuxue Feng NEW
Deepesh E IturbideAustraliaElwin Sharvill RENEWAL
Rodrigues Q WieserJapanStephen Shaw UNQUALIFIED
Tony U GlickFranceIvan Magalhaes UNQUALIFIED
Claire J ButtSpainAsiya Javayant NEW
Faith Z CampainAustraliaIoni Bowcher NEW
Aditya I RimItalyBernardo Dominic PROPOSAL
Greenwood E ButtCanadaIoni Bowcher NEW
Maisha A DilliardFranceXuxue Feng NEGOTIATION
Tony M MaletAustraliaAsiya Javayant NEW
Salvatore D MaletFranceOnyama Limba NEW
Jefferson F ChuiSpainAmy Elsner QUALIFIED
Leon L MaletUnited KingdomElwin Sharvill UNQUALIFIED
Clifford Y FollerItalyAnna Fali UNQUALIFIED
Ashley X FerenczCanadaAmy Elsner NEGOTIATION
Wickens O RutaSpainAsiya Javayant RENEWAL
Julie H StensethAustraliaStephen Shaw QUALIFIED
Misaki R SchemmerJapanAnna Fali NEGOTIATION
Silvio H PoquetteRussiaAsiya Javayant PROPOSAL
Cody L RutaBrazilAsiya Javayant PROPOSAL
Cody R RoysterRussiaElwin Sharvill RENEWAL
Maria V WhobreyAustraliaOnyama Limba NEW
David K PaprockiCanadaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel L RoysterIndiaAmy Elsner PROPOSAL
Ricardo K MorascaIndiaAnna Fali PROPOSAL
Clifford R FlosiJapanXuxue Feng QUALIFIED
Munro Y DilliardItalyXuxue Feng NEW
Ricardo H RimJapanAsiya Javayant NEW
Izzy Q DarakjyArgentinaIvan Magalhaes QUALIFIED
Aruna I WieserFranceAsiya Javayant UNQUALIFIED
Jones B MorascaUnited KingdomIvan Magalhaes QUALIFIED
Ashley H GauchoIndiaBernardo Dominic NEW
Ivar W SaylorsSpainXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Q WhobreyIndia2026-06-20Chanay, Jeffrey A Esq NEW15Onyama Limba
1001Isabel R WhobreyArgentina2026-06-23Chapman, Ross E Esq QUALIFIED32Onyama Limba
1002Jefferson G FollerBrazil2026-06-10Chapman, Ross E Esq PROPOSAL45Elwin Sharvill
1003Ashley Q SlusarskiIndia2026-06-11Chanay, Jeffrey A Esq PROPOSAL56Anna Fali
1004Alejandro W RimArgentina2026-06-23Chanay, Jeffrey A Esq RENEWAL5Asiya Javayant
1005Antonio N SaylorsCanada2026-06-28Benton, John B Jr RENEWAL99Ioni Bowcher
1006Deepesh T CaudySpain2026-06-10Truhlar And Truhlar Attys RENEWAL86Amy Elsner
1007Leon H BowleyFrance2026-06-28Dorl, James J Esq RENEWAL49Asiya Javayant
1008Maria Y RimFrance2026-06-30King, Christopher A Esq RENEWAL53Onyama Limba
1009Aditya S InouyeAustralia2026-06-29King, Christopher A Esq NEGOTIATION22Stephen Shaw
1010Arvin X TollnerAustralia2026-06-29Buckley Miller Wright UNQUALIFIED74Amy Elsner
1011Rodrigues N BowleyFrance2026-06-29Feltz Printing Service NEW87Stephen Shaw
1012Octavia I FlosiBrazil2026-07-01Morlong Associates UNQUALIFIED34Amy Elsner
1013Darci S AmigonJapan2026-07-04Chapman, Ross E Esq QUALIFIED26Ivan Magalhaes
1014Emily Y WaycottItaly2026-06-21Printing Dimensions NEGOTIATION49Elwin Sharvill
1015Wickens O CaldareraJapan2026-06-14Chapman, Ross E Esq PROPOSAL40Anna Fali
1016Greenwood K FollerBrazil2026-06-14Chanay, Jeffrey A Esq PROPOSAL82Asiya Javayant
1017Murillo U FigeroaUnited Kingdom2026-06-24Chemel, James L Cpa UNQUALIFIED93Stephen Shaw
1018Kaitlin B FigeroaItaly2026-06-20Chanay, Jeffrey A Esq NEW90Anna Fali
1019Ashley E TollnerBrazil2026-06-27Benton, John B Jr QUALIFIED80Xuxue Feng
1020Ricardo M AlbaresRussia2026-06-08Chapman, Ross E Esq PROPOSAL63Amy Elsner
1021Murillo E MarrierGermany2026-06-09Benton, John B Jr PROPOSAL43Xuxue Feng
1022Jeanfrancois H NickaArgentina2026-06-27Printing Dimensions NEGOTIATION42Elwin Sharvill
1023Francesco P StensethIndia2026-06-23King, Christopher A Esq NEW41Stephen Shaw
1024Greenwood X OstroskyArgentina2026-06-25Chapman, Ross E Esq UNQUALIFIED69Asiya Javayant
1025Sinclair T RutaFrance2026-06-24Truhlar And Truhlar Attys UNQUALIFIED73Elwin Sharvill
1026Tony S IturbideSpain2026-06-12Buckley Miller Wright RENEWAL0Asiya Javayant
1027Clifford K BowleyItaly2026-06-14Chapman, Ross E Esq NEGOTIATION10Elwin Sharvill
1028Maisha X VocelkaCanada2026-06-25King, Christopher A Esq NEW14Ivan Magalhaes
1029Silvio F AmigonAustralia2026-06-12Printing Dimensions NEW69Xuxue Feng
1030Deepesh U DarakjySpain2026-06-21King, Christopher A Esq NEW27Elwin Sharvill
1031Rodrigues F AlbaresUnited Kingdom2026-07-05Feiner Bros NEW96Xuxue Feng
1032Chavez B FerenczJapan2026-06-07Chanay, Jeffrey A Esq RENEWAL95Asiya Javayant
1033Mayumi D RutaAustralia2026-07-03Rangoni Of Florence NEGOTIATION67Anna Fali
1034Aditya N MaletSpain2026-06-14Chemel, James L Cpa NEW7Stephen Shaw
1035Mayumi H BriddickRussia2026-07-05King, Christopher A Esq RENEWAL32Bernardo Dominic
1036Leja T AlbaresBrazil2026-06-09Rousseaux, Michael Esq NEGOTIATION77Xuxue Feng
1037Clifford Z OstroskyCanada2026-06-17Dorl, James J Esq RENEWAL3Bernardo Dominic
1038Adams J RutaRussia2026-07-06Rousseaux, Michael Esq QUALIFIED6Bernardo Dominic
1039Faith G SlusarskiCanada2026-06-16Truhlar And Truhlar Attys PROPOSAL38Stephen Shaw
1040Claire A RutaItaly2026-06-23Chanay, Jeffrey A Esq RENEWAL15Ivan Magalhaes
1041David Z IturbideFrance2026-06-19Commercial Press QUALIFIED1Amy Elsner
1042Octavia I MaletArgentina2026-06-07Chanay, Jeffrey A Esq PROPOSAL94Anna Fali
1043Maisha F FigeroaCanada2026-06-17Rousseaux, Michael Esq UNQUALIFIED61Amy Elsner
1044Aruna U PerinAustralia2026-06-20Buckley Miller Wright NEW90Stephen Shaw
1045Cody V RulapaughRussia2026-06-24Benton, John B Jr UNQUALIFIED37Bernardo Dominic
1046Aditya J GauchoGermany2026-06-15King, Christopher A Esq UNQUALIFIED74Stephen Shaw
1047Ashley K MaletGermany2026-06-30Morlong Associates RENEWAL99Amy Elsner
1048Juan S MaletIndia2026-06-21Feltz Printing Service RENEWAL92Asiya Javayant
1049Jeanfrancois X TollnerSpain2026-06-30Buckley Miller Wright NEW54Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mayumi Y RoysterAustraliaIvan Magalhaes PROPOSAL
Ricardo Q GlickBrazilBernardo Dominic QUALIFIED
Aditya I ShinkoCanadaOnyama Limba NEGOTIATION
Faith O FerenczItalyBernardo Dominic QUALIFIED
Ivar H ButtItalyStephen Shaw QUALIFIED
Silvio S DilliardSpainXuxue Feng QUALIFIED
Stacey L GauchoArgentinaStephen Shaw NEW
Arvin I MorascaAustraliaAsiya Javayant NEW
David M KuskoIndiaStephen Shaw QUALIFIED
Tony D RulapaughSpainStephen Shaw RENEWAL
Aditya R IturbideIndiaAmy Elsner NEGOTIATION
Darci P NickaAustraliaAnna Fali NEW
Stacey X SchemmerItalyAnna Fali NEW
Julie I PaprockiArgentinaStephen Shaw QUALIFIED
Francesco C NestleIndiaStephen Shaw RENEWAL
Arvin G TollnerSpainOnyama Limba UNQUALIFIED
Maisha L FlosiItalyAnna Fali NEW
Emily Z WhobreyCanadaStephen Shaw PROPOSAL
Mujtaba Y GlickItalyAsiya Javayant RENEWAL
Faith W PoquetteAustraliaIoni Bowcher PROPOSAL
Emily I CaldareraSpainOnyama Limba QUALIFIED
Emily C RulapaughArgentinaIvan Magalhaes NEW
Leja O CaldareraIndiaStephen Shaw PROPOSAL
Ivar D NickaItalyAsiya Javayant NEW
Izzy I MacleadSpainIoni Bowcher NEW
Leon R MacleadRussiaIvan Magalhaes PROPOSAL
Misaki G ChuiFranceAmy Elsner NEW
Maisha T VocelkaJapanAsiya Javayant RENEWAL
Maria X SchemmerAustraliaElwin Sharvill NEGOTIATION
Maisha K MarrierBrazilAmy Elsner NEGOTIATION
Ashley U NestleFranceXuxue Feng NEW
Sinclair I ShinkoArgentinaAnna Fali NEW
Ricardo Y BowleySpainIvan Magalhaes RENEWAL
Jefferson F BologniaJapanBernardo Dominic QUALIFIED
Wickens E InouyeArgentinaOnyama Limba RENEWAL
Maisha E FlosiIndiaElwin Sharvill RENEWAL
Alejandro O SlusarskiCanadaXuxue Feng RENEWAL
Julie O SaylorsRussiaOnyama Limba NEGOTIATION
Leja G CaudyIndiaStephen Shaw NEGOTIATION
Sinclair A SchemmerSpainAmy Elsner RENEWAL
Chavez U TollnerArgentinaOnyama Limba QUALIFIED
Ricardo I FigeroaRussiaOnyama Limba NEGOTIATION
Faith G AmigonArgentinaStephen Shaw NEGOTIATION
Maria Y WieserSpainElwin Sharvill NEGOTIATION
Faith Q GauchoJapanAmy Elsner NEGOTIATION
Alejandro M StensethAustraliaIoni Bowcher UNQUALIFIED
Smith C RoysterGermanyBernardo Dominic PROPOSAL
Leon E ButtRussiaStephen Shaw UNQUALIFIED
Adams F OstroskyFranceAmy Elsner PROPOSAL
Octavia M IturbideCanadaXuxue Feng NEW
Frozen Columns
Name
Alejandro B Poquette
Jeanfrancois R Royster
Antonio S Caldarera
Ashley S Stockham
Ivar G Gaucho
Jeanfrancois U Rim
Faith M Whobrey
Darci B Glick
Munro P Venere
Tony Z Malet
Johnson J Royster
Wickens T Flosi
Johnson T Morasca
Izzy F Whobrey
Isabel S Rim
Ashley E Schemmer
Stacey I Darakjy
Cody K Kolmetz
Mujtaba U Flosi
Aditya S Rulapaugh
Murillo D Gaucho
Salvatore L Venere
Aditya L Marrier
Leon M Vocelka
Munro U Foller
Chavez Z Nestle
Salvatore Z Slusarski
Chavez H Iturbide
Kaitlin R Figeroa
Costa U Waycott
Costa E Dilliard
Kaitlin N Iturbide
Clifford N Schemmer
James N Flosi
Tony Y Morasca
Aditya W Schemmer
Sinclair F Caudy
Izzy K Gillian
Claire E Bolognia
Sinclair J Gaucho
Ricardo S Vocelka
Faith D Malet
Alejandro L Malet
Misaki V Ruta
Stacey R Figeroa
Deepesh T Dilliard
Deepesh O Albares
Adams H Darakjy
Alejandro A Marrier
Munro Y Wieser
IdCountryDate
1000India2026-06-16
1001Canada2026-06-26
1002France2026-06-07
1003Japan2026-06-13
1004Spain2026-06-30
1005Russia2026-06-15
1006Germany2026-06-24
1007Argentina2026-06-29
1008Russia2026-07-05
1009United Kingdom2026-07-02
1010Japan2026-07-02
1011Germany2026-07-04
1012India2026-06-10
1013Argentina2026-07-04
1014Canada2026-06-27
1015Italy2026-07-03
1016Argentina2026-06-27
1017Australia2026-06-09
1018Russia2026-06-19
1019Argentina2026-06-16
1020India2026-07-04
1021France2026-06-10
1022Russia2026-07-06
1023Spain2026-06-21
1024France2026-07-01
1025Canada2026-07-05
1026Canada2026-06-21
1027India2026-07-03
1028Argentina2026-07-02
1029Italy2026-06-13
1030Germany2026-06-16
1031India2026-06-19
1032France2026-07-03
1033France2026-06-08
1034Germany2026-06-26
1035India2026-06-15
1036Australia2026-06-27
1037France2026-06-30
1038United Kingdom2026-07-01
1039United Kingdom2026-06-24
1040Spain2026-07-04
1041Germany2026-06-20
1042Italy2026-06-10
1043Argentina2026-06-25
1044Brazil2026-06-26
1045Brazil2026-07-04
1046India2026-06-27
1047Brazil2026-06-12
1048India2026-06-07
1049Russia2026-07-05

On-Demand Data

NameIdCountryDate
Munro W Ferencz1000Canada2026-07-06
Costa D Chui1001India2026-07-04
David W Flosi1002Brazil2026-06-14
Rodrigues Y Gaucho1003Brazil2026-07-01
Ricardo W Perin1004India2026-07-01
Rodrigues B Butt1005Japan2026-06-19
Tony U Campain1006Japan2026-06-12
Mayumi S Dilliard1007Argentina2026-06-10
Arvin J Caldarera1008Argentina2026-06-09
Jeanfrancois P Marrier1009India2026-07-06
Leja G Amigon1010Italy2026-06-12
Costa I Rulapaugh1011Russia2026-06-14
Mayumi Y Amigon1012Russia2026-06-27
Wickens P Whobrey1013Japan2026-06-19
Deepesh L Campain1014Australia2026-07-04
Kadeem G Briddick1015Canada2026-06-18
Salvatore C Ostrosky1016Brazil2026-06-09
Munro M Caldarera1017Argentina2026-06-12
Jennifer Y Ferencz1018Japan2026-06-13
Jones T Gillian1019Japan2026-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson S MaletBrazilIoni Bowcher UNQUALIFIED
Izzy A GillianUnited KingdomStephen Shaw NEGOTIATION
Faith N RimUnited KingdomElwin Sharvill QUALIFIED
James B NickaArgentinaAnna Fali NEGOTIATION
Clifford V SergiItalyAsiya Javayant NEW
Murillo S KuskoArgentinaIvan Magalhaes NEGOTIATION
Tony G InouyeSpainStephen Shaw PROPOSAL
Munro K StockhamUnited KingdomIoni Bowcher QUALIFIED
Greenwood T NestleGermanyOnyama Limba RENEWAL
Murillo T RulapaughCanadaBernardo Dominic UNQUALIFIED
Silvio U TollnerCanadaIvan Magalhaes NEW
Francesco N BowleyBrazilStephen Shaw NEGOTIATION
Misaki X FerenczJapanElwin Sharvill RENEWAL
Jones Y SlusarskiUnited KingdomStephen Shaw NEW
Silvio K PoquetteArgentinaAsiya Javayant NEW
Maria U DarakjyBrazilAnna Fali NEW
Leon R OstroskyBrazilBernardo Dominic NEGOTIATION
Julie M RoysterArgentinaAmy Elsner PROPOSAL
Ashley W VenereIndiaStephen Shaw RENEWAL
Jones Q PerinSpainAnna Fali NEW
Octavia Z MacleadArgentinaIoni Bowcher PROPOSAL
Smith K RulapaughRussiaAnna Fali RENEWAL
Kaitlin Q MacleadArgentinaStephen Shaw PROPOSAL
Leon Q AmigonRussiaStephen Shaw RENEWAL
Mayumi U OldroydAustraliaAmy Elsner NEGOTIATION
Stacey H GauchoSpainBernardo Dominic UNQUALIFIED
Kaitlin J GauchoCanadaIoni Bowcher NEW
Leon K BowleyJapanIoni Bowcher NEGOTIATION
Arvin X SergiIndiaIvan Magalhaes UNQUALIFIED
Aruna M RoysterUnited KingdomXuxue Feng QUALIFIED
Tony Q DoeRussiaStephen Shaw PROPOSAL
Mayumi K ButtCanadaBernardo Dominic QUALIFIED
Arvin O RutaFranceStephen Shaw UNQUALIFIED
Mayumi L ChuiJapanElwin Sharvill RENEWAL
Costa Z MaletSpainAnna Fali NEGOTIATION
Maisha C RulapaughRussiaBernardo Dominic NEGOTIATION
Isabel Y VocelkaGermanyStephen Shaw RENEWAL
Leja A VocelkaRussiaIoni Bowcher NEGOTIATION
Maisha F PaprockiFranceBernardo Dominic NEW
Izzy G VocelkaCanadaElwin Sharvill PROPOSAL

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