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
Jeanfrancois S AlbaresSpainAsiya Javayant NEW
Ashley V RoysterUnited KingdomOnyama Limba PROPOSAL
Leon B SaylorsJapanXuxue Feng QUALIFIED
Antonio R DilliardItalyIvan Magalhaes NEW
Maria Q SaylorsCanadaXuxue Feng UNQUALIFIED
Greenwood W CaldareraIndiaIvan Magalhaes QUALIFIED
Mujtaba N FerenczGermanyElwin Sharvill RENEWAL
Jeanfrancois K RimCanadaAsiya Javayant NEGOTIATION
Juan S WaycottJapanAmy Elsner PROPOSAL
Maisha E CaldareraCanadaBernardo Dominic NEGOTIATION
Aruna X GarufiIndiaIvan Magalhaes QUALIFIED
Izzy J AlbaresArgentinaStephen Shaw NEGOTIATION
Adams Q DoeItalyAsiya Javayant NEGOTIATION
Alejandro A SlusarskiBrazilXuxue Feng NEGOTIATION
Octavia A VocelkaIndiaXuxue Feng QUALIFIED
Stacey H CaudyAustraliaIvan Magalhaes UNQUALIFIED
Aika K DilliardGermanyOnyama Limba NEGOTIATION
Greenwood Q OstroskyGermanyStephen Shaw PROPOSAL
Isabel K SaylorsBrazilStephen Shaw NEW
Jefferson R RutaSpainAmy Elsner RENEWAL
Costa R SchemmerBrazilAsiya Javayant NEGOTIATION
Sinclair I VenereBrazilStephen Shaw QUALIFIED
Darci G ChuiSpainIoni Bowcher PROPOSAL
Faith X PerinBrazilBernardo Dominic NEW
Chavez S StensethUnited KingdomAmy Elsner NEW
James N NestleSpainStephen Shaw UNQUALIFIED
Claire J DilliardSpainAmy Elsner RENEWAL
Deepesh S AlbaresFranceIoni Bowcher QUALIFIED
Murillo K ShinkoFranceAmy Elsner RENEWAL
Johnson Y SergiAustraliaBernardo Dominic NEW
Maisha G DarakjyCanadaAsiya Javayant NEGOTIATION
Francesco V CaudyAustraliaAmy Elsner PROPOSAL
Kadeem E PerinRussiaXuxue Feng NEW
Deepesh F InouyeAustraliaAsiya Javayant UNQUALIFIED
Kadeem M NickaBrazilElwin Sharvill NEW
Mujtaba O FigeroaAustraliaAnna Fali PROPOSAL
Octavia O RimRussiaBernardo Dominic RENEWAL
Claire D CampainIndiaStephen Shaw QUALIFIED
Murillo Q RoysterSpainElwin Sharvill NEGOTIATION
Clifford G GlickArgentinaXuxue Feng NEGOTIATION
Silvio I MarrierJapanBernardo Dominic UNQUALIFIED
Leon V KolmetzIndiaStephen Shaw PROPOSAL
Jeanfrancois E GauchoRussiaElwin Sharvill NEGOTIATION
Munro J MaletFranceStephen Shaw NEW
Julie Q MacleadArgentinaStephen Shaw RENEWAL
Clifford F GauchoUnited KingdomAsiya Javayant PROPOSAL
Chavez C RimSpainOnyama Limba PROPOSAL
Murillo F GlickJapanElwin Sharvill PROPOSAL
Rodrigues V MorascaGermanyBernardo Dominic NEGOTIATION
Adams G BriddickIndiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya P MaletArgentinaBernardo Dominic RENEWAL
Isabel K WaycottFranceAsiya Javayant NEGOTIATION
Mayumi S GlickCanadaElwin Sharvill RENEWAL
Darci O BriddickSpainOnyama Limba RENEWAL
Ivar S SchemmerFranceAmy Elsner RENEWAL
Juan C OldroydBrazilAsiya Javayant RENEWAL
Ivar T FerenczRussiaIvan Magalhaes NEGOTIATION
Stacey N OstroskyAustraliaIvan Magalhaes PROPOSAL
Aditya Z KolmetzIndiaStephen Shaw QUALIFIED
Maria S SaylorsUnited KingdomAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith C DarakjyUnited Kingdom2024-06-05Commercial Press PROPOSAL77Amy Elsner
1001Arvin Q InouyeBrazil2024-06-15Commercial Press NEW70Ivan Magalhaes
1002Aruna P VenereArgentina2024-06-15Rousseaux, Michael Esq NEGOTIATION64Asiya Javayant
1003Misaki L GauchoJapan2024-06-15Feltz Printing Service RENEWAL98Bernardo Dominic
1004Jones A ChuiFrance2024-06-01Chemel, James L Cpa RENEWAL98Onyama Limba
1005Jeanfrancois L CampainJapan2024-05-29Dorl, James J Esq RENEWAL8Xuxue Feng
1006Kadeem Z SchemmerItaly2024-06-04King, Christopher A Esq UNQUALIFIED81Ioni Bowcher
1007Cody Q MaletItaly2024-06-21Rousseaux, Michael Esq RENEWAL89Xuxue Feng
1008Munro M CaudyBrazil2024-05-26Feltz Printing Service RENEWAL17Xuxue Feng
1009Mayumi M MaletAustralia2024-06-23Chapman, Ross E Esq PROPOSAL16Anna Fali
1010Smith X CaldareraGermany2024-06-22Morlong Associates PROPOSAL31Anna Fali
1011Julie T SchemmerItaly2024-06-16Rousseaux, Michael Esq RENEWAL78Amy Elsner
1012Greenwood G OldroydArgentina2024-06-01Truhlar And Truhlar Attys NEGOTIATION96Xuxue Feng
1013Isabel C DoeIndia2024-06-10Chanay, Jeffrey A Esq RENEWAL71Ioni Bowcher
1014Juan E PaprockiUnited Kingdom2024-06-22Chemel, James L Cpa QUALIFIED55Ioni Bowcher
1015Darci M GillianArgentina2024-06-06Truhlar And Truhlar Attys PROPOSAL60Xuxue Feng
1016Aditya R GillianItaly2024-06-15Chanay, Jeffrey A Esq PROPOSAL79Ivan Magalhaes
1017Ivar X PaprockiUnited Kingdom2024-06-20Dorl, James J Esq NEGOTIATION95Elwin Sharvill
1018Misaki J BriddickGermany2024-06-05Chapman, Ross E Esq QUALIFIED88Ioni Bowcher
1019Claire H RimArgentina2024-05-30Dorl, James J Esq QUALIFIED71Elwin Sharvill
1020Rodrigues C SergiRussia2024-05-26Feltz Printing Service NEGOTIATION96Anna Fali
1021Julie Q ShinkoGermany2024-06-12Truhlar And Truhlar Attys NEGOTIATION97Stephen Shaw
1022Stacey A StensethRussia2024-06-09King, Christopher A Esq NEGOTIATION83Elwin Sharvill
1023Alejandro I WaycottFrance2024-06-22Chemel, James L Cpa RENEWAL76Ivan Magalhaes
1024Julie R MorascaIndia2024-06-03Rousseaux, Michael Esq NEW29Bernardo Dominic
1025Munro I OstroskyAustralia2024-06-21Dorl, James J Esq QUALIFIED62Anna Fali
1026Juan G DarakjyItaly2024-06-13Feltz Printing Service NEGOTIATION6Ioni Bowcher
1027Leja R RoysterCanada2024-06-08Buckley Miller Wright NEW30Elwin Sharvill
1028Leja I DoeAustralia2024-05-26King, Christopher A Esq PROPOSAL21Stephen Shaw
1029Johnson V PerinUnited Kingdom2024-06-18Morlong Associates NEW1Asiya Javayant
1030James R VocelkaCanada2024-06-05Buckley Miller Wright QUALIFIED83Amy Elsner
1031Ashley Z VenereGermany2024-05-29Rousseaux, Michael Esq PROPOSAL49Asiya Javayant
1032Aika I FigeroaUnited Kingdom2024-06-18King, Christopher A Esq QUALIFIED48Asiya Javayant
1033Deepesh O WhobreyGermany2024-06-12Dorl, James J Esq QUALIFIED5Ioni Bowcher
1034Nicolas P RulapaughRussia2024-06-19Printing Dimensions PROPOSAL31Amy Elsner
1035Greenwood J DarakjyArgentina2024-06-06Feltz Printing Service NEW77Onyama Limba
1036Stacey O GarufiCanada2024-06-12Rousseaux, Michael Esq NEGOTIATION40Anna Fali
1037Darci Y MorascaCanada2024-06-23Dorl, James J Esq PROPOSAL72Onyama Limba
1038Sinclair C TollnerUnited Kingdom2024-06-16Feiner Bros UNQUALIFIED67Elwin Sharvill
1039Jeanfrancois E IturbideJapan2024-06-18Rangoni Of Florence NEGOTIATION96Anna Fali
1040Leon S VenereFrance2024-05-28Feltz Printing Service UNQUALIFIED65Ioni Bowcher
1041Jones J GauchoSpain2024-05-27Truhlar And Truhlar Attys NEGOTIATION62Elwin Sharvill
1042Maria Q GlickAustralia2024-05-27Rousseaux, Michael Esq QUALIFIED0Bernardo Dominic
1043Octavia C SchemmerRussia2024-06-16Rangoni Of Florence NEGOTIATION90Onyama Limba
1044Misaki Q GlickFrance2024-05-31Morlong Associates NEGOTIATION8Asiya Javayant
1045Misaki V OldroydRussia2024-06-15Buckley Miller Wright PROPOSAL88Asiya Javayant
1046Antonio F KuskoItaly2024-06-09Feiner Bros NEW84Anna Fali
1047Juan J DarakjyIndia2024-06-06Rousseaux, Michael Esq PROPOSAL73Bernardo Dominic
1048Greenwood S ChuiJapan2024-05-30Commercial Press NEGOTIATION64Elwin Sharvill
1049Johnson J NickaSpain2024-06-17Feiner Bros RENEWAL91Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Octavia S WhobreySpainXuxue Feng RENEWAL
Stacey Y GillianBrazilAsiya Javayant RENEWAL
Aika S WaycottGermanyBernardo Dominic NEGOTIATION
Maria L GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Smith Q MarrierIndiaStephen Shaw NEW
Silvio A PerinArgentinaXuxue Feng NEGOTIATION
Kadeem C AlbaresSpainStephen Shaw QUALIFIED
Francesco X MaletSpainAsiya Javayant UNQUALIFIED
Johnson G TollnerJapanStephen Shaw UNQUALIFIED
Misaki A WaycottIndiaXuxue Feng NEW
Antonio R FigeroaBrazilIvan Magalhaes RENEWAL
Julie E FlosiBrazilElwin Sharvill PROPOSAL
Cody R WhobreyUnited KingdomAnna Fali PROPOSAL
Wickens N SaylorsUnited KingdomIvan Magalhaes NEW
Mujtaba M SlusarskiArgentinaIvan Magalhaes RENEWAL
Kaitlin U ButtRussiaAsiya Javayant RENEWAL
Costa C PaprockiBrazilBernardo Dominic RENEWAL
Aditya K RimGermanyElwin Sharvill NEGOTIATION
Francesco J GillianAustraliaXuxue Feng PROPOSAL
Juan H RulapaughArgentinaBernardo Dominic UNQUALIFIED
Jefferson D ChuiRussiaBernardo Dominic NEW
Mayumi D TollnerRussiaBernardo Dominic NEGOTIATION
Smith J ShinkoItalyStephen Shaw NEGOTIATION
Jeanfrancois S DilliardItalyBernardo Dominic QUALIFIED
Murillo M CaldareraAustraliaElwin Sharvill QUALIFIED
Darci K SlusarskiFranceXuxue Feng RENEWAL
Costa B RimBrazilXuxue Feng UNQUALIFIED
Leon F MaletRussiaAnna Fali PROPOSAL
Antonio X GauchoCanadaAmy Elsner NEGOTIATION
Morrow S VocelkaUnited KingdomBernardo Dominic PROPOSAL
Maria P TollnerGermanyAmy Elsner PROPOSAL
Aditya Z CaldareraItalyXuxue Feng NEW
Nicolas H OldroydBrazilBernardo Dominic QUALIFIED
Kaitlin F PoquetteUnited KingdomStephen Shaw RENEWAL
Jeanfrancois H ButtBrazilIoni Bowcher RENEWAL
Arvin C FigeroaItalyAnna Fali NEW
Leon S SaylorsFranceAmy Elsner UNQUALIFIED
Izzy Y VenereItalyOnyama Limba PROPOSAL
Claire H WieserUnited KingdomElwin Sharvill UNQUALIFIED
Murillo A CampainUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues Z GillianBrazilXuxue Feng RENEWAL
Maisha B AlbaresJapanIoni Bowcher NEGOTIATION
Julie H FerenczGermanyBernardo Dominic PROPOSAL
Sinclair K KolmetzBrazilXuxue Feng RENEWAL
Rodrigues L ShinkoIndiaIvan Magalhaes PROPOSAL
Maisha H PaprockiCanadaAsiya Javayant NEGOTIATION
Deepesh G AlbaresItalyAmy Elsner UNQUALIFIED
Kaitlin G KuskoAustraliaAsiya Javayant PROPOSAL
Rodrigues H MacleadRussiaIvan Magalhaes NEW
Jennifer E GauchoRussiaAnna Fali NEW
Frozen Columns
Name
Greenwood Y Whobrey
Chavez H Nicka
Kaitlin E Gaucho
Misaki M Caudy
Juan J Ruta
David G Venere
Ivar U Nestle
James Y Figeroa
Aditya V Stenseth
Izzy G Darakjy
Smith O Darakjy
Aditya N Wieser
Julie R Slusarski
Rodrigues J Caudy
Johnson H Bowley
Kaitlin U Marrier
Silvio N Paprocki
David E Dilliard
Silvio A Foller
Cody F Shinko
Francesco I Morasca
Costa Q Gaucho
Misaki M Ruta
Mujtaba E Bolognia
Salvatore K Nicka
Munro Y Rim
Ivar J Foller
Greenwood L Iturbide
Sinclair H Royster
Munro U Paprocki
Costa Y Stenseth
Deepesh Z Flosi
Clifford R Albares
Adams G Glick
Mayumi Q Royster
Julie S Paprocki
Maisha E Nestle
Chavez B Doe
Francesco I Saylors
Jefferson K Inouye
Faith W Rim
Tony O Venere
Chavez Q Amigon
Mayumi M Morasca
Jennifer S Caldarera
Chavez Z Campain
Salvatore N Dilliard
Cody C Caldarera
Aika M Shinko
Salvatore G Amigon
IdCountryDate
1000Italy2024-05-30
1001Spain2024-06-24
1002Canada2024-06-17
1003Italy2024-06-01
1004Spain2024-05-28
1005Germany2024-06-06
1006Italy2024-06-23
1007India2024-06-16
1008Brazil2024-06-05
1009Canada2024-06-23
1010Russia2024-06-24
1011United Kingdom2024-06-14
1012France2024-06-06
1013Japan2024-06-24
1014Australia2024-06-20
1015United Kingdom2024-06-17
1016Japan2024-06-06
1017India2024-06-05
1018India2024-06-04
1019United Kingdom2024-06-04
1020Brazil2024-06-10
1021Brazil2024-06-01
1022Italy2024-05-30
1023Brazil2024-06-02
1024Japan2024-06-09
1025United Kingdom2024-06-21
1026Canada2024-05-26
1027Italy2024-06-01
1028Spain2024-06-05
1029United Kingdom2024-05-27
1030France2024-06-10
1031Brazil2024-06-04
1032Canada2024-05-28
1033Australia2024-06-11
1034Italy2024-06-20
1035Brazil2024-06-13
1036Russia2024-05-26
1037Argentina2024-05-27
1038India2024-06-04
1039Germany2024-06-21
1040Argentina2024-06-06
1041Brazil2024-06-11
1042France2024-06-21
1043Australia2024-06-16
1044Japan2024-05-29
1045Italy2024-06-08
1046Brazil2024-06-20
1047France2024-06-13
1048Japan2024-06-11
1049Japan2024-05-30

