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
Mayumi V DoeGermanyElwin Sharvill RENEWAL
Johnson S SchemmerFranceIoni Bowcher RENEWAL
Francesco K InouyeUnited KingdomStephen Shaw NEW
Chavez T InouyeFranceOnyama Limba NEW
Jennifer T CampainFranceBernardo Dominic QUALIFIED
Adams S VocelkaRussiaXuxue Feng NEW
Silvio V OldroydArgentinaStephen Shaw PROPOSAL
Antonio B IturbideIndiaIoni Bowcher PROPOSAL
Cody N RimSpainIoni Bowcher QUALIFIED
Leon R BologniaUnited KingdomElwin Sharvill RENEWAL
Ashley F IturbideGermanyAmy Elsner QUALIFIED
James K KuskoBrazilAsiya Javayant NEGOTIATION
Aika O GlickJapanAnna Fali QUALIFIED
Mujtaba Y CaudySpainAnna Fali NEGOTIATION
Sinclair B KolmetzBrazilAsiya Javayant PROPOSAL
Maisha H GarufiFranceBernardo Dominic NEW
Claire G ButtAustraliaIvan Magalhaes RENEWAL
Wickens F BriddickUnited KingdomElwin Sharvill NEGOTIATION
Aditya B TollnerJapanIoni Bowcher UNQUALIFIED
Ashley E ShinkoJapanXuxue Feng QUALIFIED
Deepesh R MorascaIndiaAmy Elsner NEW
Leja C AmigonUnited KingdomXuxue Feng NEGOTIATION
Johnson J StockhamSpainIoni Bowcher PROPOSAL
Antonio P MacleadIndiaIoni Bowcher QUALIFIED
Aika B BriddickSpainElwin Sharvill NEGOTIATION
Leja G MaletUnited KingdomIvan Magalhaes QUALIFIED
Misaki P SergiUnited KingdomOnyama Limba UNQUALIFIED
Ivar I NestleItalyAnna Fali RENEWAL
Mujtaba S GauchoRussiaElwin Sharvill NEW
Stacey U KolmetzJapanXuxue Feng UNQUALIFIED
Murillo H RimRussiaStephen Shaw QUALIFIED
Nicolas V RimItalyOnyama Limba PROPOSAL
Ricardo X FlosiBrazilAmy Elsner PROPOSAL
Nicolas H SchemmerIndiaElwin Sharvill UNQUALIFIED
Sinclair V GauchoRussiaElwin Sharvill UNQUALIFIED
Octavia K MacleadItalyAmy Elsner QUALIFIED
Juan U FollerAustraliaAsiya Javayant NEGOTIATION
Mayumi I WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Ivar M CampainArgentinaIoni Bowcher UNQUALIFIED
Kadeem I GillianCanadaIoni Bowcher QUALIFIED
Costa I WhobreyArgentinaStephen Shaw QUALIFIED
Ricardo Q SaylorsItalyOnyama Limba QUALIFIED
Leon O SaylorsGermanyIvan Magalhaes PROPOSAL
Ivar B FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Aika Q GillianGermanyAnna Fali PROPOSAL
Maria W DarakjyBrazilIvan Magalhaes QUALIFIED
Johnson W PaprockiItalyIvan Magalhaes PROPOSAL
Antonio Y StockhamUnited KingdomBernardo Dominic NEGOTIATION
Misaki P FollerFranceBernardo Dominic QUALIFIED
Juan Q FigeroaBrazilBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Murillo M RutaFranceOnyama Limba PROPOSAL
Costa Y FollerGermanyAnna Fali RENEWAL
Mujtaba U PaprockiCanadaOnyama Limba PROPOSAL
Silvio R KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Aditya E PoquetteUnited KingdomElwin Sharvill PROPOSAL
Nicolas T RutaArgentinaAmy Elsner NEW
Jefferson V CampainCanadaAmy Elsner QUALIFIED
Mayumi P GlickSpainAmy Elsner NEW
Munro Y NestleAustraliaIoni Bowcher UNQUALIFIED
Wickens U GarufiAustraliaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams L TollnerIndia2024-05-18Chanay, Jeffrey A Esq NEW69Amy Elsner
1001Juan I NestleBrazil2024-05-20Rousseaux, Michael Esq UNQUALIFIED86Amy Elsner
1002Jennifer G SchemmerItaly2024-05-03Chemel, James L Cpa NEGOTIATION17Bernardo Dominic
1003Aruna M CaldareraUnited Kingdom2024-05-27Buckley Miller Wright NEGOTIATION34Bernardo Dominic
1004Morrow G OstroskyIndia2024-05-13Dorl, James J Esq UNQUALIFIED99Amy Elsner
1005Aika J BologniaJapan2024-05-04Chanay, Jeffrey A Esq NEGOTIATION58Onyama Limba
1006Wickens U AlbaresItaly2024-05-20Feltz Printing Service PROPOSAL68Asiya Javayant
1007Maisha T MaletUnited Kingdom2024-05-24Morlong Associates NEW69Stephen Shaw
1008Maria C PaprockiSpain2024-05-17Chapman, Ross E Esq RENEWAL47Onyama Limba
1009Cody F ShinkoGermany2024-05-22Chanay, Jeffrey A Esq QUALIFIED55Stephen Shaw
1010Tony N RulapaughUnited Kingdom2024-05-15Feiner Bros QUALIFIED21Anna Fali
1011Morrow U CaldareraCanada2024-05-13Chanay, Jeffrey A Esq QUALIFIED10Bernardo Dominic
1012Arvin N KolmetzUnited Kingdom2024-05-06Morlong Associates PROPOSAL1Ivan Magalhaes
1013Emily B InouyeIndia2024-05-02King, Christopher A Esq NEW22Bernardo Dominic
1014Kaitlin L AmigonCanada2024-05-21Benton, John B Jr QUALIFIED64Anna Fali
1015Jennifer K FigeroaBrazil2024-05-26Buckley Miller Wright UNQUALIFIED94Ioni Bowcher
1016Morrow F DoeJapan2024-05-15King, Christopher A Esq NEGOTIATION5Stephen Shaw
1017Leon Y MarrierUnited Kingdom2024-05-07Rousseaux, Michael Esq PROPOSAL55Xuxue Feng
1018Jennifer D PaprockiIndia2024-05-07Truhlar And Truhlar Attys UNQUALIFIED16Elwin Sharvill
1019Costa N ChuiBrazil2024-05-24Buckley Miller Wright UNQUALIFIED82Onyama Limba
1020Wickens L CaldareraRussia2024-04-28Dorl, James J Esq NEW38Ivan Magalhaes
1021Clifford V InouyeFrance2024-05-21Morlong Associates PROPOSAL28Xuxue Feng
1022Salvatore S SlusarskiUnited Kingdom2024-05-23Truhlar And Truhlar Attys RENEWAL90Amy Elsner
1023Kadeem W NickaGermany2024-05-21Printing Dimensions NEW1Anna Fali
1024Julie T FlosiSpain2024-05-14Commercial Press QUALIFIED75Amy Elsner
1025Salvatore L AmigonUnited Kingdom2024-05-05Feltz Printing Service UNQUALIFIED3Onyama Limba
1026Jennifer K DilliardIndia2024-05-04Buckley Miller Wright QUALIFIED14Amy Elsner
1027Wickens L NickaArgentina2024-05-05Buckley Miller Wright QUALIFIED36Onyama Limba
1028Morrow X PerinGermany2024-05-07Chapman, Ross E Esq PROPOSAL52Onyama Limba
1029Ashley G MacleadGermany2024-05-07Morlong Associates NEGOTIATION85Stephen Shaw
1030David U GarufiItaly2024-05-14Dorl, James J Esq UNQUALIFIED98Stephen Shaw
1031Darci O GarufiGermany2024-05-20Chemel, James L Cpa NEW19Asiya Javayant
1032Leon Z StensethIndia2024-05-07Chemel, James L Cpa NEGOTIATION48Anna Fali
1033Aruna G RutaRussia2024-05-21Commercial Press NEW83Amy Elsner
1034Salvatore G RoysterJapan2024-05-10Rangoni Of Florence NEW81Ioni Bowcher
1035Salvatore R BriddickGermany2024-05-16Feiner Bros RENEWAL53Stephen Shaw
1036Julie G AmigonAustralia2024-05-06Morlong Associates RENEWAL36Bernardo Dominic
1037Salvatore I CaudyIndia2024-05-20Benton, John B Jr PROPOSAL35Bernardo Dominic
1038Jones C SaylorsUnited Kingdom2024-05-04Rangoni Of Florence NEGOTIATION24Elwin Sharvill
1039Emily C IturbideCanada2024-05-06Feltz Printing Service QUALIFIED33Ioni Bowcher
1040Rodrigues F GauchoUnited Kingdom2024-05-15Commercial Press RENEWAL54Onyama Limba
1041Antonio G CaudyJapan2024-05-10Chemel, James L Cpa QUALIFIED42Xuxue Feng
1042Aditya Q RimCanada2024-05-15King, Christopher A Esq PROPOSAL48Ioni Bowcher
1043Faith P GarufiArgentina2024-05-21Rousseaux, Michael Esq UNQUALIFIED55Onyama Limba
1044Jeanfrancois A MaletCanada2024-05-20Rangoni Of Florence PROPOSAL25Elwin Sharvill
1045Antonio G KolmetzGermany2024-05-04Chapman, Ross E Esq NEW22Amy Elsner
1046Francesco Y SlusarskiJapan2024-05-09Feltz Printing Service QUALIFIED46Ioni Bowcher
1047Leon K OldroydGermany2024-05-26Chemel, James L Cpa NEGOTIATION35Onyama Limba
1048Silvio R WhobreyJapan2024-05-01Commercial Press PROPOSAL55Stephen Shaw
1049Rodrigues I AlbaresJapan2024-05-23Rousseaux, Michael Esq QUALIFIED85Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin K DilliardSpainAsiya Javayant RENEWAL
Adams U VenereArgentinaStephen Shaw NEGOTIATION
Silvio B RoysterCanadaOnyama Limba UNQUALIFIED
Smith M SergiJapanAsiya Javayant PROPOSAL
Tony M WaycottJapanBernardo Dominic NEGOTIATION
Faith T ShinkoArgentinaAmy Elsner UNQUALIFIED
Francesco A SergiBrazilOnyama Limba NEW
Mayumi E FerenczCanadaIvan Magalhaes NEGOTIATION
Tony O CaudyFranceAmy Elsner PROPOSAL
Julie B GillianFranceStephen Shaw UNQUALIFIED
David C SaylorsCanadaAsiya Javayant NEGOTIATION
Maisha Y GarufiUnited KingdomXuxue Feng RENEWAL
Emily B GillianArgentinaOnyama Limba UNQUALIFIED
Ivar T WaycottSpainAnna Fali RENEWAL
Smith S GillianRussiaBernardo Dominic NEGOTIATION
Mujtaba D VenereAustraliaXuxue Feng QUALIFIED
Mujtaba L VocelkaJapanAmy Elsner RENEWAL
Leja E IturbideAustraliaBernardo Dominic UNQUALIFIED
Juan F MaletIndiaXuxue Feng NEGOTIATION
Misaki Q WaycottArgentinaStephen Shaw QUALIFIED
Deepesh C FerenczArgentinaXuxue Feng UNQUALIFIED
Munro U CaldareraFranceIoni Bowcher UNQUALIFIED
Deepesh P CaldareraRussiaStephen Shaw NEGOTIATION
Cody G BologniaGermanyXuxue Feng PROPOSAL
Rodrigues T RulapaughGermanyElwin Sharvill UNQUALIFIED
Tony V FigeroaJapanAmy Elsner UNQUALIFIED
James K OldroydFranceElwin Sharvill PROPOSAL
Maria I CaldareraIndiaIoni Bowcher RENEWAL
Leon O GlickCanadaStephen Shaw RENEWAL
Aika E DarakjyCanadaIoni Bowcher RENEWAL
Leon N CaudyJapanBernardo Dominic PROPOSAL
Johnson S RutaJapanAmy Elsner RENEWAL
Francesco M OldroydRussiaOnyama Limba UNQUALIFIED
Smith I MaletIndiaOnyama Limba NEGOTIATION
Leon V WieserGermanyAsiya Javayant RENEWAL
Juan D StockhamItalyStephen Shaw QUALIFIED
Arvin E MarrierItalyElwin Sharvill QUALIFIED
Morrow U IturbideArgentinaIvan Magalhaes NEGOTIATION
Octavia A DilliardAustraliaBernardo Dominic RENEWAL
Aruna J OldroydItalyElwin Sharvill UNQUALIFIED
Maria M PerinRussiaAmy Elsner QUALIFIED
Munro S DilliardJapanStephen Shaw UNQUALIFIED
Chavez T BologniaUnited KingdomIoni Bowcher PROPOSAL
Murillo L PaprockiFranceBernardo Dominic NEW
Claire M SergiIndiaBernardo Dominic RENEWAL
Ricardo J MorascaGermanyAnna Fali PROPOSAL
Leja H OldroydJapanBernardo Dominic QUALIFIED
Emily A RoysterCanadaIvan Magalhaes NEGOTIATION
Clifford S OldroydSpainBernardo Dominic NEGOTIATION
Deepesh Y MarrierAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Misaki V Nicka
Munro F Waycott
Stacey F Morasca
Costa K Butt
Chavez T Chui
Cody B Briddick
Smith F Garufi
Isabel W Albares
Isabel E Stenseth
Murillo T Rim
Greenwood K Sergi
Stacey V Tollner
Jeanfrancois M Flosi
Jones J Shinko
Morrow C Briddick
Murillo F Kolmetz
Ricardo E Caldarera
Greenwood Y Bowley
David Z Iturbide
Leon A Ruta
Kaitlin W Oldroyd
Faith H Butt
Adams J Vocelka
Claire N Paprocki
Mujtaba W Gaucho
Faith K Campain
Mayumi Y Ruta
Costa U Kusko
Ashley M Venere
Claire Z Ferencz
Aruna B Gillian
Tony Z Vocelka
Aika G Stockham
Antonio D Caudy
Isabel B Rulapaugh
Mayumi I Ferencz
Sinclair X Gaucho
Julie L Ostrosky
Ricardo H Foller
Antonio A Poquette
Salvatore S Gillian
Julie S Darakjy
Darci P Briddick
Wickens I Amigon
Salvatore V Amigon
Maria D Oldroyd
Nicolas S Ferencz
David S Royster
Darci S Ostrosky
Wickens K Maclead
IdCountryDate
1000Italy2024-05-27
1001Germany2024-05-01
1002Japan2024-05-14
1003Brazil2024-05-26
1004India2024-05-25
1005Brazil2024-05-15
1006Russia2024-05-10
1007Germany2024-05-22
1008Italy2024-05-16
1009United Kingdom2024-05-26
1010Germany2024-05-18
1011France2024-05-26
1012Russia2024-05-09
1013Italy2024-05-23
1014Japan2024-05-06
1015Spain2024-05-12
1016Italy2024-05-08
1017Japan2024-04-30
1018Japan2024-05-17
1019Russia2024-05-10
1020France2024-04-29
1021United Kingdom2024-04-29
1022Australia2024-04-29
1023Japan2024-05-10
1024France2024-05-27
1025France2024-05-16
1026Canada2024-05-08
1027Russia2024-05-18
1028Canada2024-05-14
1029Brazil2024-05-17
1030Australia2024-05-13
1031France2024-04-30
1032Japan2024-05-21
1033Spain2024-05-22
1034United Kingdom2024-05-20
1035Japan2024-05-01
1036Brazil2024-05-12
1037Germany2024-05-14
1038Canada2024-05-27
1039France2024-05-11
1040Canada2024-05-17
1041Japan2024-05-08
1042Italy2024-05-18
1043Spain2024-05-17
1044Canada2024-05-14
1045Italy2024-05-17
1046Spain2024-05-23
1047Germany2024-05-21
1048Brazil2024-05-11
1049Japan2024-05-26

