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
Sinclair U BowleyCanadaStephen Shaw QUALIFIED
Leon G MaletRussiaElwin Sharvill RENEWAL
Stacey I KolmetzItalyBernardo Dominic RENEWAL
Isabel N WieserArgentinaAnna Fali NEW
Mayumi W NickaSpainElwin Sharvill QUALIFIED
Morrow R KuskoGermanyBernardo Dominic NEGOTIATION
Rodrigues N TollnerIndiaIoni Bowcher PROPOSAL
Izzy P MaletArgentinaIvan Magalhaes NEGOTIATION
Aruna I StockhamAustraliaXuxue Feng RENEWAL
Ivar Y AmigonAustraliaOnyama Limba NEGOTIATION
Kaitlin B BowleyGermanyAnna Fali QUALIFIED
Murillo T BowleyAustraliaAmy Elsner PROPOSAL
Nicolas S CaldareraArgentinaElwin Sharvill PROPOSAL
Octavia V StensethCanadaElwin Sharvill PROPOSAL
Jefferson E VenereCanadaBernardo Dominic PROPOSAL
Aika F PaprockiGermanyIvan Magalhaes NEGOTIATION
Rodrigues H GillianUnited KingdomAmy Elsner NEW
David E MorascaFranceOnyama Limba NEW
Deepesh W RimSpainXuxue Feng NEGOTIATION
Misaki V ChuiAustraliaAmy Elsner NEGOTIATION
Wickens J FerenczSpainOnyama Limba QUALIFIED
Sinclair V BologniaFranceAmy Elsner UNQUALIFIED
Darci W OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Francesco A StockhamArgentinaIoni Bowcher RENEWAL
Darci S CaldareraJapanAnna Fali UNQUALIFIED
Leja E StensethGermanyAmy Elsner NEGOTIATION
Deepesh E IturbideFranceOnyama Limba QUALIFIED
Darci P AmigonRussiaAnna Fali UNQUALIFIED
Kadeem F WhobreyJapanOnyama Limba PROPOSAL
Juan L KolmetzItalyXuxue Feng QUALIFIED
Francesco S DilliardFranceBernardo Dominic RENEWAL
Jeanfrancois V GarufiSpainAmy Elsner QUALIFIED
Salvatore K VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Johnson C StockhamFranceElwin Sharvill QUALIFIED
Alejandro C MaletCanadaElwin Sharvill UNQUALIFIED
Izzy K WieserRussiaAnna Fali QUALIFIED
Jennifer O NestleFranceIvan Magalhaes PROPOSAL
Stacey D WhobreyIndiaElwin Sharvill PROPOSAL
Julie B StensethBrazilIvan Magalhaes NEGOTIATION
Alejandro I GauchoBrazilOnyama Limba QUALIFIED
Aditya B CaldareraBrazilAsiya Javayant UNQUALIFIED
Munro M MarrierCanadaIoni Bowcher NEW
Mayumi L GarufiRussiaIoni Bowcher NEW
Ricardo H MaletArgentinaOnyama Limba PROPOSAL
Mayumi P DilliardItalyAsiya Javayant NEGOTIATION
Rodrigues Y RimIndiaStephen Shaw NEW
Sinclair K RulapaughArgentinaOnyama Limba NEW
Chavez D IturbideRussiaAsiya Javayant RENEWAL
Murillo Y GarufiRussiaAsiya Javayant RENEWAL
Francesco I RimCanadaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh M SchemmerCanadaBernardo Dominic NEW
Jones O SlusarskiFranceBernardo Dominic PROPOSAL
Alejandro A SaylorsSpainStephen Shaw UNQUALIFIED
Octavia Y CampainBrazilAmy Elsner UNQUALIFIED
Ivar W AmigonCanadaElwin Sharvill NEW
Tony L SchemmerGermanyAnna Fali RENEWAL
Alejandro U RoysterAustraliaStephen Shaw NEW
Sinclair X WaycottBrazilAsiya Javayant RENEWAL
James Y RimFranceElwin Sharvill RENEWAL
Deepesh P NickaUnited KingdomIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba C GlickAustralia2024-06-20Rangoni Of Florence NEW89Anna Fali
1001Chavez I FollerIndia2024-06-17Chanay, Jeffrey A Esq NEGOTIATION46Ivan Magalhaes
1002Mujtaba D StensethJapan2024-06-19Printing Dimensions QUALIFIED0Elwin Sharvill
1003James A ShinkoAustralia2024-06-01King, Christopher A Esq PROPOSAL34Anna Fali
1004Emily G BriddickAustralia2024-06-07Rangoni Of Florence UNQUALIFIED92Bernardo Dominic
1005Smith L WaycottJapan2024-06-12King, Christopher A Esq RENEWAL49Stephen Shaw
1006Chavez H GauchoItaly2024-06-14Truhlar And Truhlar Attys NEW23Stephen Shaw
1007Jefferson J KuskoGermany2024-06-04Morlong Associates QUALIFIED62Bernardo Dominic
1008Cody X InouyeCanada2024-06-02Truhlar And Truhlar Attys PROPOSAL77Amy Elsner
1009Misaki C StensethJapan2024-05-29Chanay, Jeffrey A Esq PROPOSAL80Onyama Limba
1010Stacey U MacleadGermany2024-06-06Morlong Associates RENEWAL68Anna Fali
1011Jefferson A FigeroaRussia2024-06-13Buckley Miller Wright NEGOTIATION30Stephen Shaw
1012Emily T NickaUnited Kingdom2024-06-12Dorl, James J Esq NEW16Bernardo Dominic
1013James F OstroskyRussia2024-06-17Truhlar And Truhlar Attys QUALIFIED91Ivan Magalhaes
1014Maria O CaldareraBrazil2024-06-03Chapman, Ross E Esq QUALIFIED2Elwin Sharvill
1015Antonio M CampainArgentina2024-06-08Buckley Miller Wright QUALIFIED44Asiya Javayant
1016Aruna U WieserItaly2024-06-11Rousseaux, Michael Esq NEGOTIATION57Onyama Limba
1017Izzy V NestleGermany2024-05-24Commercial Press NEGOTIATION75Anna Fali
1018Murillo F BologniaIndia2024-05-25Dorl, James J Esq NEGOTIATION47Xuxue Feng
1019Antonio O RimBrazil2024-06-10Truhlar And Truhlar Attys NEW25Stephen Shaw
1020Greenwood E RulapaughJapan2024-06-02Truhlar And Truhlar Attys NEGOTIATION23Asiya Javayant
1021Ivar B IturbideUnited Kingdom2024-06-19Chanay, Jeffrey A Esq QUALIFIED19Ivan Magalhaes
1022David F ChuiCanada2024-05-28Feltz Printing Service PROPOSAL62Stephen Shaw
1023Mujtaba O ChuiIndia2024-06-09Rangoni Of Florence PROPOSAL46Stephen Shaw
1024Murillo L RimCanada2024-05-28Truhlar And Truhlar Attys UNQUALIFIED96Amy Elsner
1025Murillo L WaycottIndia2024-06-03Buckley Miller Wright RENEWAL36Bernardo Dominic
1026Antonio L SergiUnited Kingdom2024-06-18Benton, John B Jr RENEWAL15Anna Fali
1027Maisha W ButtAustralia2024-06-04Printing Dimensions RENEWAL89Onyama Limba
1028Tony Y PaprockiJapan2024-06-21Printing Dimensions NEGOTIATION81Onyama Limba
1029Ashley W SergiBrazil2024-06-13Rousseaux, Michael Esq UNQUALIFIED27Xuxue Feng
1030Deepesh P OstroskyBrazil2024-06-07Buckley Miller Wright UNQUALIFIED28Asiya Javayant
1031Munro L FollerUnited Kingdom2024-06-01Rousseaux, Michael Esq PROPOSAL18Asiya Javayant
1032Kaitlin Y RimFrance2024-06-21Feltz Printing Service NEGOTIATION17Asiya Javayant
1033James U WieserIndia2024-06-10Chapman, Ross E Esq NEW6Onyama Limba
1034Ashley X SlusarskiBrazil2024-06-06Benton, John B Jr RENEWAL41Ioni Bowcher
1035Munro Z StockhamArgentina2024-06-09Chemel, James L Cpa NEGOTIATION42Stephen Shaw
1036Mujtaba A CampainArgentina2024-06-12Buckley Miller Wright NEGOTIATION46Stephen Shaw
1037Faith G BriddickItaly2024-06-20King, Christopher A Esq UNQUALIFIED7Onyama Limba
1038Aruna C FerenczItaly2024-06-13Printing Dimensions PROPOSAL27Stephen Shaw
1039Kadeem T ChuiItaly2024-05-31Buckley Miller Wright NEGOTIATION68Asiya Javayant
1040Tony F PerinUnited Kingdom2024-05-26Commercial Press UNQUALIFIED61Ioni Bowcher
1041Claire R OldroydUnited Kingdom2024-06-18Benton, John B Jr NEGOTIATION12Bernardo Dominic
1042Izzy Y ButtItaly2024-06-18Dorl, James J Esq NEW79Stephen Shaw
1043Faith X BowleyGermany2024-06-19Dorl, James J Esq RENEWAL24Amy Elsner
1044Ashley Z WieserFrance2024-06-07Chapman, Ross E Esq NEW58Ivan Magalhaes
1045Jefferson O BriddickUnited Kingdom2024-06-09King, Christopher A Esq NEW88Anna Fali
1046Tony Y IturbideAustralia2024-06-03Benton, John B Jr UNQUALIFIED99Elwin Sharvill
1047Cody G OstroskyGermany2024-05-27Feltz Printing Service RENEWAL43Amy Elsner
1048Ashley L FollerUnited Kingdom2024-06-08Truhlar And Truhlar Attys QUALIFIED54Ivan Magalhaes
1049Claire C FlosiAustralia2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED49Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson L RoysterGermanyElwin Sharvill PROPOSAL
Ricardo Y DilliardItalyOnyama Limba NEW
Salvatore T WaycottBrazilBernardo Dominic NEW
Juan Y PerinJapanIoni Bowcher QUALIFIED
Salvatore U MarrierArgentinaAmy Elsner RENEWAL
Costa V SergiIndiaStephen Shaw PROPOSAL
David E CampainJapanStephen Shaw NEW
Mayumi U InouyeJapanBernardo Dominic NEW
Octavia Z VocelkaAustraliaOnyama Limba RENEWAL
Maisha X DarakjyJapanIoni Bowcher NEW
Jeanfrancois Q OstroskyCanadaIvan Magalhaes RENEWAL
Morrow F NestleFranceStephen Shaw PROPOSAL
Mayumi B MorascaBrazilAsiya Javayant UNQUALIFIED
Silvio N KolmetzJapanAnna Fali NEGOTIATION
Clifford N WieserCanadaOnyama Limba QUALIFIED
Faith Q RimItalyBernardo Dominic UNQUALIFIED
Izzy S OldroydCanadaBernardo Dominic PROPOSAL
Jones G RulapaughJapanIoni Bowcher NEGOTIATION
Juan T CampainBrazilAsiya Javayant RENEWAL
Julie N FigeroaGermanyXuxue Feng NEGOTIATION
Jeanfrancois X SlusarskiBrazilAmy Elsner UNQUALIFIED
Munro X SlusarskiAustraliaIvan Magalhaes NEW
Sinclair K CaldareraAustraliaXuxue Feng RENEWAL
Smith Q IturbideIndiaOnyama Limba PROPOSAL
Adams R WaycottItalyAsiya Javayant QUALIFIED
Izzy L DoeIndiaBernardo Dominic QUALIFIED
Murillo T SergiIndiaStephen Shaw NEW
Izzy B NickaSpainIvan Magalhaes RENEWAL
Jefferson I MaletIndiaStephen Shaw NEW
James I AmigonFranceBernardo Dominic QUALIFIED
Munro U RulapaughItalyIvan Magalhaes NEW
Faith S WieserRussiaAmy Elsner UNQUALIFIED
Nicolas D SaylorsIndiaAsiya Javayant NEW
Sinclair Z InouyeAustraliaElwin Sharvill QUALIFIED
Leja R TollnerAustraliaIoni Bowcher UNQUALIFIED
Kadeem T SlusarskiSpainOnyama Limba NEW
Clifford J MacleadArgentinaElwin Sharvill RENEWAL
Tony L CampainCanadaIoni Bowcher UNQUALIFIED
Smith F GarufiFranceBernardo Dominic NEW
Adams R KolmetzFranceXuxue Feng NEGOTIATION
Clifford C ButtCanadaAsiya Javayant NEGOTIATION
Nicolas X KolmetzRussiaElwin Sharvill PROPOSAL
Francesco L DoeItalyStephen Shaw QUALIFIED
Izzy I VocelkaRussiaXuxue Feng QUALIFIED
Francesco O MorascaJapanIoni Bowcher UNQUALIFIED
Izzy N FlosiCanadaBernardo Dominic QUALIFIED
Octavia Y DarakjyAustraliaBernardo Dominic UNQUALIFIED
Darci I TollnerItalyIvan Magalhaes QUALIFIED
Isabel C IturbideJapanXuxue Feng RENEWAL
Jennifer R RulapaughJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Morrow Q Tollner
Alejandro U Oldroyd
Wickens C Kolmetz
Sinclair U Schemmer
Morrow V Malet
Aditya P Foller
Chavez P Rulapaugh
Aruna X Nicka
Nicolas W Bowley
Rodrigues L Campain
Darci H Inouye
Rodrigues P Slusarski
Maria F Ruta
Sinclair S Maclead
Tony R Stenseth
Jennifer O Kolmetz
Izzy C Perin
Silvio K Morasca
Jones Z Royster
Francesco H Wieser
Munro A Caldarera
Ashley R Saylors
Leon W Waycott
Isabel T Royster
Smith S Royster
Leja V Doe
Ashley M Rim
Tony O Gillian
Jeanfrancois P Inouye
Octavia C Oldroyd
Alejandro E Vocelka
Mayumi P Wieser
Aditya R Ruta
Aruna U Malet
Stacey R Nicka
Jennifer V Gaucho
Maisha A Wieser
Rodrigues O Caldarera
Salvatore H Malet
Darci X Inouye
Kaitlin B Iturbide
Silvio Q Morasca
Leon K Wieser
Aditya P Waycott
Silvio J Briddick
Murillo P Marrier
Jefferson T Shinko
Darci G Shinko
Darci A Bolognia
Sinclair P Perin
IdCountryDate
1000Japan2024-05-29
1001United Kingdom2024-06-19
1002Italy2024-06-16
1003Germany2024-05-25
1004Italy2024-05-25
1005Italy2024-06-10
1006Brazil2024-06-02
1007Brazil2024-06-21
1008Australia2024-06-03
1009Russia2024-06-20
1010United Kingdom2024-06-08
1011Brazil2024-06-12
1012Japan2024-05-27
1013Germany2024-06-09
1014India2024-05-27
1015Australia2024-06-05
1016Germany2024-05-25
1017France2024-05-29
1018France2024-06-02
1019Brazil2024-06-07
1020Italy2024-06-01
1021Argentina2024-06-01
1022Japan2024-05-29
1023Spain2024-05-24
1024Italy2024-06-09
1025United Kingdom2024-06-17
1026Italy2024-05-25
1027Germany2024-06-07
1028France2024-06-14
1029Germany2024-06-09
1030France2024-06-07
1031Japan2024-06-14
1032Brazil2024-06-21
1033Spain2024-06-19
1034Spain2024-05-30
1035Italy2024-06-05
1036Argentina2024-06-02
1037Argentina2024-06-20
1038India2024-06-10
1039Italy2024-05-30
1040India2024-06-19
1041India2024-05-30
1042Italy2024-06-13
1043Argentina2024-05-31
1044Australia2024-06-04
1045Canada2024-06-10
1046India2024-05-26
1047France2024-06-16
1048Japan2024-06-02
1049Italy2024-06-13

