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
Murillo E AmigonCanadaStephen Shaw QUALIFIED
Arvin G KolmetzFranceAmy Elsner NEGOTIATION
Tony Z OldroydRussiaAsiya Javayant NEGOTIATION
Smith P ButtUnited KingdomAnna Fali NEW
Sinclair F PoquetteGermanyElwin Sharvill RENEWAL
Claire B PaprockiCanadaAmy Elsner QUALIFIED
Aditya T OldroydArgentinaAnna Fali NEW
Clifford B BologniaAustraliaIvan Magalhaes QUALIFIED
Alejandro L BowleyUnited KingdomIoni Bowcher NEGOTIATION
Izzy L MarrierAustraliaAsiya Javayant QUALIFIED
Jeanfrancois R DarakjyIndiaStephen Shaw NEW
Ivar P TollnerGermanyAnna Fali NEW
Kadeem N WieserAustraliaStephen Shaw RENEWAL
Smith E InouyeGermanyElwin Sharvill UNQUALIFIED
David R GauchoJapanElwin Sharvill PROPOSAL
Ashley D KuskoJapanOnyama Limba UNQUALIFIED
Maria C KolmetzJapanOnyama Limba UNQUALIFIED
Salvatore P ButtUnited KingdomStephen Shaw NEGOTIATION
Mayumi E WhobreyAustraliaAsiya Javayant NEW
Jennifer N NickaItalyElwin Sharvill UNQUALIFIED
Rodrigues P PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Nicolas Q SchemmerArgentinaIoni Bowcher NEGOTIATION
Misaki V OstroskyBrazilOnyama Limba QUALIFIED
Sinclair T KolmetzFranceStephen Shaw NEGOTIATION
Isabel T CaudySpainStephen Shaw QUALIFIED
Claire T InouyeJapanIoni Bowcher NEGOTIATION
Jones Q BowleyRussiaIvan Magalhaes RENEWAL
Salvatore T InouyeCanadaBernardo Dominic PROPOSAL
Octavia G MaletJapanElwin Sharvill NEW
Leja O MacleadItalyOnyama Limba PROPOSAL
Clifford I FigeroaRussiaAsiya Javayant UNQUALIFIED
Darci Q StockhamArgentinaIvan Magalhaes UNQUALIFIED
Jones T WieserJapanOnyama Limba QUALIFIED
Isabel H PoquetteItalyXuxue Feng NEW
Rodrigues N SaylorsFranceXuxue Feng NEGOTIATION
Misaki X SergiArgentinaBernardo Dominic NEW
Francesco L OstroskyJapanElwin Sharvill QUALIFIED
Jones D GarufiArgentinaAmy Elsner UNQUALIFIED
Emily C AmigonCanadaOnyama Limba RENEWAL
Octavia F MaletItalyAsiya Javayant QUALIFIED
Izzy K MorascaUnited KingdomElwin Sharvill NEW
Kadeem X GlickUnited KingdomAnna Fali QUALIFIED
Jennifer M AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Leja W FollerItalyStephen Shaw NEGOTIATION
Kaitlin X DilliardSpainBernardo Dominic RENEWAL
Nicolas Y PoquetteCanadaXuxue Feng PROPOSAL
Alejandro Q FlosiCanadaBernardo Dominic UNQUALIFIED
Clifford G WhobreyItalyBernardo Dominic PROPOSAL
Mujtaba G IturbideSpainAmy Elsner UNQUALIFIED
Deepesh F TollnerIndiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Aditya X PerinFranceIoni Bowcher NEGOTIATION
Arvin L CampainUnited KingdomIoni Bowcher NEGOTIATION
Tony G FlosiArgentinaXuxue Feng RENEWAL
Salvatore K BologniaGermanyElwin Sharvill NEGOTIATION
Alejandro Q VocelkaBrazilBernardo Dominic NEGOTIATION
Ricardo L DilliardIndiaXuxue Feng NEW
Antonio F AmigonCanadaIvan Magalhaes NEGOTIATION
Murillo N StensethItalyAsiya Javayant NEGOTIATION
Aditya W RulapaughIndiaXuxue Feng UNQUALIFIED
Tony M VenereJapanAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki G FlosiIndia2024-06-07Printing Dimensions RENEWAL37Onyama Limba
1001Stacey X TollnerArgentina2024-06-09Buckley Miller Wright RENEWAL70Bernardo Dominic
1002Deepesh Z IturbideRussia2024-05-27Feiner Bros UNQUALIFIED42Anna Fali
1003Clifford C ChuiAustralia2024-06-09Chemel, James L Cpa PROPOSAL27Stephen Shaw
1004Isabel B AlbaresRussia2024-06-11Morlong Associates RENEWAL48Ioni Bowcher
1005Kaitlin W CaldareraFrance2024-06-08Dorl, James J Esq QUALIFIED93Ioni Bowcher
1006Chavez K FerenczAustralia2024-06-18Feltz Printing Service RENEWAL53Onyama Limba
1007Jennifer H MaletRussia2024-05-26Printing Dimensions NEW2Asiya Javayant
1008Nicolas X RutaUnited Kingdom2024-06-20Feltz Printing Service NEGOTIATION21Stephen Shaw
1009Arvin N FlosiRussia2024-06-19Feltz Printing Service NEW96Ioni Bowcher
1010Wickens X WieserIndia2024-06-14King, Christopher A Esq QUALIFIED57Onyama Limba
1011Ivar W InouyeGermany2024-06-03Morlong Associates NEGOTIATION24Amy Elsner
1012Mujtaba F BowleyUnited Kingdom2024-05-26Feiner Bros QUALIFIED95Onyama Limba
1013Wickens A WaycottSpain2024-06-06Chapman, Ross E Esq NEW87Onyama Limba
1014Jones T BriddickGermany2024-06-16Commercial Press PROPOSAL53Onyama Limba
1015Francesco C RoysterRussia2024-06-08Morlong Associates RENEWAL75Ivan Magalhaes
1016Munro M ChuiArgentina2024-06-09Rousseaux, Michael Esq NEGOTIATION70Onyama Limba
1017Aika M CaudyArgentina2024-06-04Feiner Bros QUALIFIED85Anna Fali
1018Munro S DarakjyGermany2024-06-23Benton, John B Jr RENEWAL63Ioni Bowcher
1019Kaitlin Y BowleyJapan2024-06-21Feiner Bros NEGOTIATION8Ivan Magalhaes
1020Faith W VocelkaAustralia2024-06-04Chapman, Ross E Esq RENEWAL19Ioni Bowcher
1021Clifford X BowleyAustralia2024-06-02Printing Dimensions RENEWAL55Bernardo Dominic
1022Murillo W GlickItaly2024-06-20King, Christopher A Esq UNQUALIFIED93Stephen Shaw
1023Costa C CaldareraGermany2024-06-15Truhlar And Truhlar Attys UNQUALIFIED42Onyama Limba
1024Arvin T SaylorsUnited Kingdom2024-06-03Printing Dimensions NEW42Amy Elsner
1025Adams K CaudyUnited Kingdom2024-06-06Rangoni Of Florence NEW8Elwin Sharvill
1026Nicolas L SchemmerUnited Kingdom2024-06-17Truhlar And Truhlar Attys NEGOTIATION61Stephen Shaw
1027Kadeem G MacleadSpain2024-05-30Commercial Press PROPOSAL33Ivan Magalhaes
1028Costa X GlickRussia2024-06-12Buckley Miller Wright QUALIFIED48Asiya Javayant
1029Leon X SchemmerBrazil2024-05-31Rangoni Of Florence NEW60Ioni Bowcher
1030Deepesh P KuskoGermany2024-06-21Rousseaux, Michael Esq UNQUALIFIED36Onyama Limba
1031Claire V CaudyBrazil2024-06-13Chapman, Ross E Esq UNQUALIFIED44Amy Elsner
1032Julie J FerenczUnited Kingdom2024-06-06Rangoni Of Florence NEW58Asiya Javayant
1033Nicolas D WaycottJapan2024-06-01Printing Dimensions QUALIFIED63Xuxue Feng
1034Ivar G CaudySpain2024-06-15Chanay, Jeffrey A Esq QUALIFIED87Ioni Bowcher
1035Alejandro F GlickItaly2024-06-18Morlong Associates NEGOTIATION40Anna Fali
1036Clifford R AmigonBrazil2024-06-14Dorl, James J Esq PROPOSAL72Anna Fali
1037Antonio J DilliardCanada2024-06-01Benton, John B Jr QUALIFIED88Xuxue Feng
1038Jeanfrancois K GauchoAustralia2024-06-14Feltz Printing Service NEW87Stephen Shaw
1039Munro J CampainRussia2024-06-06Truhlar And Truhlar Attys PROPOSAL71Anna Fali
1040Deepesh S StockhamItaly2024-06-13Rousseaux, Michael Esq NEGOTIATION41Ioni Bowcher
1041Emily N FerenczRussia2024-06-23Chapman, Ross E Esq NEW25Amy Elsner
1042Salvatore Y RulapaughArgentina2024-06-16Rangoni Of Florence NEGOTIATION63Bernardo Dominic
1043Arvin S RulapaughAustralia2024-06-05Commercial Press PROPOSAL31Bernardo Dominic
1044Cody U MaletBrazil2024-06-13Printing Dimensions UNQUALIFIED49Ioni Bowcher
1045Leja D RoysterAustralia2024-06-18Rangoni Of Florence NEGOTIATION92Ioni Bowcher
1046Mayumi J MaletArgentina2024-06-01Chanay, Jeffrey A Esq NEW14Xuxue Feng
1047Leja W IturbideFrance2024-06-01Printing Dimensions QUALIFIED21Amy Elsner
1048Julie C PaprockiSpain2024-06-07Chapman, Ross E Esq PROPOSAL28Xuxue Feng
1049Kadeem N DarakjyAustralia2024-06-23King, Christopher A Esq NEW26Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Francesco A GlickRussiaElwin Sharvill QUALIFIED
Misaki B BologniaBrazilElwin Sharvill UNQUALIFIED
Munro W BowleyCanadaStephen Shaw NEW
Misaki Y AlbaresCanadaOnyama Limba NEW
Adams X SlusarskiAustraliaBernardo Dominic QUALIFIED
Misaki Y SaylorsSpainIvan Magalhaes NEGOTIATION
Ricardo R MacleadJapanBernardo Dominic UNQUALIFIED
Munro F GauchoCanadaAmy Elsner NEW
Wickens P MaletGermanyIoni Bowcher NEW
Wickens D SchemmerIndiaStephen Shaw QUALIFIED
Aruna Q StensethFranceAmy Elsner NEW
Tony Q BriddickFranceIvan Magalhaes NEW
Smith X OstroskySpainBernardo Dominic PROPOSAL
Cody U KolmetzUnited KingdomXuxue Feng QUALIFIED
Antonio C VenereCanadaElwin Sharvill UNQUALIFIED
Tony B WhobreyFranceIoni Bowcher PROPOSAL
Chavez F SergiRussiaAmy Elsner PROPOSAL
Jefferson Y DarakjyAustraliaAsiya Javayant NEW
James D StensethFranceStephen Shaw PROPOSAL
Kaitlin R FerenczSpainXuxue Feng PROPOSAL
Mayumi D ShinkoBrazilAsiya Javayant NEGOTIATION
Tony E PoquetteAustraliaIvan Magalhaes NEGOTIATION
Jennifer J PaprockiUnited KingdomXuxue Feng PROPOSAL
Jennifer U BologniaCanadaOnyama Limba NEW
Faith C DilliardCanadaAmy Elsner RENEWAL
Aditya U BriddickItalyAmy Elsner PROPOSAL
Chavez Y RoysterArgentinaIvan Magalhaes PROPOSAL
Greenwood O FerenczJapanElwin Sharvill NEGOTIATION
Maria D VocelkaUnited KingdomAsiya Javayant NEGOTIATION
Murillo J FlosiCanadaIoni Bowcher RENEWAL
Tony K VocelkaRussiaStephen Shaw RENEWAL
Darci X CampainAustraliaElwin Sharvill UNQUALIFIED
Sinclair U KuskoGermanyStephen Shaw QUALIFIED
Ashley B FollerItalyIoni Bowcher NEW
Juan J CampainRussiaXuxue Feng RENEWAL
Stacey P CaldareraRussiaElwin Sharvill NEGOTIATION
Wickens W KuskoFranceOnyama Limba NEW
Kaitlin W NestleArgentinaOnyama Limba UNQUALIFIED
Cody N FlosiCanadaOnyama Limba NEW
Jefferson U FollerFranceAsiya Javayant UNQUALIFIED
Costa U AlbaresIndiaBernardo Dominic NEGOTIATION
Ashley X FerenczAustraliaElwin Sharvill RENEWAL
Francesco D MaletRussiaIvan Magalhaes RENEWAL
Nicolas Z GarufiCanadaBernardo Dominic NEGOTIATION
Munro Y CampainArgentinaBernardo Dominic NEGOTIATION
Maisha M SchemmerJapanElwin Sharvill PROPOSAL
Wickens A OldroydGermanyBernardo Dominic UNQUALIFIED
Izzy S AmigonArgentinaIvan Magalhaes PROPOSAL
Isabel L BriddickFranceStephen Shaw NEW
Ashley G CaldareraFranceStephen Shaw UNQUALIFIED
Frozen Columns
Name
Jennifer X Chui
Isabel F Campain
Kadeem Y Darakjy
Izzy M Vocelka
Cody E Tollner
Francesco M Chui
Emily Z Gillian
Aruna K Waycott
Arvin E Rim
Adams Y Rim
Maria Q Albares
Emily R Dilliard
Costa E Nicka
Mayumi Q Schemmer
Kadeem V Chui
Aika Y Gillian
Maria G Inouye
Aika X Ostrosky
Julie I Poquette
Adams E Butt
Emily Q Whobrey
Maisha Y Amigon
Leja I Schemmer
Murillo U Glick
Arvin J Iturbide
Smith S Gaucho
Maisha I Slusarski
Deepesh Y Whobrey
Clifford V Saylors
Jones J Venere
Isabel X Schemmer
Silvio W Royster
Jeanfrancois H Gaucho
Sinclair E Campain
James W Darakjy
Jones R Inouye
Adams I Flosi
Jones Z Poquette
Deepesh C Ferencz
Leon R Iturbide
Misaki Y Amigon
Ivar P Darakjy
Mujtaba J Malet
Maisha N Shinko
Francesco O Venere
Silvio Z Perin
Tony F Campain
Jeanfrancois N Flosi
Costa E Campain
Morrow G Stenseth
IdCountryDate
1000India2024-05-28
1001Italy2024-06-23
1002Japan2024-06-19
1003Brazil2024-06-06
1004India2024-05-27
1005Brazil2024-06-02
1006Spain2024-05-26
1007India2024-06-08
1008Russia2024-06-13
1009Canada2024-06-05
1010Japan2024-06-04
1011France2024-06-02
1012Japan2024-06-19
1013Spain2024-06-12
1014Australia2024-06-02
1015Italy2024-06-10
1016France2024-06-06
1017Russia2024-05-27
1018Brazil2024-06-15
1019Italy2024-06-10
1020France2024-06-21
1021Spain2024-06-17
1022Russia2024-06-19
1023Germany2024-06-19
1024Australia2024-06-09
1025Argentina2024-05-28
1026Brazil2024-06-01
1027Australia2024-06-10
1028Canada2024-06-17
1029Germany2024-06-19
1030Italy2024-06-17
1031Brazil2024-06-22
1032Argentina2024-06-15
1033Australia2024-06-07
1034Canada2024-06-10
1035Italy2024-06-23
1036Australia2024-06-18
1037Russia2024-06-15
1038Brazil2024-06-20
1039Canada2024-06-15
1040Italy2024-06-09
1041Argentina2024-06-05
1042Italy2024-06-18
1043Russia2024-06-21
1044Spain2024-06-11
1045Argentina2024-05-27
1046Australia2024-06-14
1047Australia2024-05-29
1048Italy2024-05-31
1049India2024-05-31

