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
Octavia Y MacleadFranceOnyama Limba RENEWAL
Isabel T StensethCanadaIoni Bowcher QUALIFIED
Aruna T OstroskyRussiaAmy Elsner NEW
Murillo W TollnerJapanAnna Fali QUALIFIED
Chavez J CaldareraBrazilAsiya Javayant NEW
Mujtaba M OldroydJapanIvan Magalhaes NEGOTIATION
Morrow L KolmetzAustraliaOnyama Limba NEGOTIATION
Munro C ShinkoIndiaBernardo Dominic RENEWAL
Octavia Q CaldareraArgentinaIoni Bowcher NEGOTIATION
Rodrigues O ShinkoBrazilElwin Sharvill RENEWAL
Cody D SaylorsUnited KingdomAsiya Javayant RENEWAL
Izzy S BriddickArgentinaIoni Bowcher QUALIFIED
Maria R CampainJapanAsiya Javayant PROPOSAL
Cody F WhobreyArgentinaIvan Magalhaes RENEWAL
Adams P IturbideArgentinaOnyama Limba NEGOTIATION
Izzy Z FollerFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois V PoquetteAustraliaElwin Sharvill RENEWAL
Aruna C NickaFranceAmy Elsner NEW
Nicolas Z ChuiBrazilIoni Bowcher PROPOSAL
Faith B TollnerAustraliaElwin Sharvill NEGOTIATION
David P DoeRussiaStephen Shaw NEGOTIATION
Leon D StockhamGermanyBernardo Dominic PROPOSAL
Julie M BologniaBrazilXuxue Feng UNQUALIFIED
Maisha U WhobreyBrazilStephen Shaw NEW
Misaki E SlusarskiCanadaElwin Sharvill NEW
Greenwood Q AmigonUnited KingdomAmy Elsner QUALIFIED
Aika N SergiSpainIoni Bowcher NEGOTIATION
Darci P InouyeBrazilElwin Sharvill NEGOTIATION
Morrow Y MaletFranceAmy Elsner UNQUALIFIED
Leon R SlusarskiArgentinaBernardo Dominic NEGOTIATION
Aruna K SergiUnited KingdomIvan Magalhaes UNQUALIFIED
Darci U GillianFranceAnna Fali NEGOTIATION
Murillo S IturbideArgentinaOnyama Limba UNQUALIFIED
James W MaletAustraliaAmy Elsner NEW
Murillo D BologniaFranceAnna Fali PROPOSAL
Kaitlin X FollerSpainIoni Bowcher PROPOSAL
Juan A FerenczCanadaStephen Shaw RENEWAL
Chavez A BologniaArgentinaAsiya Javayant RENEWAL
Francesco P MarrierArgentinaBernardo Dominic RENEWAL
Aditya T TollnerCanadaAnna Fali PROPOSAL
Juan H OstroskyBrazilIvan Magalhaes NEW
Ashley H DilliardArgentinaOnyama Limba NEGOTIATION
Mayumi E BowleyJapanAsiya Javayant UNQUALIFIED
Aruna Q KolmetzArgentinaAnna Fali NEGOTIATION
Jones Y FlosiGermanyElwin Sharvill UNQUALIFIED
Jefferson E AlbaresAustraliaIoni Bowcher PROPOSAL
Juan K VocelkaCanadaAmy Elsner NEW
Chavez T SergiFranceXuxue Feng NEW
Deepesh A InouyeRussiaStephen Shaw RENEWAL
Costa Z PaprockiFranceStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas F SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Costa H GillianCanadaIvan Magalhaes PROPOSAL
Leja F KuskoRussiaIoni Bowcher NEW
Jennifer S WaycottIndiaBernardo Dominic PROPOSAL
Sinclair U FerenczSpainStephen Shaw QUALIFIED
Jennifer L SergiSpainAmy Elsner QUALIFIED
Julie C NickaItalyAsiya Javayant RENEWAL
Jones M MarrierArgentinaElwin Sharvill QUALIFIED
Jones K InouyeIndiaAsiya Javayant PROPOSAL
Aditya F StensethGermanyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Q RutaIndia2025-04-20Rousseaux, Michael Esq PROPOSAL29Asiya Javayant
1001Ashley V KuskoSpain2025-04-14Truhlar And Truhlar Attys RENEWAL68Elwin Sharvill
1002Adams M DarakjyArgentina2025-04-14Rangoni Of Florence NEW94Bernardo Dominic
1003Silvio E FlosiJapan2025-04-11Chanay, Jeffrey A Esq NEGOTIATION26Elwin Sharvill
1004Adams J WieserGermany2025-04-19Commercial Press QUALIFIED3Asiya Javayant
1005Octavia S WaycottSpain2025-04-08Printing Dimensions UNQUALIFIED62Amy Elsner
1006Mayumi N PaprockiUnited Kingdom2025-04-16Rousseaux, Michael Esq NEW63Bernardo Dominic
1007Ivar C BriddickJapan2025-04-20Benton, John B Jr UNQUALIFIED16Xuxue Feng
1008Johnson R RutaGermany2025-04-18Chapman, Ross E Esq NEGOTIATION24Onyama Limba
1009Stacey B CaudyIndia2025-04-19Commercial Press PROPOSAL70Ioni Bowcher
1010Greenwood M PoquetteUnited Kingdom2025-04-05Feiner Bros NEW76Xuxue Feng
1011Chavez O SaylorsItaly2025-04-08Buckley Miller Wright NEW68Asiya Javayant
1012Salvatore P TollnerFrance2025-04-17Benton, John B Jr NEW79Amy Elsner
1013Antonio U TollnerBrazil2025-04-07Dorl, James J Esq PROPOSAL58Bernardo Dominic
1014Sinclair R CaldareraBrazil2025-04-04Truhlar And Truhlar Attys NEGOTIATION57Amy Elsner
1015Deepesh B NickaCanada2025-04-03Buckley Miller Wright NEGOTIATION40Anna Fali
1016Isabel Y KolmetzIndia2025-04-29Benton, John B Jr QUALIFIED33Bernardo Dominic
1017Darci J SchemmerSpain2025-04-14Chemel, James L Cpa PROPOSAL23Asiya Javayant
1018Tony S FlosiArgentina2025-04-17Feltz Printing Service NEW92Asiya Javayant
1019Misaki R BriddickGermany2025-04-03Chapman, Ross E Esq NEW54Anna Fali
1020Isabel B ButtSpain2025-04-05Truhlar And Truhlar Attys PROPOSAL28Ioni Bowcher
1021Jennifer D NickaJapan2025-04-04Buckley Miller Wright NEW29Stephen Shaw
1022Johnson L ChuiGermany2025-04-15Chapman, Ross E Esq UNQUALIFIED76Xuxue Feng
1023Izzy S RutaFrance2025-04-28Buckley Miller Wright NEW11Onyama Limba
1024Silvio F MarrierGermany2025-04-21Chanay, Jeffrey A Esq NEW65Ioni Bowcher
1025Wickens B BowleyItaly2025-04-19Rousseaux, Michael Esq PROPOSAL68Anna Fali
1026Jeanfrancois T PaprockiUnited Kingdom2025-04-20King, Christopher A Esq NEGOTIATION17Ioni Bowcher
1027Julie Y KolmetzAustralia2025-04-22Feltz Printing Service QUALIFIED59Ioni Bowcher
1028Nicolas K KuskoBrazil2025-04-27Chanay, Jeffrey A Esq NEW80Asiya Javayant
1029Faith F DilliardUnited Kingdom2025-04-10Morlong Associates RENEWAL50Elwin Sharvill
1030Tony T RulapaughItaly2025-04-25Morlong Associates NEGOTIATION51Elwin Sharvill
1031Misaki Q SaylorsJapan2025-04-22Buckley Miller Wright UNQUALIFIED93Elwin Sharvill
1032Costa N ButtJapan2025-04-22Commercial Press UNQUALIFIED3Ioni Bowcher
1033David Y KolmetzItaly2025-04-15Chanay, Jeffrey A Esq UNQUALIFIED37Xuxue Feng
1034Munro Y SchemmerJapan2025-04-29Rangoni Of Florence NEGOTIATION79Xuxue Feng
1035Antonio A FollerIndia2025-04-25Truhlar And Truhlar Attys NEGOTIATION92Asiya Javayant
1036Kadeem D GillianAustralia2025-04-29Feltz Printing Service RENEWAL21Ioni Bowcher
1037Morrow U PaprockiRussia2025-04-19Printing Dimensions NEW40Onyama Limba
1038Leon W SergiUnited Kingdom2025-04-26Feltz Printing Service UNQUALIFIED46Onyama Limba
1039Aika S CaldareraSpain2025-04-17Chanay, Jeffrey A Esq NEW73Ioni Bowcher
1040Maisha U AmigonJapan2025-04-02Morlong Associates NEGOTIATION96Ivan Magalhaes
1041Darci U VocelkaUnited Kingdom2025-04-12Dorl, James J Esq QUALIFIED19Bernardo Dominic
1042Jennifer R KuskoIndia2025-04-24Chanay, Jeffrey A Esq UNQUALIFIED38Anna Fali
1043Kadeem S WhobreyRussia2025-04-06Feiner Bros NEGOTIATION35Xuxue Feng
1044Claire L MarrierFrance2025-04-08Chanay, Jeffrey A Esq RENEWAL72Bernardo Dominic
1045Kaitlin P ChuiBrazil2025-04-08Benton, John B Jr RENEWAL59Asiya Javayant
1046Costa Z KolmetzJapan2025-04-19Chemel, James L Cpa RENEWAL76Stephen Shaw
1047Emily M SergiUnited Kingdom2025-04-18Benton, John B Jr NEGOTIATION9Onyama Limba
1048Octavia C BriddickRussia2025-04-06Rangoni Of Florence QUALIFIED64Onyama Limba
1049Antonio H VocelkaRussia2025-04-03Truhlar And Truhlar Attys QUALIFIED46Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Adams L NestleIndiaXuxue Feng UNQUALIFIED
Leon E FerenczJapanAsiya Javayant UNQUALIFIED
Ricardo E CampainBrazilAmy Elsner NEW
Julie Q FigeroaBrazilOnyama Limba NEW
Morrow G PerinAustraliaStephen Shaw NEW
Mayumi N SergiJapanBernardo Dominic RENEWAL
Ashley W KolmetzItalyOnyama Limba PROPOSAL
Isabel I OldroydJapanIvan Magalhaes UNQUALIFIED
Wickens I MaletRussiaStephen Shaw NEW
Tony P GauchoRussiaStephen Shaw NEW
Julie J PaprockiArgentinaIvan Magalhaes NEGOTIATION
Tony Q SaylorsIndiaAnna Fali PROPOSAL
Munro K GarufiArgentinaAmy Elsner PROPOSAL
Aika M GauchoItalyIvan Magalhaes NEW
Ashley Z PoquetteItalyBernardo Dominic UNQUALIFIED
Greenwood A FerenczArgentinaIoni Bowcher QUALIFIED
Alejandro M BriddickRussiaAmy Elsner RENEWAL
Misaki O KuskoItalyAsiya Javayant NEGOTIATION
Leja B KolmetzAustraliaOnyama Limba NEW
Julie D VocelkaGermanyBernardo Dominic NEW
Ashley L GillianGermanyStephen Shaw PROPOSAL
Salvatore T MarrierArgentinaStephen Shaw UNQUALIFIED
Nicolas T AlbaresRussiaStephen Shaw RENEWAL
Jennifer L GillianArgentinaAmy Elsner UNQUALIFIED
Greenwood C ButtFranceAsiya Javayant PROPOSAL
Silvio Z MorascaJapanBernardo Dominic UNQUALIFIED
Munro L SaylorsBrazilIoni Bowcher RENEWAL
Munro N FerenczArgentinaIvan Magalhaes QUALIFIED
Adams S VocelkaUnited KingdomAnna Fali QUALIFIED
Faith O BriddickJapanOnyama Limba RENEWAL
Jeanfrancois O ChuiBrazilBernardo Dominic UNQUALIFIED
Alejandro R FollerFranceIvan Magalhaes PROPOSAL
Adams I GlickGermanyOnyama Limba PROPOSAL
Greenwood J FigeroaAustraliaElwin Sharvill NEGOTIATION
Alejandro L MarrierCanadaElwin Sharvill RENEWAL
Jones F BologniaCanadaStephen Shaw NEW
Francesco H GlickFranceStephen Shaw UNQUALIFIED
Morrow W KuskoIndiaAnna Fali PROPOSAL
Leon P DoeGermanyStephen Shaw PROPOSAL
Ricardo B SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Claire S ButtRussiaAsiya Javayant UNQUALIFIED
Morrow D PoquetteRussiaStephen Shaw QUALIFIED
Leon G CampainJapanXuxue Feng QUALIFIED
Salvatore L ShinkoCanadaElwin Sharvill UNQUALIFIED
Aruna E PoquetteCanadaStephen Shaw PROPOSAL
Munro J StensethArgentinaIoni Bowcher UNQUALIFIED
Claire N NickaAustraliaStephen Shaw UNQUALIFIED
Faith L DoeUnited KingdomAsiya Javayant QUALIFIED
Francesco G AlbaresRussiaAsiya Javayant NEW
Mujtaba J NickaArgentinaElwin Sharvill PROPOSAL
Frozen Columns
Name
Ricardo Z Nestle
Salvatore S Malet
Clifford Y Oldroyd
Munro A Flosi
Mujtaba M Garufi
Johnson Y Darakjy
Jennifer S Ruta
Octavia B Stockham
Mayumi T Rulapaugh
Ricardo O Marrier
Tony D Foller
Clifford K Glick
Aruna D Ferencz
Ricardo Y Dilliard
Greenwood G Rulapaugh
Faith P Perin
Jefferson F Albares
Morrow L Bolognia
Munro Y Malet
Aika R Caudy
Faith X Glick
Alejandro Y Schemmer
Rodrigues O Schemmer
Misaki G Saylors
Wickens Z Doe
Francesco S Chui
Wickens W Royster
James S Doe
Wickens K Garufi
Aika C Garufi
Isabel L Oldroyd
Kadeem A Stenseth
Kadeem O Maclead
Leon V Wieser
Nicolas V Rulapaugh
Smith P Vocelka
Maisha L Venere
Adams D Waycott
Kadeem R Ferencz
Kaitlin Y Caldarera
Cody O Royster
Claire E Albares
Morrow N Garufi
Mujtaba A Chui
Silvio P Figeroa
Johnson G Schemmer
Misaki X Stenseth
Clifford F Waycott
Kaitlin V Whobrey
Rodrigues A Marrier
IdCountryDate
1000United Kingdom2025-04-19
1001Japan2025-04-24
1002United Kingdom2025-04-23
1003Canada2025-04-10
1004Canada2025-04-26
1005Japan2025-04-21
1006Australia2025-04-07
1007United Kingdom2025-04-08
1008Spain2025-04-16
1009Italy2025-04-02
1010Germany2025-04-05
1011Italy2025-04-17
1012France2025-04-07
1013Germany2025-04-23
1014Spain2025-04-20
1015Germany2025-04-10
1016Brazil2025-04-26
1017Canada2025-04-02
1018Australia2025-04-22
1019India2025-04-04
1020Brazil2025-04-06
1021Japan2025-04-10
1022Japan2025-04-01
1023Spain2025-04-23
1024Spain2025-04-12
1025Japan2025-04-08
1026Australia2025-04-21
1027United Kingdom2025-04-05
1028Argentina2025-04-12
1029Brazil2025-04-17
1030India2025-04-26
1031Russia2025-04-10
1032Canada2025-04-13
1033Italy2025-04-25
1034Germany2025-04-28
1035Japan2025-04-23
1036Japan2025-04-05
1037Australia2025-04-16
1038India2025-04-21
1039United Kingdom2025-04-13
1040Australia2025-04-21
1041Brazil2025-04-20
1042India2025-04-07
1043Canada2025-04-17
1044United Kingdom2025-04-25
1045Italy2025-04-07
1046Germany2025-04-21
1047United Kingdom2025-04-03
1048India2025-04-27
1049India2025-04-05

