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
Misaki N StensethRussiaXuxue Feng UNQUALIFIED
Aruna A MarrierBrazilOnyama Limba NEGOTIATION
Alejandro Z FigeroaSpainAmy Elsner RENEWAL
Chavez K ButtBrazilElwin Sharvill NEW
Greenwood Z KolmetzCanadaIoni Bowcher UNQUALIFIED
Clifford C GlickUnited KingdomIvan Magalhaes PROPOSAL
Deepesh E CaudyUnited KingdomIvan Magalhaes NEW
Kadeem G KuskoItalyOnyama Limba PROPOSAL
Greenwood S RimBrazilAnna Fali NEGOTIATION
David K OldroydJapanAmy Elsner UNQUALIFIED
Wickens R WieserSpainOnyama Limba UNQUALIFIED
Sinclair C PerinGermanyIvan Magalhaes RENEWAL
Claire G DilliardAustraliaAsiya Javayant NEGOTIATION
Morrow J MarrierArgentinaAmy Elsner QUALIFIED
Faith S CaldareraAustraliaIvan Magalhaes QUALIFIED
James E KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Isabel Z VocelkaSpainElwin Sharvill RENEWAL
Leon P SaylorsArgentinaBernardo Dominic QUALIFIED
Tony G MorascaAustraliaElwin Sharvill QUALIFIED
Costa H WaycottBrazilBernardo Dominic RENEWAL
Maria Q WhobreyUnited KingdomElwin Sharvill QUALIFIED
Cody N WaycottIndiaOnyama Limba PROPOSAL
Stacey S IturbideCanadaXuxue Feng PROPOSAL
Aditya O PerinRussiaIoni Bowcher NEGOTIATION
Wickens D VenereGermanyAnna Fali NEGOTIATION
Antonio N MacleadArgentinaElwin Sharvill UNQUALIFIED
Misaki C InouyeUnited KingdomOnyama Limba NEW
Juan O CaldareraAustraliaAnna Fali QUALIFIED
James M OldroydJapanAmy Elsner PROPOSAL
Munro K KuskoUnited KingdomAmy Elsner PROPOSAL
Misaki O SchemmerArgentinaStephen Shaw NEGOTIATION
Arvin A OldroydIndiaElwin Sharvill QUALIFIED
Kadeem C FollerArgentinaIoni Bowcher UNQUALIFIED
Adams J InouyeAustraliaAsiya Javayant QUALIFIED
Rodrigues G SaylorsFranceIoni Bowcher RENEWAL
Francesco P RoysterItalyIoni Bowcher NEGOTIATION
Misaki N CampainCanadaElwin Sharvill RENEWAL
Maria O BowleyRussiaAnna Fali RENEWAL
Morrow D MaletFranceIvan Magalhaes PROPOSAL
Stacey A WieserUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha U MacleadIndiaIvan Magalhaes PROPOSAL
Tony S NestleCanadaIoni Bowcher UNQUALIFIED
Arvin I DarakjyCanadaOnyama Limba NEGOTIATION
Greenwood P KuskoGermanyAnna Fali RENEWAL
David R GauchoAustraliaStephen Shaw RENEWAL
Adams M FollerAustraliaBernardo Dominic UNQUALIFIED
Octavia N MaletUnited KingdomIoni Bowcher QUALIFIED
Izzy P TollnerJapanXuxue Feng RENEWAL
Mayumi C KuskoArgentinaElwin Sharvill NEW
Ivar M AmigonArgentinaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson P PoquetteIndiaIoni Bowcher QUALIFIED
Aika U BowleySpainStephen Shaw PROPOSAL
Emily O MarrierAustraliaOnyama Limba PROPOSAL
Juan K PoquetteSpainIvan Magalhaes NEGOTIATION
Faith D MaletAustraliaIvan Magalhaes QUALIFIED
David O MaletCanadaXuxue Feng UNQUALIFIED
Silvio H StensethIndiaXuxue Feng RENEWAL
Murillo M ShinkoArgentinaIvan Magalhaes PROPOSAL
Claire G CampainSpainElwin Sharvill NEW
Cody I ChuiSpainBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel H AmigonAustralia2024-04-30Feltz Printing Service UNQUALIFIED96Xuxue Feng
1001James P RulapaughIndia2024-05-11Benton, John B Jr NEW79Onyama Limba
1002Jefferson M SchemmerBrazil2024-05-22Buckley Miller Wright NEW20Stephen Shaw
1003Jefferson S RimItaly2024-05-13Commercial Press RENEWAL54Bernardo Dominic
1004Johnson J MaletCanada2024-05-08Buckley Miller Wright PROPOSAL20Amy Elsner
1005Costa E InouyeUnited Kingdom2024-05-08Chapman, Ross E Esq RENEWAL62Anna Fali
1006Ricardo A VocelkaFrance2024-05-18Printing Dimensions PROPOSAL64Amy Elsner
1007Izzy E PoquetteCanada2024-05-11Rangoni Of Florence PROPOSAL23Ivan Magalhaes
1008Wickens J DilliardCanada2024-05-03Chanay, Jeffrey A Esq PROPOSAL69Stephen Shaw
1009Stacey Z VenereBrazil2024-05-16Chanay, Jeffrey A Esq PROPOSAL78Ioni Bowcher
1010Arvin A TollnerAustralia2024-05-18Chapman, Ross E Esq NEW44Asiya Javayant
1011Julie L StensethGermany2024-05-04Rangoni Of Florence UNQUALIFIED31Bernardo Dominic
1012Ashley S WaycottGermany2024-05-20Truhlar And Truhlar Attys RENEWAL77Ioni Bowcher
1013Julie C NestleAustralia2024-05-06Morlong Associates NEGOTIATION51Xuxue Feng
1014Emily J WaycottArgentina2024-05-03Truhlar And Truhlar Attys RENEWAL88Amy Elsner
1015Leon S GillianArgentina2024-05-19Benton, John B Jr UNQUALIFIED97Anna Fali
1016Jefferson B BologniaSpain2024-05-16Morlong Associates NEGOTIATION25Ioni Bowcher
1017Stacey D RoysterSpain2024-05-23King, Christopher A Esq NEW21Ivan Magalhaes
1018Ricardo W GlickFrance2024-05-20Morlong Associates NEW12Ivan Magalhaes
1019Rodrigues K SchemmerBrazil2024-05-18Commercial Press RENEWAL7Elwin Sharvill
1020Misaki M RoysterItaly2024-05-16Buckley Miller Wright QUALIFIED90Stephen Shaw
1021Francesco F IturbideGermany2024-05-06Rangoni Of Florence PROPOSAL33Ioni Bowcher
1022Rodrigues W ShinkoCanada2024-05-07Feltz Printing Service NEGOTIATION16Ioni Bowcher
1023Arvin H ShinkoRussia2024-04-30Feiner Bros PROPOSAL37Elwin Sharvill
1024Izzy R TollnerRussia2024-05-14Feiner Bros UNQUALIFIED33Ivan Magalhaes
1025Deepesh U RulapaughGermany2024-05-02Printing Dimensions NEW17Ivan Magalhaes
1026Johnson A AlbaresRussia2024-05-11Dorl, James J Esq QUALIFIED99Ivan Magalhaes
1027Leja K DilliardUnited Kingdom2024-05-10Morlong Associates NEW66Bernardo Dominic
1028Aika E BologniaUnited Kingdom2024-05-09Chanay, Jeffrey A Esq RENEWAL88Elwin Sharvill
1029Maria M ShinkoUnited Kingdom2024-04-28Chanay, Jeffrey A Esq NEGOTIATION14Xuxue Feng
1030Adams A PaprockiCanada2024-05-04Feiner Bros QUALIFIED13Xuxue Feng
1031Wickens T ShinkoRussia2024-05-21Rousseaux, Michael Esq RENEWAL35Asiya Javayant
1032Leja W BologniaSpain2024-05-08Rangoni Of Florence UNQUALIFIED25Asiya Javayant
1033Jeanfrancois I CaldareraArgentina2024-05-06Truhlar And Truhlar Attys PROPOSAL2Xuxue Feng
1034Octavia K RutaItaly2024-04-28Printing Dimensions PROPOSAL10Ioni Bowcher
1035Jeanfrancois X RutaSpain2024-05-02King, Christopher A Esq PROPOSAL43Onyama Limba
1036Adams N SlusarskiUnited Kingdom2024-05-22Chanay, Jeffrey A Esq NEW98Elwin Sharvill
1037Isabel F DoeArgentina2024-05-03Rangoni Of Florence QUALIFIED81Onyama Limba
1038Johnson Q CampainGermany2024-05-23Truhlar And Truhlar Attys RENEWAL41Ioni Bowcher
1039Emily N StockhamItaly2024-05-21Rousseaux, Michael Esq PROPOSAL71Amy Elsner
1040Leja K RimAustralia2024-05-04Benton, John B Jr PROPOSAL65Ivan Magalhaes
1041Jones A FerenczItaly2024-05-25Printing Dimensions NEW7Amy Elsner
1042Jones Y MorascaJapan2024-05-21Rousseaux, Michael Esq UNQUALIFIED81Ivan Magalhaes
1043David J FlosiGermany2024-05-02King, Christopher A Esq NEW10Ivan Magalhaes
1044James O GillianSpain2024-05-22Chanay, Jeffrey A Esq NEW48Anna Fali
1045Tony E DarakjyGermany2024-05-04Rangoni Of Florence PROPOSAL58Xuxue Feng
1046Juan G ChuiBrazil2024-05-01Commercial Press NEW39Anna Fali
1047Chavez P OldroydSpain2024-05-02Buckley Miller Wright NEGOTIATION32Onyama Limba
1048Antonio T MarrierRussia2024-05-27Chapman, Ross E Esq QUALIFIED46Xuxue Feng
1049Rodrigues X ShinkoRussia2024-05-02Buckley Miller Wright NEW5Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Claire F GillianBrazilOnyama Limba PROPOSAL
Aditya R BologniaJapanOnyama Limba QUALIFIED
Aruna K ChuiJapanStephen Shaw QUALIFIED
Juan I WhobreyUnited KingdomAsiya Javayant UNQUALIFIED
Juan W MarrierArgentinaAmy Elsner RENEWAL
Cody J VocelkaJapanIoni Bowcher NEGOTIATION
Misaki Z SlusarskiBrazilAmy Elsner PROPOSAL
Francesco Z StockhamAustraliaBernardo Dominic PROPOSAL
Ivar P StockhamBrazilIoni Bowcher NEW
David H TollnerAustraliaOnyama Limba UNQUALIFIED
Adams I SchemmerFranceIvan Magalhaes QUALIFIED
Adams J FigeroaSpainElwin Sharvill NEW
Jones R CaldareraSpainIvan Magalhaes NEW
Mujtaba Q SlusarskiIndiaElwin Sharvill NEW
Kadeem Q ChuiCanadaAmy Elsner UNQUALIFIED
Francesco E CaldareraGermanyAmy Elsner UNQUALIFIED
Morrow R OldroydIndiaIvan Magalhaes NEW
Octavia Q OldroydFranceElwin Sharvill PROPOSAL
Wickens J CaudyJapanIvan Magalhaes UNQUALIFIED
Maria O MarrierCanadaElwin Sharvill RENEWAL
Munro O PerinItalyIvan Magalhaes UNQUALIFIED
Silvio Q DilliardArgentinaOnyama Limba RENEWAL
Mujtaba A KolmetzBrazilElwin Sharvill UNQUALIFIED
Maria P IturbideIndiaAmy Elsner RENEWAL
Deepesh B PaprockiItalyAmy Elsner RENEWAL
Murillo Y NestleGermanyOnyama Limba RENEWAL
Aruna N GauchoGermanyBernardo Dominic UNQUALIFIED
Tony H MarrierArgentinaIoni Bowcher QUALIFIED
Faith P FlosiFranceStephen Shaw QUALIFIED
Aditya Y BriddickBrazilIoni Bowcher QUALIFIED
Cody B ShinkoRussiaXuxue Feng UNQUALIFIED
Nicolas J BowleyBrazilElwin Sharvill UNQUALIFIED
Chavez H ChuiCanadaOnyama Limba QUALIFIED
Maisha R BologniaBrazilBernardo Dominic QUALIFIED
Sinclair V IturbideCanadaXuxue Feng QUALIFIED
Ivar B BologniaFranceAsiya Javayant NEW
Kaitlin K RulapaughRussiaStephen Shaw UNQUALIFIED
Julie V MarrierGermanyBernardo Dominic QUALIFIED
Aika T BologniaFranceBernardo Dominic NEGOTIATION
Leon F WaycottArgentinaXuxue Feng NEGOTIATION
Costa E FigeroaFranceAnna Fali RENEWAL
Jefferson R WhobreyJapanAnna Fali PROPOSAL
Faith H GarufiSpainOnyama Limba RENEWAL
Tony Y MacleadJapanXuxue Feng PROPOSAL
Aditya S BowleySpainElwin Sharvill RENEWAL
Izzy O InouyeUnited KingdomOnyama Limba NEW
Jefferson N PaprockiUnited KingdomXuxue Feng NEW
Julie O RutaCanadaAsiya Javayant NEGOTIATION
Deepesh Z DilliardArgentinaIoni Bowcher UNQUALIFIED
Leja B PerinArgentinaXuxue Feng NEW
Frozen Columns
Name
Francesco A Tollner
Julie Z Malet
Ricardo T Caudy
Kaitlin A Wieser
Silvio G Dilliard
Deepesh U Amigon
Darci X Rulapaugh
Aditya V Stockham
Morrow R Briddick
Stacey O Kolmetz
Emily W Amigon
Rodrigues W Tollner
Salvatore R Gaucho
Stacey F Doe
Silvio K Perin
James P Rim
Johnson Q Perin
Misaki L Stockham
Aditya R Ostrosky
Jefferson X Nicka
Jeanfrancois S Tollner
Murillo D Sergi
Maisha Q Shinko
Leon M Amigon
Juan R Figeroa
Jeanfrancois D Whobrey
Jennifer W Dilliard
Antonio Q Nestle
Nicolas O Glick
Jennifer F Ostrosky
Julie L Doe
Tony Z Dilliard
David W Stockham
Aruna I Rim
Jones F Paprocki
Wickens W Figeroa
Mujtaba L Gillian
Johnson B Whobrey
Greenwood O Morasca
Jones Q Caudy
Maria C Waycott
Jones W Caudy
Jones E Ferencz
Salvatore A Ferencz
Murillo C Ruta
Emily Z Nicka
Mayumi C Bowley
Jefferson S Gaucho
Faith T Morasca
Antonio C Saylors
IdCountryDate
1000India2024-05-05
1001Argentina2024-05-18
1002Brazil2024-05-07
1003India2024-05-10
1004Spain2024-05-05
1005Italy2024-05-12
1006Russia2024-05-03
1007Canada2024-05-05
1008Brazil2024-04-29
1009Russia2024-05-15
1010Brazil2024-05-07
1011Spain2024-05-05
1012Italy2024-05-27
1013France2024-05-15
1014India2024-05-23
1015Japan2024-05-18
1016India2024-05-25
1017Germany2024-04-28
1018Brazil2024-05-06
1019Canada2024-05-05
1020Australia2024-05-02
1021Japan2024-04-28
1022Australia2024-05-14
1023Australia2024-05-25
1024Brazil2024-05-19
1025Germany2024-05-25
1026Canada2024-05-10
1027Spain2024-05-22
1028France2024-05-19
1029United Kingdom2024-05-24
1030Australia2024-05-22
1031India2024-05-20
1032Germany2024-05-20
1033Brazil2024-05-02
1034Japan2024-05-15
1035France2024-05-23
1036Argentina2024-04-30
1037Australia2024-05-22
1038Spain2024-05-08
1039United Kingdom2024-05-05
1040Japan2024-04-28
1041Australia2024-05-08
1042Spain2024-05-27
1043Italy2024-05-12
1044Germany2024-05-22
1045India2024-05-17
1046France2024-05-06
1047Japan2024-04-28
1048Russia2024-05-19
1049Japan2024-05-03

