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
Salvatore Q OldroydBrazilIvan Magalhaes PROPOSAL
Juan C GlickSpainOnyama Limba PROPOSAL
Nicolas Y BologniaItalyXuxue Feng PROPOSAL
Jeanfrancois N DarakjyIndiaAmy Elsner QUALIFIED
Jeanfrancois O NickaBrazilOnyama Limba RENEWAL
Maisha C PoquetteSpainAsiya Javayant QUALIFIED
Chavez Y MaletAustraliaAsiya Javayant RENEWAL
Morrow C InouyeUnited KingdomBernardo Dominic RENEWAL
Silvio H MorascaBrazilAmy Elsner NEW
Antonio V OstroskyFranceAsiya Javayant PROPOSAL
Munro R CampainFranceElwin Sharvill UNQUALIFIED
Ivar N CaudyCanadaBernardo Dominic UNQUALIFIED
Rodrigues N VenereJapanOnyama Limba NEGOTIATION
Munro P BologniaRussiaBernardo Dominic UNQUALIFIED
Maisha J FerenczJapanOnyama Limba UNQUALIFIED
Rodrigues P OstroskyArgentinaIoni Bowcher UNQUALIFIED
Jones A FollerCanadaElwin Sharvill NEGOTIATION
Clifford V AmigonSpainOnyama Limba NEW
Claire P AmigonAustraliaElwin Sharvill NEW
Deepesh C SaylorsFranceOnyama Limba PROPOSAL
Nicolas Z MorascaJapanXuxue Feng RENEWAL
Izzy V BowleyIndiaIoni Bowcher NEGOTIATION
Smith C GlickSpainAnna Fali UNQUALIFIED
Julie D RimFranceBernardo Dominic PROPOSAL
Deepesh K GillianSpainStephen Shaw QUALIFIED
Ricardo P GauchoSpainStephen Shaw RENEWAL
Alejandro D DoeJapanAmy Elsner PROPOSAL
Aika L OldroydCanadaOnyama Limba UNQUALIFIED
Jennifer R GauchoAustraliaBernardo Dominic NEW
Alejandro H CampainAustraliaIoni Bowcher NEGOTIATION
James I BologniaAustraliaBernardo Dominic NEW
Izzy D VenereSpainBernardo Dominic NEGOTIATION
Alejandro T WaycottFranceOnyama Limba NEW
Greenwood X ShinkoUnited KingdomAmy Elsner PROPOSAL
Aika W WhobreyFranceIoni Bowcher NEGOTIATION
Morrow Y RimItalyOnyama Limba NEGOTIATION
Smith U DoeCanadaElwin Sharvill NEW
Ivar X GauchoSpainIoni Bowcher QUALIFIED
Salvatore Y DarakjySpainAmy Elsner QUALIFIED
Wickens K ChuiFranceIvan Magalhaes NEW
Aruna T IturbideIndiaElwin Sharvill PROPOSAL
Francesco K MaletFranceAnna Fali NEGOTIATION
Deepesh M BowleyAustraliaXuxue Feng QUALIFIED
Deepesh Y MacleadRussiaIoni Bowcher NEW
Stacey Q RulapaughItalyBernardo Dominic PROPOSAL
Mujtaba L OldroydCanadaBernardo Dominic QUALIFIED
Izzy O OldroydSpainAmy Elsner NEW
Emily F ChuiJapanIvan Magalhaes RENEWAL
Jefferson Q FlosiGermanyBernardo Dominic RENEWAL
Emily U StockhamItalyIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba Z DilliardIndiaAmy Elsner UNQUALIFIED
Adams J RimItalyAmy Elsner QUALIFIED
Octavia Y TollnerIndiaIvan Magalhaes PROPOSAL
Aditya T PerinSpainAmy Elsner NEGOTIATION
Faith F InouyeGermanyAnna Fali UNQUALIFIED
Kaitlin V PoquetteUnited KingdomAmy Elsner NEW
Jones N CampainRussiaIoni Bowcher NEGOTIATION
James R KuskoUnited KingdomStephen Shaw QUALIFIED
Aika L KolmetzJapanAmy Elsner NEW
Adams S ChuiArgentinaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha C PerinRussia2024-06-14Rousseaux, Michael Esq UNQUALIFIED39Stephen Shaw
1001Adams M MorascaBrazil2024-06-12Chapman, Ross E Esq PROPOSAL42Ivan Magalhaes
1002Ricardo Z WaycottCanada2024-06-08King, Christopher A Esq PROPOSAL62Elwin Sharvill
1003Julie C SergiFrance2024-06-19Chapman, Ross E Esq RENEWAL74Onyama Limba
1004Jefferson K SaylorsArgentina2024-06-18Buckley Miller Wright PROPOSAL50Ioni Bowcher
1005Munro A DilliardJapan2024-06-06Chanay, Jeffrey A Esq RENEWAL28Ioni Bowcher
1006Ashley U NestleBrazil2024-06-07Truhlar And Truhlar Attys UNQUALIFIED72Stephen Shaw
1007Emily M WaycottRussia2024-06-16Commercial Press NEW46Amy Elsner
1008Sinclair U BowleyFrance2024-06-02Chemel, James L Cpa RENEWAL29Stephen Shaw
1009Chavez G DilliardFrance2024-06-17Rangoni Of Florence RENEWAL49Amy Elsner
1010Deepesh G GillianUnited Kingdom2024-06-08Feiner Bros PROPOSAL93Stephen Shaw
1011Clifford I PoquetteIndia2024-06-21Chapman, Ross E Esq UNQUALIFIED5Asiya Javayant
1012Rodrigues B BriddickIndia2024-06-09Morlong Associates RENEWAL79Amy Elsner
1013Morrow R FollerBrazil2024-06-17Truhlar And Truhlar Attys PROPOSAL9Elwin Sharvill
1014Tony W CaldareraUnited Kingdom2024-05-27Commercial Press RENEWAL0Ivan Magalhaes
1015Rodrigues H WhobreyAustralia2024-06-13Chemel, James L Cpa QUALIFIED1Asiya Javayant
1016Deepesh T GlickFrance2024-06-01King, Christopher A Esq UNQUALIFIED59Stephen Shaw
1017Johnson J RoysterItaly2024-06-07Feltz Printing Service RENEWAL76Stephen Shaw
1018Leon E RoysterSpain2024-06-13Chapman, Ross E Esq PROPOSAL63Bernardo Dominic
1019Faith J BriddickArgentina2024-06-09Buckley Miller Wright NEGOTIATION25Onyama Limba
1020Isabel J OldroydUnited Kingdom2024-06-17King, Christopher A Esq NEW44Ivan Magalhaes
1021Mayumi N NickaCanada2024-06-09Rangoni Of Florence NEGOTIATION40Ioni Bowcher
1022Clifford S OstroskyIndia2024-06-03Chanay, Jeffrey A Esq PROPOSAL1Stephen Shaw
1023Darci V KolmetzIndia2024-06-16Truhlar And Truhlar Attys QUALIFIED3Anna Fali
1024Jefferson F RutaUnited Kingdom2024-06-23Rousseaux, Michael Esq RENEWAL73Ivan Magalhaes
1025Leon D AmigonRussia2024-06-13Benton, John B Jr RENEWAL65Asiya Javayant
1026Tony Y FigeroaGermany2024-06-03Feiner Bros PROPOSAL55Onyama Limba
1027Smith U MarrierJapan2024-06-06Morlong Associates UNQUALIFIED42Stephen Shaw
1028Costa P FerenczIndia2024-06-03Rangoni Of Florence NEGOTIATION0Bernardo Dominic
1029Alejandro Z RimJapan2024-06-20Feltz Printing Service PROPOSAL87Asiya Javayant
1030Faith H SergiUnited Kingdom2024-05-27Chapman, Ross E Esq QUALIFIED83Ivan Magalhaes
1031Jones S AlbaresCanada2024-06-21Chanay, Jeffrey A Esq PROPOSAL1Amy Elsner
1032Claire A RutaFrance2024-06-22Dorl, James J Esq RENEWAL54Elwin Sharvill
1033Jones V OldroydAustralia2024-06-21Benton, John B Jr NEW64Ioni Bowcher
1034Deepesh D PaprockiItaly2024-06-07Truhlar And Truhlar Attys PROPOSAL25Onyama Limba
1035Jennifer U CaldareraJapan2024-06-19Truhlar And Truhlar Attys PROPOSAL0Anna Fali
1036Maisha L PoquetteRussia2024-06-17Buckley Miller Wright QUALIFIED52Xuxue Feng
1037Johnson U MaletRussia2024-06-23Chapman, Ross E Esq PROPOSAL68Asiya Javayant
1038Faith E PaprockiAustralia2024-06-02Dorl, James J Esq PROPOSAL51Stephen Shaw
1039Maisha I CampainIndia2024-06-06Printing Dimensions UNQUALIFIED37Bernardo Dominic
1040Faith V NestleGermany2024-06-23Chemel, James L Cpa RENEWAL61Anna Fali
1041Munro Z AlbaresFrance2024-06-01Dorl, James J Esq UNQUALIFIED54Elwin Sharvill
1042Claire C WaycottItaly2024-06-24Truhlar And Truhlar Attys PROPOSAL72Onyama Limba
1043Darci H VenereFrance2024-06-13Feiner Bros UNQUALIFIED48Amy Elsner
1044Smith F SaylorsAustralia2024-06-07Morlong Associates RENEWAL40Ioni Bowcher
1045Chavez I BriddickJapan2024-06-19Chanay, Jeffrey A Esq QUALIFIED59Xuxue Feng
1046David I ShinkoGermany2024-06-08Feiner Bros RENEWAL3Onyama Limba
1047Rodrigues W SaylorsArgentina2024-06-21Chapman, Ross E Esq NEW92Ivan Magalhaes
1048Mujtaba T OldroydFrance2024-06-24Truhlar And Truhlar Attys QUALIFIED67Ivan Magalhaes
1049Octavia O GlickBrazil2024-06-17Rangoni Of Florence QUALIFIED32Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Morrow L ButtFranceXuxue Feng UNQUALIFIED
Tony U PaprockiIndiaIoni Bowcher RENEWAL
Tony M SergiBrazilIoni Bowcher PROPOSAL
Ivar Z KuskoSpainAsiya Javayant PROPOSAL
Aditya M RoysterArgentinaXuxue Feng PROPOSAL
Darci A AmigonBrazilAsiya Javayant QUALIFIED
Smith T WhobreyUnited KingdomIvan Magalhaes UNQUALIFIED
Juan G MaletArgentinaAsiya Javayant RENEWAL
Sinclair W GauchoSpainElwin Sharvill QUALIFIED
Juan Z SchemmerAustraliaAsiya Javayant UNQUALIFIED
Smith H OstroskyIndiaIoni Bowcher UNQUALIFIED
Mayumi Z NickaAustraliaElwin Sharvill NEGOTIATION
Emily N MaletAustraliaAmy Elsner NEW
Ricardo F RoysterUnited KingdomBernardo Dominic PROPOSAL
Emily A TollnerSpainElwin Sharvill QUALIFIED
Clifford G BriddickCanadaIvan Magalhaes QUALIFIED
Jones R SlusarskiArgentinaStephen Shaw PROPOSAL
Rodrigues N BologniaFranceIvan Magalhaes UNQUALIFIED
Ricardo G IturbideBrazilBernardo Dominic NEW
Aika J VocelkaUnited KingdomElwin Sharvill NEGOTIATION
Aditya O RutaSpainOnyama Limba QUALIFIED
Alejandro T VocelkaBrazilXuxue Feng RENEWAL
Cody O DarakjyFranceXuxue Feng PROPOSAL
Jefferson S MorascaRussiaStephen Shaw RENEWAL
Smith J IturbideJapanElwin Sharvill NEW
Greenwood M MaletUnited KingdomXuxue Feng QUALIFIED
Johnson S RimFranceStephen Shaw QUALIFIED
Ricardo K TollnerArgentinaAnna Fali NEW
Clifford W KuskoAustraliaXuxue Feng PROPOSAL
Antonio G RoysterSpainIoni Bowcher RENEWAL
Arvin X RutaUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois R GarufiRussiaAnna Fali QUALIFIED
Chavez B RulapaughAustraliaAsiya Javayant UNQUALIFIED
Julie G GlickItalyIoni Bowcher NEGOTIATION
Octavia L FigeroaUnited KingdomAsiya Javayant NEW
Greenwood Q PerinItalyStephen Shaw NEGOTIATION
Kadeem K RutaUnited KingdomAnna Fali UNQUALIFIED
Jones B PaprockiIndiaBernardo Dominic PROPOSAL
Salvatore B RimUnited KingdomAsiya Javayant RENEWAL
Maisha L MaletRussiaOnyama Limba QUALIFIED
Julie X InouyeCanadaAnna Fali UNQUALIFIED
Smith Z StockhamCanadaIvan Magalhaes NEW
Misaki N DoeBrazilAmy Elsner PROPOSAL
Jennifer Q FerenczAustraliaIvan Magalhaes NEW
Nicolas D SlusarskiJapanElwin Sharvill NEGOTIATION
Smith R IturbideGermanyXuxue Feng PROPOSAL
Ivar J DilliardItalyIvan Magalhaes UNQUALIFIED
Jefferson G ButtRussiaIvan Magalhaes UNQUALIFIED
Rodrigues V ButtUnited KingdomElwin Sharvill QUALIFIED
Maisha Q OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Aditya D Nestle
Sinclair W Iturbide
Johnson G Amigon
Costa B Perin
Izzy Z Slusarski
Nicolas V Venere
Rodrigues H Foller
Kaitlin W Slusarski
Adams U Flosi
Jefferson W Paprocki
Jennifer B Caldarera
Arvin R Oldroyd
Claire J Glick
Salvatore P Ferencz
Aditya Y Rim
Faith M Inouye
Aruna N Oldroyd
Juan X Amigon
Greenwood E Flosi
Jefferson C Waycott
Salvatore S Nestle
Murillo B Bowley
Jennifer E Marrier
Rodrigues X Rim
David W Paprocki
Costa J Bolognia
Mayumi W Vocelka
Jennifer M Wieser
Sinclair H Saylors
Cody O Stenseth
Johnson M Oldroyd
Johnson U Bowley
Murillo N Waycott
Wickens P Oldroyd
Silvio T Glick
Emily U Shinko
Jones S Ruta
Adams L Briddick
Greenwood N Albares
David H Ferencz
Aditya Y Oldroyd
Leon J Iturbide
James C Bolognia
Munro A Wieser
Jefferson Q Butt
Johnson S Schemmer
Cody H Kusko
Stacey W Perin
Isabel V Slusarski
Ricardo N Wieser
IdCountryDate
1000United Kingdom2024-06-04
1001United Kingdom2024-06-09
1002Australia2024-06-21
1003Spain2024-06-12
1004Brazil2024-06-03
1005Russia2024-05-27
1006Germany2024-06-07
1007United Kingdom2024-06-16
1008Russia2024-06-05
1009Argentina2024-06-21
1010India2024-06-19
1011Russia2024-06-02
1012Australia2024-06-20
1013United Kingdom2024-06-13
1014Japan2024-05-30
1015France2024-06-07
1016Japan2024-06-19
1017India2024-06-11
1018Japan2024-06-10
1019Italy2024-06-06
1020India2024-06-18
1021Brazil2024-06-16
1022Germany2024-06-05
1023Australia2024-06-06
1024Italy2024-06-19
1025France2024-06-15
1026Italy2024-06-04
1027Spain2024-06-04
1028Italy2024-06-06
1029Japan2024-06-05
1030Argentina2024-05-31
1031United Kingdom2024-06-07
1032Germany2024-06-18
1033Argentina2024-06-21
1034Germany2024-06-09
1035Russia2024-06-05
1036Argentina2024-06-13
1037Spain2024-06-05
1038Argentina2024-06-08
1039Italy2024-06-18
1040Italy2024-05-26
1041Germany2024-06-03
1042Argentina2024-05-28
1043Spain2024-05-31
1044Brazil2024-06-02
1045Brazil2024-05-28
1046Canada2024-06-14
1047Japan2024-06-12
1048Argentina2024-06-11
1049Argentina2024-05-30