On-Demand Data

NameIdCountryDate
Adams Q Vocelka1000Canada2024-06-15
Salvatore C Stockham1001France2024-06-16
Cody H Bolognia1002Spain2024-06-06
Morrow Q Dilliard1003Australia2024-06-13
Aruna I Ferencz1004Germany2024-06-22
Johnson Q Malet1005United Kingdom2024-05-30
Aika U Dilliard1006Germany2024-06-21
Stacey W Royster1007India2024-06-18
Ashley L Caldarera1008Germany2024-06-19
Aruna R Butt1009India2024-06-01
Aika K Nicka1010United Kingdom2024-06-09
James X Whobrey1011Canada2024-06-04
Ricardo W Perin1012Australia2024-06-16
Maria V Butt1013Spain2024-06-09
Johnson X Gillian1014Russia2024-06-08
Mujtaba P Nestle1015Germany2024-06-03
Mayumi O Stenseth1016Italy2024-06-11
Francesco O Maclead1017France2024-05-26
Alejandro H Marrier1018Spain2024-06-23
Sinclair Y Vocelka1019Germany2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy W DoeGermanyBernardo Dominic NEGOTIATION
Jefferson S SergiItalyIvan Magalhaes PROPOSAL
Claire K AmigonArgentinaAmy Elsner PROPOSAL
Munro I StockhamBrazilIvan Magalhaes NEW
Octavia T BologniaCanadaIoni Bowcher RENEWAL
Jefferson J MarrierSpainBernardo Dominic QUALIFIED
Maisha V MaletFranceAnna Fali UNQUALIFIED
Sinclair O GarufiSpainOnyama Limba NEW
Francesco C CaudyGermanyAnna Fali PROPOSAL
Ricardo U StockhamGermanyXuxue Feng NEW
Aika X DilliardIndiaXuxue Feng QUALIFIED
Nicolas V MaletBrazilAmy Elsner PROPOSAL
Ashley G TollnerAustraliaAmy Elsner UNQUALIFIED
Ivar E AmigonAustraliaIvan Magalhaes PROPOSAL
Antonio A CampainFranceBernardo Dominic QUALIFIED
Jennifer W CaudyCanadaOnyama Limba RENEWAL
Kaitlin H FerenczAustraliaStephen Shaw PROPOSAL
Jennifer B WieserUnited KingdomXuxue Feng QUALIFIED
Aruna H FerenczAustraliaStephen Shaw QUALIFIED
Clifford S ShinkoGermanyIoni Bowcher QUALIFIED
Munro Y MaletArgentinaStephen Shaw QUALIFIED
Aditya U DoeFranceAmy Elsner NEGOTIATION
Deepesh D KolmetzIndiaIoni Bowcher NEW
Ashley J DilliardGermanyXuxue Feng NEGOTIATION
James A FigeroaRussiaIvan Magalhaes PROPOSAL
Cody F VocelkaBrazilXuxue Feng QUALIFIED
Ricardo G KuskoGermanyAnna Fali QUALIFIED
Adams H TollnerSpainBernardo Dominic UNQUALIFIED
Emily Q DoeAustraliaAsiya Javayant UNQUALIFIED
Claire M BologniaArgentinaAnna Fali RENEWAL
Ivar L NickaJapanElwin Sharvill UNQUALIFIED
James Y OldroydJapanIoni Bowcher QUALIFIED
Maisha J TollnerBrazilIvan Magalhaes QUALIFIED
Salvatore U BriddickArgentinaIvan Magalhaes PROPOSAL
Jennifer X StockhamGermanyOnyama Limba PROPOSAL
Maria Y WaycottJapanAmy Elsner UNQUALIFIED
Costa A KolmetzCanadaStephen Shaw NEGOTIATION
Jennifer P WhobreyBrazilXuxue Feng NEW
Faith Y CampainAustraliaBernardo Dominic NEW
Mujtaba Z SergiSpainXuxue Feng 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>