On-Demand Data

NameIdCountryDate
Francesco Q Malet1000Canada2024-05-18
Ricardo Q Rulapaugh1001Australia2024-05-24
Jeanfrancois Y Stenseth1002Italy2024-05-11
Aika F Kusko1003Italy2024-05-15
Jennifer J Gaucho1004Canada2024-04-28
Smith P Ostrosky1005Canada2024-05-18
Maria C Tollner1006Argentina2024-05-11
Francesco G Gaucho1007Canada2024-05-01
Deepesh A Malet1008Japan2024-05-09
David C Whobrey1009Italy2024-04-29
Morrow N Ostrosky1010United Kingdom2024-05-22
Alejandro T Poquette1011United Kingdom2024-04-30
Jefferson V Stockham1012Australia2024-04-29
Kadeem B Amigon1013Spain2024-05-17
Alejandro Y Rulapaugh1014Argentina2024-05-14
Cody H Paprocki1015Argentina2024-05-02
Claire R Bolognia1016Japan2024-05-25
Murillo L Ruta1017Argentina2024-05-09
Faith G Venere1018Brazil2024-04-29
Tony O Nicka1019Brazil2024-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore K BriddickFranceBernardo Dominic NEGOTIATION
Faith T FigeroaSpainBernardo Dominic PROPOSAL
Costa C DarakjyBrazilStephen Shaw NEW
Jeanfrancois A RulapaughRussiaAnna Fali NEW
Costa M WieserJapanIvan Magalhaes QUALIFIED
Clifford C SergiIndiaStephen Shaw PROPOSAL
Munro L RutaGermanyXuxue Feng PROPOSAL
Jeanfrancois F RulapaughFranceStephen Shaw RENEWAL
Sinclair R MaletJapanIvan Magalhaes NEW
Clifford L AlbaresIndiaIvan Magalhaes UNQUALIFIED
Chavez F PerinArgentinaXuxue Feng PROPOSAL
Greenwood E BowleySpainIvan Magalhaes UNQUALIFIED
Ricardo F DilliardFranceIoni Bowcher PROPOSAL
Faith E GauchoGermanyBernardo Dominic NEW
Aruna O StensethBrazilAmy Elsner RENEWAL
Costa B NestleUnited KingdomAsiya Javayant PROPOSAL
James X PoquetteIndiaBernardo Dominic NEW
David U RimRussiaAnna Fali NEW
Rodrigues C StockhamFranceIoni Bowcher NEW
Aika D FigeroaAustraliaBernardo Dominic NEW
Emily E MorascaIndiaOnyama Limba PROPOSAL
David I ButtFranceElwin Sharvill QUALIFIED
Francesco C WaycottBrazilStephen Shaw NEGOTIATION
Leon V ButtCanadaElwin Sharvill PROPOSAL
Rodrigues N TollnerFranceIvan Magalhaes QUALIFIED
Rodrigues P FollerUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair J OldroydRussiaAnna Fali PROPOSAL
Ricardo L ButtBrazilXuxue Feng RENEWAL
Munro Q BowleyBrazilOnyama Limba NEW
Tony Y StensethItalyIoni Bowcher RENEWAL
Jeanfrancois D ButtUnited KingdomAmy Elsner PROPOSAL
Emily B RulapaughItalyOnyama Limba RENEWAL
Mujtaba W GauchoBrazilAnna Fali PROPOSAL
Salvatore P TollnerRussiaStephen Shaw NEW
Claire V GarufiIndiaAnna Fali NEW
Aditya D GillianArgentinaIoni Bowcher NEW
Claire I FlosiBrazilAnna Fali PROPOSAL
Murillo X GauchoRussiaStephen Shaw RENEWAL
Antonio L NickaItalyStephen Shaw PROPOSAL
Stacey F SergiAustraliaIvan Magalhaes 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>