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
Isabel H ButtGermanyAnna Fali NEW
James Z InouyeAustraliaAnna Fali NEW
Darci T PaprockiGermanyAmy Elsner PROPOSAL
Silvio G GlickIndiaAmy Elsner QUALIFIED
Leja K CampainFranceElwin Sharvill UNQUALIFIED
Isabel S WaycottBrazilXuxue Feng NEGOTIATION
Arvin D DoeSpainIoni Bowcher UNQUALIFIED
Ashley L OstroskyRussiaAsiya Javayant NEGOTIATION
Cody Y SaylorsBrazilAsiya Javayant PROPOSAL
Adams X VenereGermanyElwin Sharvill PROPOSAL
Cody Q WieserRussiaOnyama Limba UNQUALIFIED
Ivar Q GlickRussiaXuxue Feng QUALIFIED
James C ChuiRussiaOnyama Limba QUALIFIED
Darci H FlosiCanadaElwin Sharvill NEGOTIATION
Alejandro L MaletGermanyAsiya Javayant NEW
Chavez D OstroskyGermanyAmy Elsner NEGOTIATION
Francesco I PaprockiIndiaXuxue Feng PROPOSAL
Wickens R FollerSpainXuxue Feng PROPOSAL
Murillo A CampainCanadaXuxue Feng QUALIFIED
Deepesh Y BowleyAustraliaAmy Elsner RENEWAL
Mujtaba H RulapaughJapanXuxue Feng NEGOTIATION
Kadeem O MaletUnited KingdomStephen Shaw NEGOTIATION
Misaki M SlusarskiBrazilIoni Bowcher RENEWAL
Francesco N PaprockiCanadaOnyama Limba NEW
Juan E SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Murillo K NestleRussiaIoni Bowcher PROPOSAL
Salvatore W RulapaughAustraliaBernardo Dominic NEGOTIATION
Rodrigues R AmigonFranceIvan Magalhaes RENEWAL
Faith G OldroydItalyIoni Bowcher PROPOSAL
Cody I OstroskyAustraliaBernardo Dominic NEW
Octavia G DarakjyFranceXuxue Feng NEGOTIATION
Jennifer A RimJapanAsiya Javayant PROPOSAL
Jones C ButtUnited KingdomBernardo Dominic RENEWAL
Leja F WieserSpainStephen Shaw QUALIFIED
Silvio M FigeroaSpainBernardo Dominic RENEWAL
Jeanfrancois I CampainCanadaOnyama Limba NEGOTIATION
Sinclair D DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Aruna O OldroydRussiaStephen Shaw RENEWAL
Greenwood E RoysterItalyAnna Fali NEGOTIATION
Leon P WieserGermanyIoni Bowcher PROPOSAL
Aruna H ShinkoAustraliaIvan Magalhaes QUALIFIED
Leon T RulapaughArgentinaAmy Elsner NEGOTIATION
Aditya K WaycottJapanXuxue Feng QUALIFIED
Morrow Q BriddickJapanOnyama Limba NEW
Rodrigues Q DilliardJapanAsiya Javayant QUALIFIED
Jones L DilliardUnited KingdomOnyama Limba UNQUALIFIED
Claire T CampainIndiaOnyama Limba PROPOSAL
Aruna V MaletBrazilStephen Shaw UNQUALIFIED
Juan M CampainFranceXuxue Feng UNQUALIFIED
Sinclair O CaudyArgentinaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem Z KolmetzUnited KingdomXuxue Feng QUALIFIED
Leja U PerinJapanOnyama Limba NEW
Misaki A PerinArgentinaXuxue Feng NEGOTIATION
Claire B PaprockiFranceXuxue Feng QUALIFIED
Octavia A VocelkaUnited KingdomAnna Fali RENEWAL
Aika I SlusarskiRussiaAsiya Javayant NEGOTIATION
Tony E SergiSpainXuxue Feng QUALIFIED
Cody R AlbaresItalyAsiya Javayant QUALIFIED
Darci R RulapaughGermanyElwin Sharvill PROPOSAL
Emily O BriddickUnited KingdomIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy E MaletIndia2024-06-05Feiner Bros QUALIFIED86Stephen Shaw
1001Maisha L WhobreyAustralia2024-06-19Benton, John B Jr NEW1Stephen Shaw
1002Arvin X StensethSpain2024-06-10Truhlar And Truhlar Attys PROPOSAL30Elwin Sharvill
1003Jennifer Q StockhamAustralia2024-05-30Chapman, Ross E Esq NEW59Amy Elsner
1004Costa X DoeJapan2024-06-21King, Christopher A Esq UNQUALIFIED25Bernardo Dominic
1005Ivar M SaylorsCanada2024-06-17Rangoni Of Florence QUALIFIED63Asiya Javayant
1006Izzy C FollerFrance2024-06-11King, Christopher A Esq UNQUALIFIED72Anna Fali
1007Arvin X MaletFrance2024-05-30Dorl, James J Esq NEW29Anna Fali
1008Misaki P FerenczAustralia2024-06-14Printing Dimensions NEW54Onyama Limba
1009Emily H MorascaSpain2024-05-23Rousseaux, Michael Esq PROPOSAL16Ivan Magalhaes
1010Ricardo B StensethSpain2024-06-05Truhlar And Truhlar Attys UNQUALIFIED16Stephen Shaw
1011Ricardo Y KolmetzSpain2024-06-01Benton, John B Jr RENEWAL46Xuxue Feng
1012Alejandro O PaprockiGermany2024-06-08Printing Dimensions PROPOSAL15Stephen Shaw
1013Clifford Z DoeAustralia2024-06-04King, Christopher A Esq QUALIFIED86Onyama Limba
1014Deepesh X KuskoRussia2024-06-05Benton, John B Jr NEW5Ioni Bowcher
1015Ricardo B PerinUnited Kingdom2024-06-02Feltz Printing Service QUALIFIED88Asiya Javayant
1016Kaitlin R StockhamItaly2024-05-25Commercial Press PROPOSAL3Ioni Bowcher
1017Isabel U GillianUnited Kingdom2024-06-04Rousseaux, Michael Esq NEW47Elwin Sharvill
1018Jones R GlickRussia2024-06-08King, Christopher A Esq PROPOSAL61Bernardo Dominic
1019Izzy X SchemmerUnited Kingdom2024-06-18Truhlar And Truhlar Attys UNQUALIFIED43Ioni Bowcher
1020Clifford P NestleSpain2024-05-27Printing Dimensions NEGOTIATION94Bernardo Dominic
1021Mujtaba P VocelkaRussia2024-06-03Printing Dimensions UNQUALIFIED1Stephen Shaw
1022Wickens P CaldareraFrance2024-06-17Chemel, James L Cpa QUALIFIED78Bernardo Dominic
1023Sinclair N RutaIndia2024-06-09Buckley Miller Wright PROPOSAL99Asiya Javayant
1024Wickens H SchemmerAustralia2024-06-19Truhlar And Truhlar Attys PROPOSAL93Ioni Bowcher
1025James Y GarufiAustralia2024-06-01Feiner Bros UNQUALIFIED10Xuxue Feng
1026Darci L FigeroaJapan2024-06-10Buckley Miller Wright NEW31Ioni Bowcher
1027Jefferson T GauchoIndia2024-05-28Morlong Associates QUALIFIED26Asiya Javayant
1028Jones R SergiGermany2024-06-07Feiner Bros PROPOSAL85Stephen Shaw
1029Leon O NickaSpain2024-05-29King, Christopher A Esq NEGOTIATION72Stephen Shaw
1030Kaitlin A SchemmerCanada2024-06-10Benton, John B Jr RENEWAL72Anna Fali
1031Ivar J VenereJapan2024-06-10Chanay, Jeffrey A Esq QUALIFIED62Asiya Javayant
1032Jennifer X MaletUnited Kingdom2024-06-07Chanay, Jeffrey A Esq NEGOTIATION20Ioni Bowcher
1033Faith T InouyeCanada2024-06-05Buckley Miller Wright RENEWAL70Amy Elsner
1034Deepesh Q MaletSpain2024-05-26King, Christopher A Esq RENEWAL17Elwin Sharvill
1035Tony I SergiUnited Kingdom2024-05-26Morlong Associates NEGOTIATION65Amy Elsner
1036Mayumi Z DoeCanada2024-06-06Truhlar And Truhlar Attys NEGOTIATION74Stephen Shaw
1037Chavez C PerinArgentina2024-06-16Benton, John B Jr RENEWAL84Elwin Sharvill
1038Mayumi V StockhamFrance2024-06-14King, Christopher A Esq RENEWAL97Xuxue Feng
1039Leja H SaylorsBrazil2024-06-20Buckley Miller Wright PROPOSAL93Onyama Limba
1040Juan G CaudyJapan2024-05-29Chemel, James L Cpa UNQUALIFIED48Xuxue Feng
1041Jeanfrancois F FerenczJapan2024-06-10Chanay, Jeffrey A Esq PROPOSAL32Anna Fali
1042Rodrigues F FerenczFrance2024-06-11King, Christopher A Esq QUALIFIED41Onyama Limba
1043Morrow D MorascaSpain2024-06-03Rangoni Of Florence RENEWAL37Ivan Magalhaes
1044Ivar H PoquetteSpain2024-06-06Printing Dimensions NEW65Amy Elsner
1045Munro J NestleBrazil2024-06-07Morlong Associates RENEWAL2Stephen Shaw
1046Antonio Q PaprockiSpain2024-06-06King, Christopher A Esq UNQUALIFIED40Elwin Sharvill
1047Faith O CampainAustralia2024-06-02Buckley Miller Wright QUALIFIED87Stephen Shaw
1048Greenwood N SergiArgentina2024-06-11Feiner Bros NEW13Asiya Javayant
1049Octavia D BologniaRussia2024-05-31Truhlar And Truhlar Attys RENEWAL21Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
David A MaletItalyXuxue Feng QUALIFIED
Leja P RutaCanadaIvan Magalhaes RENEWAL
Antonio S DilliardFranceAmy Elsner NEW
Jefferson V DoeAustraliaAnna Fali RENEWAL
Greenwood N CaudyItalyBernardo Dominic QUALIFIED
Adams S CaldareraArgentinaAnna Fali NEGOTIATION
Nicolas P FollerAustraliaIvan Magalhaes NEGOTIATION
Jefferson S InouyeArgentinaBernardo Dominic UNQUALIFIED
Octavia H KolmetzAustraliaOnyama Limba QUALIFIED
Deepesh R ShinkoSpainAnna Fali QUALIFIED
Deepesh Z SaylorsJapanAmy Elsner QUALIFIED
Nicolas H RimFranceBernardo Dominic NEGOTIATION
Ashley G PoquetteIndiaElwin Sharvill PROPOSAL
Maisha V AlbaresUnited KingdomAnna Fali UNQUALIFIED
Claire N WieserArgentinaStephen Shaw UNQUALIFIED
Aditya O MarrierBrazilElwin Sharvill NEGOTIATION
Aruna A FerenczBrazilAsiya Javayant UNQUALIFIED
Chavez J PerinFranceIvan Magalhaes UNQUALIFIED
Leon X OstroskyArgentinaOnyama Limba RENEWAL
Mayumi T VocelkaBrazilAmy Elsner UNQUALIFIED
Julie Y ChuiCanadaStephen Shaw QUALIFIED
Claire L CaldareraCanadaStephen Shaw PROPOSAL
Faith N WaycottCanadaAmy Elsner PROPOSAL
Silvio S FlosiBrazilIoni Bowcher NEGOTIATION
Leon V VocelkaUnited KingdomOnyama Limba QUALIFIED
Smith G VenereAustraliaStephen Shaw NEW
Alejandro M GauchoBrazilStephen Shaw UNQUALIFIED
Tony O OldroydItalyAsiya Javayant PROPOSAL
Murillo Q RoysterArgentinaOnyama Limba RENEWAL
Greenwood Y FlosiSpainAnna Fali NEGOTIATION
Rodrigues P BriddickJapanAsiya Javayant NEGOTIATION
Munro U WieserArgentinaBernardo Dominic QUALIFIED
Deepesh E ShinkoUnited KingdomXuxue Feng NEW
Murillo P FollerArgentinaAsiya Javayant NEW
Octavia S StockhamUnited KingdomStephen Shaw NEGOTIATION
Emily T BriddickArgentinaIvan Magalhaes NEGOTIATION
Claire T RoysterIndiaOnyama Limba UNQUALIFIED
Darci R ChuiAustraliaAsiya Javayant QUALIFIED
Cody U RimArgentinaAsiya Javayant UNQUALIFIED
Cody Z DilliardIndiaStephen Shaw RENEWAL
Salvatore S GillianItalyAsiya Javayant UNQUALIFIED
Faith N OldroydBrazilBernardo Dominic RENEWAL
Kaitlin S DarakjyGermanyOnyama Limba UNQUALIFIED
Silvio N DarakjyGermanyAsiya Javayant UNQUALIFIED
Juan C BriddickArgentinaElwin Sharvill RENEWAL
Aika U FerenczAustraliaAmy Elsner NEW
Wickens H PoquetteIndiaIoni Bowcher QUALIFIED
Emily D MarrierItalyAsiya Javayant QUALIFIED
Emily Q OldroydIndiaAsiya Javayant QUALIFIED
Sinclair H FerenczAustraliaBernardo Dominic NEW
Frozen Columns
Name
Emily V Venere
Chavez M Garufi
Smith T Schemmer
Murillo R Figeroa
Wickens V Waycott
Julie T Venere
Salvatore D Royster
Antonio B Albares
Jennifer M Perin
Claire K Vocelka
Alejandro D Stenseth
Maria H Perin
Isabel D Malet
Octavia G Malet
James C Ostrosky
Alejandro P Stenseth
Aditya D Inouye
Octavia F Vocelka
Silvio R Doe
Leja X Wieser
Julie L Waycott
Maria H Darakjy
Antonio K Bolognia
Kaitlin K Ostrosky
Francesco M Stockham
Sinclair H Rulapaugh
Munro H Tollner
Jones O Schemmer
Misaki H Shinko
Misaki N Gaucho
Aika Y Marrier
Isabel M Nicka
Antonio B Shinko
Claire A Rulapaugh
Jefferson Y Saylors
Octavia W Glick
Izzy D Rulapaugh
Jeanfrancois M Oldroyd
Francesco H Oldroyd
Emily U Whobrey
Jeanfrancois O Doe
Leja C Gaucho
Ricardo K Wieser
Jefferson R Shinko
Ivar M Stockham
Claire J Rulapaugh
Morrow M Kusko
Ivar M Oldroyd
Maria O Malet
Jefferson W Glick
IdCountryDate
1000France2024-06-01
1001Brazil2024-06-05
1002Spain2024-05-27
1003Brazil2024-06-21
1004Germany2024-06-06
1005Italy2024-06-04
1006Russia2024-06-15
1007France2024-05-27
1008India2024-06-02
1009Japan2024-05-24
1010Argentina2024-06-13
1011Russia2024-06-17
1012Germany2024-06-01
1013Germany2024-06-16
1014Spain2024-06-16
1015Germany2024-06-12
1016Russia2024-05-23
1017Japan2024-06-18
1018Brazil2024-05-30
1019Spain2024-06-12
1020Japan2024-06-14
1021Japan2024-06-14
1022France2024-06-12
1023Brazil2024-05-30
1024France2024-05-30
1025Germany2024-06-05
1026Canada2024-06-20
1027Spain2024-05-28
1028Russia2024-05-26
1029Argentina2024-06-14
1030Argentina2024-06-02
1031Australia2024-05-25
1032France2024-06-09
1033Italy2024-05-29
1034Spain2024-06-10
1035Japan2024-06-06
1036Canada2024-06-14
1037Argentina2024-06-17
1038Brazil2024-05-24
1039Germany2024-05-27
1040Australia2024-06-04
1041Russia2024-06-17
1042Italy2024-06-09
1043Argentina2024-06-15
1044France2024-05-29
1045Canada2024-05-29
1046United Kingdom2024-06-18
1047Italy2024-06-19
1048Russia2024-05-27
1049Spain2024-06-07

