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
Ricardo J BowleyUnited KingdomElwin Sharvill PROPOSAL
Claire E CaldareraUnited KingdomStephen Shaw NEGOTIATION
David B WieserAustraliaAmy Elsner UNQUALIFIED
Arvin N PerinSpainStephen Shaw QUALIFIED
Johnson A InouyeSpainAsiya Javayant UNQUALIFIED
Antonio Z DilliardBrazilIvan Magalhaes PROPOSAL
Jones Q SaylorsArgentinaIoni Bowcher NEGOTIATION
Ashley G MacleadFranceIoni Bowcher RENEWAL
James V PerinIndiaXuxue Feng PROPOSAL
Kadeem S PerinFranceAmy Elsner NEGOTIATION
Octavia Q KuskoGermanyIoni Bowcher NEW
Claire P GlickArgentinaXuxue Feng UNQUALIFIED
Ivar Q FerenczSpainBernardo Dominic NEGOTIATION
Murillo W AmigonGermanyIvan Magalhaes UNQUALIFIED
Wickens V RulapaughSpainAmy Elsner QUALIFIED
Arvin H StockhamRussiaStephen Shaw QUALIFIED
Clifford D CaudyArgentinaStephen Shaw PROPOSAL
Munro Y MaletItalyStephen Shaw QUALIFIED
Morrow L WhobreyRussiaAmy Elsner RENEWAL
Nicolas Q RimRussiaIvan Magalhaes PROPOSAL
Smith N PerinBrazilAmy Elsner QUALIFIED
Mayumi H MaletCanadaBernardo Dominic UNQUALIFIED
Ashley O DarakjyItalyBernardo Dominic NEW
Sinclair Q MarrierRussiaElwin Sharvill PROPOSAL
Deepesh U RoysterSpainAnna Fali NEGOTIATION
Cody H WhobreyRussiaAsiya Javayant RENEWAL
Antonio Y PaprockiJapanAmy Elsner QUALIFIED
Deepesh I ButtAustraliaXuxue Feng RENEWAL
Emily J FlosiFranceOnyama Limba QUALIFIED
Faith E FerenczJapanElwin Sharvill NEGOTIATION
Murillo H ShinkoCanadaXuxue Feng UNQUALIFIED
Aditya Q StensethArgentinaXuxue Feng RENEWAL
Alejandro G BologniaUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois H NickaJapanAnna Fali PROPOSAL
Darci O SchemmerArgentinaElwin Sharvill NEGOTIATION
Leja Y ChuiIndiaAsiya Javayant UNQUALIFIED
Jones U CaudyCanadaXuxue Feng UNQUALIFIED
Misaki R AlbaresJapanElwin Sharvill PROPOSAL
Aika Z StensethUnited KingdomAnna Fali UNQUALIFIED
Ricardo G WaycottArgentinaIvan Magalhaes PROPOSAL
Nicolas X MaletAustraliaAsiya Javayant UNQUALIFIED
Johnson O DarakjyArgentinaBernardo Dominic NEW
Jeanfrancois J MacleadCanadaXuxue Feng QUALIFIED
Jennifer D WieserArgentinaStephen Shaw QUALIFIED
Chavez I SergiAustraliaBernardo Dominic NEGOTIATION
Jennifer X MorascaRussiaAnna Fali UNQUALIFIED
Octavia N PaprockiFranceElwin Sharvill NEGOTIATION
David N GauchoItalyElwin Sharvill RENEWAL
James L TollnerAustraliaBernardo Dominic RENEWAL
Morrow W SaylorsIndiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer Q PaprockiCanadaAsiya Javayant RENEWAL
Nicolas D SlusarskiGermanyIoni Bowcher PROPOSAL
Morrow G AmigonBrazilOnyama Limba RENEWAL
Johnson P SaylorsItalyIvan Magalhaes NEGOTIATION
Costa F FerenczAustraliaStephen Shaw UNQUALIFIED
Leon E ShinkoJapanBernardo Dominic NEW
Clifford E CaldareraUnited KingdomStephen Shaw NEGOTIATION
Tony J ChuiBrazilAmy Elsner NEW
James T MorascaJapanStephen Shaw NEGOTIATION
Ivar O MorascaAustraliaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi T AlbaresArgentina2024-05-26Printing Dimensions UNQUALIFIED25Amy Elsner
1001Ricardo U PerinAustralia2024-05-25Dorl, James J Esq PROPOSAL14Amy Elsner
1002James S NestleJapan2024-05-16Morlong Associates UNQUALIFIED73Ivan Magalhaes
1003Mayumi Q ButtJapan2024-05-10Truhlar And Truhlar Attys UNQUALIFIED42Amy Elsner
1004Kaitlin A PaprockiItaly2024-05-22Morlong Associates PROPOSAL39Amy Elsner
1005Isabel W PoquetteCanada2024-05-26Chanay, Jeffrey A Esq QUALIFIED83Xuxue Feng
1006Kaitlin O SergiRussia2024-05-21Morlong Associates UNQUALIFIED83Ioni Bowcher
1007Aditya U RimBrazil2024-05-13Truhlar And Truhlar Attys PROPOSAL60Elwin Sharvill
1008Cody B MorascaGermany2024-04-28Benton, John B Jr UNQUALIFIED11Ivan Magalhaes
1009Aditya B VocelkaBrazil2024-05-15Printing Dimensions QUALIFIED83Xuxue Feng
1010Mayumi P GillianFrance2024-04-28Dorl, James J Esq QUALIFIED15Amy Elsner
1011Mayumi O SlusarskiIndia2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED49Onyama Limba
1012Misaki U FerenczIndia2024-05-21Chanay, Jeffrey A Esq PROPOSAL7Onyama Limba
1013Maria G ChuiJapan2024-05-13Chanay, Jeffrey A Esq NEW82Asiya Javayant
1014Ashley V PoquetteArgentina2024-05-12Dorl, James J Esq QUALIFIED65Anna Fali
1015Sinclair B GauchoBrazil2024-05-19Truhlar And Truhlar Attys UNQUALIFIED32Amy Elsner
1016Emily D DarakjyJapan2024-05-15Commercial Press NEGOTIATION78Xuxue Feng
1017Smith J PoquetteAustralia2024-05-02Feiner Bros RENEWAL98Xuxue Feng
1018Clifford B NestleAustralia2024-05-23Buckley Miller Wright QUALIFIED69Stephen Shaw
1019Smith V SaylorsFrance2024-05-19King, Christopher A Esq NEGOTIATION22Amy Elsner
1020Deepesh Z SergiRussia2024-04-30Morlong Associates NEGOTIATION16Onyama Limba
1021Clifford B CaldareraGermany2024-05-11Truhlar And Truhlar Attys UNQUALIFIED63Elwin Sharvill
1022James L SergiRussia2024-04-30Feltz Printing Service PROPOSAL89Asiya Javayant
1023Kadeem C CampainGermany2024-05-20King, Christopher A Esq PROPOSAL83Ioni Bowcher
1024Emily M OldroydAustralia2024-05-18Buckley Miller Wright NEGOTIATION9Bernardo Dominic
1025Julie M SaylorsIndia2024-05-06Truhlar And Truhlar Attys QUALIFIED15Anna Fali
1026Maria Y SlusarskiIndia2024-05-18Feltz Printing Service RENEWAL99Ivan Magalhaes
1027Greenwood H CampainFrance2024-05-07Feiner Bros NEW74Amy Elsner
1028Nicolas R AlbaresGermany2024-05-01Chanay, Jeffrey A Esq QUALIFIED37Stephen Shaw
1029Clifford R NickaAustralia2024-05-17Feltz Printing Service RENEWAL23Stephen Shaw
1030Maria E BowleyJapan2024-05-17Buckley Miller Wright PROPOSAL86Anna Fali
1031Deepesh J WhobreyBrazil2024-05-05Commercial Press NEGOTIATION50Elwin Sharvill
1032Maisha B KuskoRussia2024-05-18Chapman, Ross E Esq NEGOTIATION30Anna Fali
1033Alejandro Y MorascaJapan2024-05-03Dorl, James J Esq UNQUALIFIED9Elwin Sharvill
1034Maria E PaprockiUnited Kingdom2024-05-10Dorl, James J Esq UNQUALIFIED11Stephen Shaw
1035Morrow O SchemmerBrazil2024-05-23Benton, John B Jr PROPOSAL24Ioni Bowcher
1036Leja E AlbaresIndia2024-05-17Morlong Associates PROPOSAL8Ioni Bowcher
1037James D CampainFrance2024-05-27Feiner Bros PROPOSAL67Ioni Bowcher
1038Johnson N BowleyIndia2024-05-10Morlong Associates UNQUALIFIED8Elwin Sharvill
1039Jefferson P FigeroaSpain2024-05-03King, Christopher A Esq NEGOTIATION60Stephen Shaw
1040Leon A SaylorsFrance2024-05-22Printing Dimensions NEW45Anna Fali
1041Stacey E MaletFrance2024-05-01Feiner Bros UNQUALIFIED70Ioni Bowcher
1042Mayumi H AmigonArgentina2024-05-10Chapman, Ross E Esq QUALIFIED87Amy Elsner
1043Morrow C MacleadItaly2024-05-07King, Christopher A Esq QUALIFIED10Onyama Limba
1044Sinclair W WaycottAustralia2024-05-13King, Christopher A Esq RENEWAL72Stephen Shaw
1045Silvio F BowleySpain2024-05-20Commercial Press NEGOTIATION32Asiya Javayant
1046Arvin O WieserFrance2024-05-20Buckley Miller Wright UNQUALIFIED27Amy Elsner
1047Adams D WaycottSpain2024-05-06Dorl, James J Esq QUALIFIED61Ioni Bowcher
1048Silvio B ButtGermany2024-05-15Rousseaux, Michael Esq RENEWAL69Xuxue Feng
1049Salvatore N CampainItaly2024-05-19Feiner Bros NEGOTIATION12Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aruna N BologniaAustraliaIoni Bowcher RENEWAL
James T GlickCanadaAnna Fali PROPOSAL
Sinclair S VocelkaRussiaOnyama Limba RENEWAL
Misaki A GlickUnited KingdomIvan Magalhaes RENEWAL
Jones V FlosiAustraliaOnyama Limba RENEWAL
Salvatore L VocelkaAustraliaStephen Shaw UNQUALIFIED
Francesco A OstroskyArgentinaBernardo Dominic QUALIFIED
Aika Q MarrierAustraliaIvan Magalhaes NEGOTIATION
Octavia Z OstroskySpainIoni Bowcher NEGOTIATION
Ivar X CaldareraArgentinaStephen Shaw QUALIFIED
Alejandro Z ShinkoAustraliaXuxue Feng UNQUALIFIED
Kaitlin M CaudyGermanyOnyama Limba PROPOSAL
Adams Z RimSpainAmy Elsner PROPOSAL
Arvin V FlosiFranceElwin Sharvill NEW
Misaki L VenereFranceBernardo Dominic UNQUALIFIED
Salvatore E PerinBrazilAsiya Javayant NEW
Deepesh M BriddickJapanAnna Fali NEGOTIATION
Murillo L RulapaughSpainAsiya Javayant NEGOTIATION
Jones A StensethCanadaBernardo Dominic PROPOSAL
Mujtaba D DoeArgentinaElwin Sharvill UNQUALIFIED
David D IturbideJapanAsiya Javayant RENEWAL
Kadeem A RoysterAustraliaStephen Shaw PROPOSAL
Jeanfrancois U WieserAustraliaElwin Sharvill UNQUALIFIED
Kadeem U MorascaFranceBernardo Dominic NEW
Adams F GillianRussiaAsiya Javayant QUALIFIED
Antonio U VenereItalyElwin Sharvill PROPOSAL
Salvatore A StensethArgentinaAsiya Javayant NEGOTIATION
Leja X DilliardIndiaBernardo Dominic NEW
Maria E AmigonRussiaBernardo Dominic UNQUALIFIED
Smith K WaycottRussiaStephen Shaw PROPOSAL
Leja R CampainUnited KingdomAnna Fali RENEWAL
Tony F PerinBrazilIoni Bowcher QUALIFIED
Antonio S RutaFranceIvan Magalhaes QUALIFIED
Cody S MacleadSpainAnna Fali UNQUALIFIED
Juan U GarufiRussiaIvan Magalhaes PROPOSAL
Ivar U BriddickItalyElwin Sharvill PROPOSAL
Mujtaba K SlusarskiAustraliaIoni Bowcher NEW
David D ChuiJapanOnyama Limba RENEWAL
Wickens F ButtIndiaIoni Bowcher PROPOSAL
Kaitlin B OstroskyFranceAmy Elsner QUALIFIED
Nicolas P NestleGermanyIoni Bowcher RENEWAL
Jones T VenereBrazilElwin Sharvill PROPOSAL
Ricardo O PoquetteFranceAmy Elsner QUALIFIED
Kadeem K OstroskyGermanyIoni Bowcher NEGOTIATION
Rodrigues W ButtUnited KingdomIvan Magalhaes UNQUALIFIED
Aika T PaprockiUnited KingdomElwin Sharvill PROPOSAL
Silvio R ShinkoSpainIoni Bowcher UNQUALIFIED
Kadeem Y GlickGermanyIvan Magalhaes NEW
Faith V DarakjyArgentinaOnyama Limba PROPOSAL
Francesco V GillianAustraliaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Kaitlin D Schemmer
Chavez C Ferencz
Adams L Saylors
Alejandro T Ruta
Cody U Stenseth
Darci S Iturbide
Jeanfrancois K Perin
James G Paprocki
Adams F Glick
Chavez Q Morasca
Aruna D Glick
Maria J Iturbide
Leon L Maclead
Leja Z Paprocki
Sinclair M Kusko
Kadeem A Figeroa
Jefferson X Butt
Jennifer T Garufi
Clifford G Perin
Cody J Gillian
Claire V Tollner
Ashley P Flosi
Smith I Rim
Aditya Y Oldroyd
Arvin T Morasca
Deepesh F Doe
Morrow U Inouye
Sinclair Z Marrier
Silvio V Dilliard
Aika H Rulapaugh
Cody W Caldarera
Darci C Stockham
Aika Z Whobrey
Nicolas Y Doe
Leon N Caldarera
Sinclair J Slusarski
Maria K Doe
David A Venere
Ricardo J Ruta
Clifford C Bowley
Wickens S Saylors
Greenwood X Slusarski
Emily W Kolmetz
Maria Y Foller
Ricardo J Chui
Cody V Paprocki
Jeanfrancois V Iturbide
Jeanfrancois X Malet
Julie P Doe
Juan H Iturbide
IdCountryDate
1000India2024-05-24
1001United Kingdom2024-05-12
1002Canada2024-05-22
1003India2024-05-18
1004Argentina2024-05-09
1005Germany2024-05-01
1006India2024-05-07
1007Russia2024-05-04
1008Japan2024-04-28
1009Japan2024-05-23
1010Canada2024-05-14
1011Argentina2024-05-02
1012Italy2024-05-07
1013Argentina2024-04-30
1014Argentina2024-05-12
1015Argentina2024-05-10
1016Spain2024-05-07
1017Australia2024-05-24
1018United Kingdom2024-05-10
1019France2024-04-30
1020France2024-05-01
1021Brazil2024-05-10
1022Spain2024-05-18
1023Spain2024-05-04
1024United Kingdom2024-05-01
1025Canada2024-05-14
1026Brazil2024-05-06
1027Brazil2024-05-22
1028Italy2024-05-26
1029Germany2024-04-30
1030Argentina2024-05-06
1031Argentina2024-05-22
1032Italy2024-05-13
1033Russia2024-05-22
1034Australia2024-05-19
1035Japan2024-05-17
1036Argentina2024-05-04
1037Russia2024-05-07
1038Brazil2024-05-20
1039France2024-04-30
1040United Kingdom2024-05-25
1041Russia2024-05-26
1042Spain2024-05-26
1043Russia2024-05-05
1044Spain2024-05-14
1045Germany2024-05-17
1046Argentina2024-05-15
1047United Kingdom2024-05-01
1048India2024-05-17
1049Germany2024-05-19