On-Demand Data

NameIdCountryDate
Mujtaba S Morasca1000Italy2024-06-13
Smith S Poquette1001Canada2024-05-28
David Q Amigon1002Argentina2024-06-23
Alejandro W Perin1003Russia2024-06-03
Sinclair W Malet1004Spain2024-06-07
Antonio C Vocelka1005Canada2024-06-21
Darci G Kusko1006India2024-06-18
Aika A Bolognia1007Russia2024-06-23
Silvio K Chui1008Spain2024-06-04
Juan L Schemmer1009India2024-06-13
Ivar O Glick1010Italy2024-06-12
Julie Q Glick1011Brazil2024-05-25
Alejandro V Vocelka1012Japan2024-06-07
Tony W Paprocki1013Australia2024-06-16
Wickens U Butt1014Italy2024-06-07
Murillo W Whobrey1015United Kingdom2024-06-06
Antonio R Wieser1016Germany2024-06-05
Costa X Stenseth1017Germany2024-06-05
Sinclair I Ruta1018United Kingdom2024-06-04
James A Sergi1019France2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues S AmigonGermanyBernardo Dominic UNQUALIFIED
Leja K ButtCanadaStephen Shaw PROPOSAL
Francesco R PaprockiAustraliaXuxue Feng PROPOSAL
Greenwood A MacleadAustraliaStephen Shaw PROPOSAL
Rodrigues X DoeUnited KingdomIvan Magalhaes NEGOTIATION
Darci Y NickaArgentinaAmy Elsner RENEWAL
Deepesh J KolmetzCanadaAsiya Javayant NEW
Nicolas X GarufiGermanyIoni Bowcher QUALIFIED
Johnson C OstroskyRussiaIoni Bowcher PROPOSAL
Leon H RulapaughItalyIoni Bowcher PROPOSAL
Jeanfrancois M WieserRussiaBernardo Dominic NEW
Leon W BriddickCanadaAsiya Javayant RENEWAL
Octavia Q ShinkoIndiaAsiya Javayant NEW
Darci B StensethJapanIoni Bowcher UNQUALIFIED
Mayumi T RoysterItalyOnyama Limba PROPOSAL
Cody P CaudyCanadaBernardo Dominic UNQUALIFIED
Greenwood J MarrierArgentinaAsiya Javayant RENEWAL
Aika L ChuiIndiaStephen Shaw QUALIFIED
Wickens V FerenczCanadaBernardo Dominic RENEWAL
Jennifer C KuskoCanadaIoni Bowcher NEW
Izzy C FigeroaAustraliaXuxue Feng PROPOSAL
Leon N SchemmerFranceBernardo Dominic UNQUALIFIED
Alejandro R GauchoCanadaAmy Elsner RENEWAL
Ashley S OstroskyRussiaElwin Sharvill PROPOSAL
Julie U SchemmerGermanyIvan Magalhaes NEGOTIATION
Adams X DilliardUnited KingdomBernardo Dominic NEGOTIATION
Kadeem N CaldareraUnited KingdomAnna Fali NEGOTIATION
Ivar N WhobreySpainXuxue Feng QUALIFIED
Ricardo D SlusarskiIndiaIoni Bowcher NEW
Aditya A PoquetteSpainAsiya Javayant PROPOSAL
Munro Z TollnerSpainIvan Magalhaes RENEWAL
Rodrigues L AmigonAustraliaIvan Magalhaes RENEWAL
Aruna W GlickFranceIvan Magalhaes NEW
Sinclair Y WieserGermanyBernardo Dominic UNQUALIFIED
Greenwood B GillianJapanElwin Sharvill PROPOSAL
Maisha P FigeroaItalyIoni Bowcher QUALIFIED
Darci N CaldareraJapanAnna Fali UNQUALIFIED
Silvio Y RutaRussiaStephen Shaw NEGOTIATION
Tony X CaudyCanadaIoni Bowcher PROPOSAL
Munro Z CampainFranceStephen Shaw 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>