On-Demand Data

NameIdCountryDate
Aditya G Stenseth1000France2024-06-01
Costa P Whobrey1001United Kingdom2024-05-27
Ashley S Albares1002Japan2024-06-12
Clifford M Nicka1003Argentina2024-05-28
Jones N Bolognia1004Germany2024-06-04
Julie S Oldroyd1005Russia2024-06-14
Francesco Y Morasca1006Spain2024-06-01
Mayumi W Albares1007Russia2024-05-31
Wickens S Stockham1008India2024-06-15
Greenwood V Bowley1009Argentina2024-06-05
Octavia M Paprocki1010Italy2024-06-14
Faith K Oldroyd1011Japan2024-06-20
Kaitlin Z Nestle1012Russia2024-06-02
Leja Y Perin1013Argentina2024-06-16
Faith Y Rim1014Australia2024-06-01
Sinclair X Butt1015Brazil2024-05-23
Ivar X Slusarski1016France2024-06-04
Kaitlin W Rulapaugh1017Germany2024-06-20
Sinclair E Stenseth1018Russia2024-05-24
Julie Q Stenseth1019Italy2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas L SchemmerJapanXuxue Feng UNQUALIFIED
Adams H CaldareraIndiaXuxue Feng UNQUALIFIED
Maria M PerinCanadaAnna Fali NEW
Jeanfrancois O VocelkaRussiaAnna Fali NEGOTIATION
Mujtaba B OstroskySpainBernardo Dominic NEW
Aika L PoquetteJapanAsiya Javayant NEGOTIATION
Nicolas Y DarakjyRussiaIvan Magalhaes NEGOTIATION
Isabel A GarufiItalyElwin Sharvill RENEWAL
Isabel U MaletItalyOnyama Limba QUALIFIED
Isabel V PaprockiUnited KingdomAmy Elsner NEW
Stacey O MarrierCanadaAsiya Javayant UNQUALIFIED
Munro L BowleyJapanOnyama Limba RENEWAL
Jeanfrancois H KolmetzItalyAnna Fali NEGOTIATION
Octavia L VenereItalyAsiya Javayant NEGOTIATION
Aika A TollnerRussiaElwin Sharvill NEW
Darci I DilliardIndiaAmy Elsner NEW
Jones M NickaBrazilAmy Elsner QUALIFIED
Wickens N DarakjyRussiaBernardo Dominic QUALIFIED
Nicolas D DoeBrazilStephen Shaw PROPOSAL
Francesco R NestleItalyOnyama Limba RENEWAL
Leja I KuskoUnited KingdomIoni Bowcher PROPOSAL
Ashley J DilliardRussiaXuxue Feng NEW
Tony T WieserSpainBernardo Dominic NEGOTIATION
Maria C NestleIndiaStephen Shaw NEGOTIATION
Francesco L NickaBrazilAsiya Javayant QUALIFIED
Chavez X DarakjyGermanyIvan Magalhaes RENEWAL
Jeanfrancois L PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Maisha X GarufiIndiaAmy Elsner PROPOSAL
Aruna W PerinRussiaAmy Elsner QUALIFIED
Julie O CaudyCanadaIoni Bowcher PROPOSAL
Silvio R AmigonSpainAmy Elsner UNQUALIFIED
Salvatore B CaudyAustraliaXuxue Feng QUALIFIED
Maria U OstroskyIndiaOnyama Limba PROPOSAL
Alejandro F CampainItalyBernardo Dominic PROPOSAL
Ashley P InouyeIndiaIoni Bowcher PROPOSAL
Jones Z FlosiArgentinaIoni Bowcher NEGOTIATION
Clifford I MaletFranceOnyama Limba UNQUALIFIED
Jeanfrancois W ShinkoRussiaElwin Sharvill NEGOTIATION
Adams U FollerBrazilAmy Elsner PROPOSAL
Deepesh B RutaBrazilOnyama Limba PROPOSAL

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