On-Demand Data

NameIdCountryDate
Francesco L Schemmer1000Brazil2024-05-25
Ricardo Z Foller1001United Kingdom2024-05-10
Munro T Chui1002Canada2024-05-15
Nicolas M Kolmetz1003India2024-05-11
Sinclair E Rim1004United Kingdom2024-05-19
Stacey E Oldroyd1005Italy2024-05-07
Darci D Nicka1006Argentina2024-05-18
Mujtaba F Caudy1007Argentina2024-05-20
Jeanfrancois N Wieser1008Italy2024-05-10
Jennifer S Tollner1009United Kingdom2024-05-22
Octavia C Poquette1010United Kingdom2024-05-10
Salvatore V Darakjy1011India2024-05-24
Mujtaba E Foller1012United Kingdom2024-05-20
Ivar Y Royster1013Canada2024-05-13
Morrow E Albares1014Argentina2024-05-26
Leja U Morasca1015France2024-05-18
Sinclair K Bolognia1016Canada2024-05-19
Cody N Foller1017Germany2024-04-29
Ivar K Perin1018Argentina2024-05-17
Clifford K Nicka1019Japan2024-05-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood D GarufiArgentinaIvan Magalhaes QUALIFIED
Chavez H ChuiItalyElwin Sharvill PROPOSAL
Murillo H ChuiAustraliaIoni Bowcher UNQUALIFIED
Sinclair V CaldareraCanadaAsiya Javayant PROPOSAL
Izzy Y OldroydUnited KingdomAsiya Javayant NEGOTIATION
Ashley G RulapaughGermanyIoni Bowcher QUALIFIED
Salvatore K GlickAustraliaStephen Shaw PROPOSAL
Octavia M FigeroaFranceIvan Magalhaes NEGOTIATION
Cody P WieserIndiaAsiya Javayant NEW
Izzy W BowleySpainStephen Shaw NEW
Izzy V PaprockiBrazilStephen Shaw NEGOTIATION
Maisha T GillianUnited KingdomStephen Shaw RENEWAL
Deepesh P SergiGermanyOnyama Limba UNQUALIFIED
Jeanfrancois P SergiCanadaStephen Shaw RENEWAL
Cody G IturbideCanadaStephen Shaw RENEWAL
Leon H ChuiRussiaOnyama Limba QUALIFIED
Morrow A InouyeGermanyXuxue Feng NEW
Nicolas W RimArgentinaAnna Fali NEGOTIATION
Ashley J DilliardCanadaElwin Sharvill RENEWAL
Octavia K SergiItalyStephen Shaw QUALIFIED
Darci D BriddickAustraliaBernardo Dominic NEGOTIATION
Leja J WhobreyCanadaAsiya Javayant NEGOTIATION
Misaki D GauchoItalyElwin Sharvill NEW
Izzy L FlosiSpainAmy Elsner RENEWAL
Silvio L ChuiArgentinaElwin Sharvill UNQUALIFIED
Johnson G RulapaughAustraliaXuxue Feng RENEWAL
Faith Q OldroydItalyAsiya Javayant UNQUALIFIED
Isabel V OldroydGermanyAnna Fali NEGOTIATION
Silvio P WieserRussiaOnyama Limba RENEWAL
Adams Z IturbideJapanIvan Magalhaes PROPOSAL
Chavez M MaletItalyXuxue Feng NEGOTIATION
Emily O WieserIndiaAsiya Javayant QUALIFIED
Murillo W GlickUnited KingdomElwin Sharvill UNQUALIFIED
Francesco H WaycottGermanyIvan Magalhaes NEW
David Q WaycottItalyOnyama Limba NEGOTIATION
Ashley M RulapaughUnited KingdomStephen Shaw NEGOTIATION
Costa M BologniaJapanElwin Sharvill UNQUALIFIED
Leja P WhobreyRussiaBernardo Dominic RENEWAL
Silvio P StockhamBrazilBernardo Dominic NEGOTIATION
Octavia V GauchoItalyAmy Elsner 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>