On-Demand Data

NameIdCountryDate
Cody U Royster1000India2025-04-16
Murillo C Nestle1001Russia2025-04-09
Jennifer W Amigon1002Argentina2025-04-22
Deepesh Y Albares1003Canada2025-04-09
Ashley B Gillian1004Australia2025-04-19
Cody V Rim1005Australia2025-04-11
David D Rulapaugh1006United Kingdom2025-04-08
Adams L Vocelka1007Argentina2025-04-25
Tony S Flosi1008Spain2025-04-26
Sinclair O Shinko1009Germany2025-04-20
Maria Y Tollner1010Japan2025-04-19
Leon S Ferencz1011Russia2025-04-28
Morrow P Whobrey1012Argentina2025-04-06
James T Stenseth1013Spain2025-04-17
Mayumi L Amigon1014Brazil2025-04-25
Mayumi S Caudy1015Argentina2025-04-22
Smith M Dilliard1016Brazil2025-04-25
Smith N Chui1017Russia2025-04-16
Arvin B Glick1018Russia2025-04-09
Munro N Poquette1019France2025-04-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie V GlickUnited KingdomOnyama Limba UNQUALIFIED
Octavia K PerinUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas Z KolmetzJapanXuxue Feng QUALIFIED
Munro P OldroydGermanyAsiya Javayant NEGOTIATION
Stacey F BriddickGermanyAmy Elsner RENEWAL
Stacey D CaldareraJapanXuxue Feng RENEWAL
Jones I RimIndiaAsiya Javayant NEGOTIATION
Jefferson U AmigonJapanAsiya Javayant PROPOSAL
David I ShinkoCanadaElwin Sharvill QUALIFIED
Alejandro C MaletArgentinaOnyama Limba NEGOTIATION
Clifford Z RimCanadaIoni Bowcher NEGOTIATION
Maisha Z DarakjyJapanAnna Fali NEGOTIATION
Ivar H OldroydUnited KingdomIoni Bowcher QUALIFIED
Stacey W ShinkoIndiaIoni Bowcher NEW
Izzy T NickaGermanyBernardo Dominic QUALIFIED
Kadeem Q MarrierBrazilIvan Magalhaes QUALIFIED
Morrow Z SaylorsAustraliaAnna Fali RENEWAL
Sinclair C RutaBrazilXuxue Feng NEGOTIATION
Misaki F BowleyIndiaAmy Elsner QUALIFIED
Ricardo N GarufiItalyAmy Elsner UNQUALIFIED
Jennifer X DilliardJapanAmy Elsner RENEWAL
Ashley B RutaFranceIvan Magalhaes UNQUALIFIED
Alejandro T GauchoItalyXuxue Feng NEGOTIATION
Octavia F RulapaughUnited KingdomIoni Bowcher RENEWAL
Aruna Z FigeroaUnited KingdomAmy Elsner QUALIFIED
Kaitlin S MorascaIndiaIoni Bowcher NEGOTIATION
Arvin T BriddickCanadaElwin Sharvill NEW
Alejandro J BologniaCanadaStephen Shaw QUALIFIED
Emily X VenereFranceElwin Sharvill QUALIFIED
Nicolas F GauchoIndiaXuxue Feng PROPOSAL
Jefferson Y MarrierRussiaOnyama Limba NEGOTIATION
Cody Z OstroskyCanadaBernardo Dominic RENEWAL
Ashley Q StockhamArgentinaAmy Elsner NEW
Antonio D TollnerUnited KingdomAmy Elsner UNQUALIFIED
Leon V VocelkaSpainElwin Sharvill RENEWAL
Juan P BriddickCanadaBernardo Dominic PROPOSAL
Costa J VenereGermanyAsiya Javayant PROPOSAL
Maria T FigeroaBrazilOnyama Limba UNQUALIFIED
Francesco B DilliardJapanOnyama Limba UNQUALIFIED
James E WaycottRussiaAnna Fali 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>