On-Demand Data

NameIdCountryDate
Jennifer G Butt1000Russia2024-06-02
Adams Y Foller1001United Kingdom2024-06-18
Izzy D Slusarski1002Spain2024-06-16
Costa C Briddick1003Russia2024-06-09
Ashley U Oldroyd1004Canada2024-06-05
Leon T Darakjy1005Canada2024-06-15
Smith P Chui1006Germany2024-06-07
Stacey B Perin1007Germany2024-06-17
Alejandro L Malet1008France2024-06-08
Wickens T Schemmer1009Australia2024-06-13
Arvin X Chui1010Brazil2024-06-11
Murillo S Stockham1011Italy2024-05-27
Alejandro S Darakjy1012Spain2024-05-30
Jefferson B Nicka1013Japan2024-06-19
Costa M Morasca1014Italy2024-06-16
Rodrigues J Whobrey1015Germany2024-06-18
Salvatore F Oldroyd1016India2024-05-31
Jeanfrancois G Inouye1017United Kingdom2024-05-31
Jefferson A Iturbide1018Australia2024-06-08
Sinclair P Campain1019India2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony W DilliardJapanOnyama Limba UNQUALIFIED
Francesco I DarakjySpainAsiya Javayant NEW
Arvin W BriddickBrazilAsiya Javayant UNQUALIFIED
Smith B PaprockiGermanyXuxue Feng UNQUALIFIED
Ricardo H GauchoJapanXuxue Feng QUALIFIED
Darci W DoeItalyBernardo Dominic PROPOSAL
Costa Z GillianCanadaOnyama Limba QUALIFIED
Maria J AlbaresFranceAmy Elsner NEW
Alejandro X ChuiGermanyElwin Sharvill QUALIFIED
Juan W DoeCanadaOnyama Limba RENEWAL
Isabel A SlusarskiAustraliaXuxue Feng UNQUALIFIED
David C OstroskyArgentinaIvan Magalhaes QUALIFIED
Cody O GauchoCanadaIoni Bowcher PROPOSAL
Mujtaba D WaycottSpainElwin Sharvill UNQUALIFIED
Leon B KuskoCanadaAmy Elsner RENEWAL
Jeanfrancois S GlickGermanyXuxue Feng QUALIFIED
Mayumi R TollnerJapanAnna Fali NEW
Jones Y GillianArgentinaStephen Shaw UNQUALIFIED
Misaki O FerenczIndiaXuxue Feng PROPOSAL
Mayumi Y GauchoRussiaIoni Bowcher PROPOSAL
Cody R AmigonArgentinaIoni Bowcher NEW
Ivar Z WhobreyGermanyIvan Magalhaes UNQUALIFIED
David F FigeroaGermanyAmy Elsner NEW
Isabel Z MaletArgentinaStephen Shaw UNQUALIFIED
Greenwood O DoeRussiaXuxue Feng PROPOSAL
Johnson R OldroydCanadaOnyama Limba PROPOSAL
Nicolas E PerinSpainIoni Bowcher PROPOSAL
Aruna B BologniaRussiaAnna Fali NEW
Greenwood D SergiSpainBernardo Dominic NEW
Misaki R FigeroaSpainOnyama Limba NEW
Wickens K MacleadJapanAsiya Javayant RENEWAL
Faith O OstroskyFranceElwin Sharvill QUALIFIED
Morrow I VenereRussiaAmy Elsner RENEWAL
Faith B TollnerFranceOnyama Limba QUALIFIED
Arvin U ChuiAustraliaXuxue Feng PROPOSAL
Costa D BologniaAustraliaIoni Bowcher UNQUALIFIED
Mayumi Y FigeroaGermanyIoni Bowcher UNQUALIFIED
Francesco V TollnerCanadaBernardo Dominic QUALIFIED
Darci M NickaUnited KingdomBernardo Dominic QUALIFIED
Jefferson Z FlosiIndiaAsiya Javayant RENEWAL

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