On-Demand Data

NameIdCountryDate
Julie H Stenseth1000India2024-06-24
Nicolas Z Rulapaugh1001Canada2024-06-16
Johnson O Whobrey1002Japan2024-06-01
Wickens H Rulapaugh1003Germany2024-06-01
Rodrigues I Royster1004Argentina2024-06-10
Greenwood I Glick1005Japan2024-06-12
Jones D Bowley1006Russia2024-06-07
James W Stenseth1007Argentina2024-06-05
Murillo Q Morasca1008Spain2024-06-20
Johnson Q Shinko1009United Kingdom2024-06-23
Deepesh O Maclead1010Italy2024-06-18
Stacey U Ostrosky1011Germany2024-06-10
Maria G Garufi1012Germany2024-06-16
Ivar E Perin1013Canada2024-06-02
Ivar S Iturbide1014United Kingdom2024-05-30
Mayumi C Nicka1015Russia2024-06-22
Misaki R Glick1016India2024-06-23
Kadeem A Royster1017Italy2024-06-12
Ashley L Bolognia1018Australia2024-06-18
Emily G Briddick1019Argentina2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba T OldroydAustraliaBernardo Dominic RENEWAL
Jeanfrancois K DarakjyRussiaBernardo Dominic NEGOTIATION
Jefferson I BowleyIndiaStephen Shaw UNQUALIFIED
Aditya I OldroydRussiaStephen Shaw UNQUALIFIED
Murillo J CampainAustraliaIoni Bowcher UNQUALIFIED
Misaki Y MacleadSpainElwin Sharvill NEGOTIATION
Aruna B KuskoGermanyXuxue Feng NEGOTIATION
Isabel M CampainGermanyAnna Fali NEGOTIATION
Deepesh G StensethJapanBernardo Dominic QUALIFIED
Julie B FollerSpainAsiya Javayant NEGOTIATION
Arvin Q MarrierArgentinaAnna Fali RENEWAL
Maria I WaycottArgentinaAsiya Javayant PROPOSAL
Clifford J StockhamJapanAnna Fali NEGOTIATION
Adams Q PoquetteGermanyAsiya Javayant PROPOSAL
Leja V SchemmerRussiaStephen Shaw NEW
James I MarrierCanadaIoni Bowcher NEGOTIATION
Alejandro L AmigonUnited KingdomAsiya Javayant QUALIFIED
Cody S MaletIndiaIvan Magalhaes PROPOSAL
Jeanfrancois A FigeroaCanadaAmy Elsner QUALIFIED
Kaitlin Z StockhamFranceIvan Magalhaes NEGOTIATION
Aditya T ButtAustraliaElwin Sharvill PROPOSAL
Jones H FigeroaCanadaOnyama Limba RENEWAL
Tony J MaletCanadaXuxue Feng QUALIFIED
Julie U OstroskyBrazilElwin Sharvill NEW
Alejandro V RimGermanyAsiya Javayant QUALIFIED
Morrow E MacleadUnited KingdomAnna Fali QUALIFIED
Costa S OldroydCanadaStephen Shaw NEW
Murillo N KuskoAustraliaXuxue Feng NEGOTIATION
Silvio L OldroydArgentinaIoni Bowcher NEW
Johnson Z DoeBrazilAmy Elsner PROPOSAL
Nicolas F SergiGermanyOnyama Limba QUALIFIED
Francesco O KolmetzIndiaXuxue Feng QUALIFIED
Jeanfrancois M GarufiUnited KingdomAsiya Javayant UNQUALIFIED
Johnson W GarufiSpainAnna Fali RENEWAL
Murillo N PerinRussiaElwin Sharvill PROPOSAL
Wickens N FollerBrazilAmy Elsner QUALIFIED
Alejandro P WieserCanadaAsiya Javayant UNQUALIFIED
Izzy P KolmetzAustraliaOnyama Limba NEW
Maisha K GarufiItalyAmy Elsner QUALIFIED
Juan J WieserItalyIoni Bowcher NEW

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