On-Demand Data

NameIdCountryDate
Stacey S Morasca1000Canada2024-05-21
Ricardo T Garufi1001Brazil2024-05-27
Antonio W Malet1002Australia2024-05-19
Francesco O Flosi1003Argentina2024-05-23
Silvio C Rim1004Argentina2024-05-20
Deepesh C Ferencz1005Japan2024-05-19
Ricardo J Ruta1006Australia2024-05-27
Maisha Y Ruta1007Japan2024-05-19
James B Sergi1008Japan2024-04-28
Misaki G Caldarera1009Brazil2024-04-29
Maria Q Marrier1010Italy2024-05-18
Claire B Paprocki1011United Kingdom2024-05-05
Clifford I Flosi1012Brazil2024-05-09
Maria A Caudy1013Spain2024-05-04
Jones I Paprocki1014Australia2024-05-01
Jennifer M Iturbide1015India2024-05-20
Ivar L Paprocki1016Brazil2024-05-26
Silvio X Foller1017Russia2024-05-19
Aditya Q Nicka1018United Kingdom2024-05-15
Leon R Glick1019Canada2024-05-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez S ButtArgentinaBernardo Dominic RENEWAL
Ricardo T BologniaCanadaAsiya Javayant PROPOSAL
James R CaudyIndiaAmy Elsner QUALIFIED
Aika K NickaRussiaBernardo Dominic NEW
Leja I FollerAustraliaAnna Fali QUALIFIED
Ivar Y DoeArgentinaXuxue Feng QUALIFIED
Kaitlin Q StockhamIndiaBernardo Dominic PROPOSAL
Antonio M MaletArgentinaBernardo Dominic NEGOTIATION
Tony Y CaudyArgentinaOnyama Limba NEW
Julie H GillianCanadaElwin Sharvill QUALIFIED
Mujtaba A OstroskyGermanyAnna Fali PROPOSAL
Smith U FlosiUnited KingdomBernardo Dominic RENEWAL
Aika Z WieserCanadaXuxue Feng PROPOSAL
Munro M AlbaresAustraliaStephen Shaw NEGOTIATION
Morrow H BriddickIndiaAsiya Javayant NEGOTIATION
Wickens L FollerFranceStephen Shaw NEW
Jefferson R SchemmerSpainAnna Fali PROPOSAL
Emily Y FigeroaFranceStephen Shaw RENEWAL
Juan N RimIndiaElwin Sharvill RENEWAL
Arvin D RutaGermanyBernardo Dominic UNQUALIFIED
Alejandro H MaletIndiaAmy Elsner RENEWAL
Wickens U BowleyCanadaAmy Elsner QUALIFIED
Jones G CampainSpainAsiya Javayant NEGOTIATION
Mujtaba J InouyeUnited KingdomAmy Elsner PROPOSAL
Alejandro X MarrierArgentinaIoni Bowcher UNQUALIFIED
Nicolas G CaldareraJapanElwin Sharvill UNQUALIFIED
Izzy M SlusarskiIndiaElwin Sharvill RENEWAL
Emily M WhobreyBrazilElwin Sharvill NEGOTIATION
Ricardo X ChuiFranceXuxue Feng PROPOSAL
Aditya Z WaycottFranceIvan Magalhaes UNQUALIFIED
Octavia T KolmetzAustraliaIoni Bowcher RENEWAL
Maisha N StockhamFranceOnyama Limba UNQUALIFIED
Darci M CampainIndiaBernardo Dominic PROPOSAL
Leon E SlusarskiIndiaIoni Bowcher NEGOTIATION
Jeanfrancois L GarufiSpainOnyama Limba NEW
Maria S ButtRussiaIvan Magalhaes NEW
Tony J OldroydGermanyIvan Magalhaes PROPOSAL
Chavez Y OstroskyRussiaElwin Sharvill QUALIFIED
Johnson Q PerinIndiaStephen Shaw PROPOSAL
Arvin Q MaletRussiaElwin Sharvill 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>