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
Aruna S BologniaArgentinaAmy Elsner PROPOSAL
Jeanfrancois E VenereSpainElwin Sharvill RENEWAL
Leon T DoeItalyXuxue Feng NEW
Clifford R StockhamSpainAmy Elsner UNQUALIFIED
Aruna Z OldroydBrazilXuxue Feng NEW
Maria E FerenczFranceOnyama Limba NEW
Murillo A WhobreyIndiaXuxue Feng NEW
Tony Z RutaFranceXuxue Feng NEGOTIATION
Salvatore D BriddickSpainAnna Fali NEW
James L RoysterRussiaBernardo Dominic PROPOSAL
Jones G RoysterFranceAmy Elsner QUALIFIED
Julie K RulapaughRussiaIvan Magalhaes RENEWAL
Costa Q GarufiGermanyAnna Fali NEGOTIATION
Mayumi G BologniaRussiaStephen Shaw NEGOTIATION
Leja A PerinGermanyXuxue Feng RENEWAL
James X MaletArgentinaAnna Fali QUALIFIED
Kadeem A BriddickUnited KingdomIvan Magalhaes PROPOSAL
James Y PaprockiUnited KingdomElwin Sharvill RENEWAL
Aruna Y GarufiUnited KingdomStephen Shaw NEGOTIATION
Alejandro I DoeBrazilStephen Shaw UNQUALIFIED
Kadeem O CaldareraItalyAmy Elsner RENEWAL
Maria D RulapaughItalyIoni Bowcher PROPOSAL
Rodrigues Q GauchoSpainBernardo Dominic RENEWAL
Kaitlin H SergiIndiaAmy Elsner RENEWAL
Wickens Q CampainIndiaStephen Shaw NEW
Adams N WhobreySpainAnna Fali PROPOSAL
Mujtaba A FlosiRussiaElwin Sharvill UNQUALIFIED
Aditya P FlosiIndiaElwin Sharvill PROPOSAL
Jefferson N DarakjyItalyOnyama Limba QUALIFIED
Wickens Y TollnerGermanyOnyama Limba NEW
Clifford H PaprockiCanadaBernardo Dominic PROPOSAL
Morrow K SlusarskiRussiaBernardo Dominic PROPOSAL
David A WieserBrazilAsiya Javayant NEGOTIATION
Mujtaba Q CaldareraIndiaOnyama Limba PROPOSAL
Maria I BologniaCanadaBernardo Dominic PROPOSAL
Alejandro D GauchoBrazilXuxue Feng NEW
Aruna N MaletCanadaOnyama Limba NEW
Wickens L SchemmerIndiaXuxue Feng QUALIFIED
Adams E SaylorsRussiaBernardo Dominic RENEWAL
Izzy G TollnerSpainAmy Elsner NEW
Leja S WaycottCanadaIoni Bowcher RENEWAL
Francesco W DilliardArgentinaElwin Sharvill NEW
Rodrigues S BowleyAustraliaAmy Elsner RENEWAL
Aditya S GillianFranceAmy Elsner QUALIFIED
Julie R MaletUnited KingdomElwin Sharvill NEGOTIATION
Wickens U AmigonAustraliaAsiya Javayant RENEWAL
Kadeem D BowleyItalyBernardo Dominic NEGOTIATION
Murillo M PerinJapanIoni Bowcher PROPOSAL
Stacey V SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Rodrigues W TollnerBrazilStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Nicolas X GillianUnited KingdomStephen Shaw UNQUALIFIED
Julie B StockhamAustraliaElwin Sharvill NEW
Chavez F CaldareraJapanOnyama Limba QUALIFIED
Munro E MaletBrazilAnna Fali RENEWAL
Isabel U FerenczItalyXuxue Feng NEW
Costa I MacleadJapanXuxue Feng NEW
Deepesh P RulapaughItalyXuxue Feng NEW
Tony Z BriddickSpainBernardo Dominic UNQUALIFIED
James Z RoysterItalyStephen Shaw RENEWAL
Aruna W VenereFranceIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna T ButtItaly2025-05-26Buckley Miller Wright RENEWAL64Asiya Javayant
1001Maisha D AmigonJapan2025-06-08Dorl, James J Esq RENEWAL37Ivan Magalhaes
1002Kaitlin Y WhobreyIndia2025-05-27Chapman, Ross E Esq NEGOTIATION0Anna Fali
1003Morrow E DoeIndia2025-05-25Chemel, James L Cpa PROPOSAL79Anna Fali
1004Emily U ChuiFrance2025-05-18Chemel, James L Cpa RENEWAL57Bernardo Dominic
1005Jennifer H StensethBrazil2025-05-20Commercial Press UNQUALIFIED94Stephen Shaw
1006Wickens S BologniaCanada2025-05-20Feiner Bros QUALIFIED29Elwin Sharvill
1007Adams U OldroydSpain2025-06-09Rangoni Of Florence NEW60Bernardo Dominic
1008Isabel H PoquetteArgentina2025-06-03Truhlar And Truhlar Attys UNQUALIFIED66Stephen Shaw
1009Morrow H NickaSpain2025-05-26Dorl, James J Esq NEGOTIATION29Xuxue Feng
1010Misaki C IturbideJapan2025-05-31King, Christopher A Esq NEW31Xuxue Feng
1011Faith D KolmetzBrazil2025-06-15Dorl, James J Esq PROPOSAL87Elwin Sharvill
1012Johnson L GarufiGermany2025-06-04Chapman, Ross E Esq NEGOTIATION99Ivan Magalhaes
1013Ivar K DarakjyBrazil2025-05-31Dorl, James J Esq UNQUALIFIED68Stephen Shaw
1014Francesco B StockhamIndia2025-06-10Morlong Associates QUALIFIED56Elwin Sharvill
1015Nicolas D DarakjyIndia2025-05-25Printing Dimensions PROPOSAL28Amy Elsner
1016Kadeem X StockhamFrance2025-06-14Chemel, James L Cpa RENEWAL38Bernardo Dominic
1017Silvio E ChuiAustralia2025-05-29Feltz Printing Service NEGOTIATION83Ioni Bowcher
1018Alejandro D GauchoIndia2025-05-27Morlong Associates NEW73Ivan Magalhaes
1019Nicolas X ShinkoJapan2025-05-22Feiner Bros QUALIFIED15Xuxue Feng
1020Claire L FollerFrance2025-06-06Rousseaux, Michael Esq UNQUALIFIED54Bernardo Dominic
1021Aditya S SlusarskiAustralia2025-06-04Benton, John B Jr RENEWAL6Bernardo Dominic
1022Nicolas M NickaFrance2025-05-28Printing Dimensions NEW8Bernardo Dominic
1023Chavez L ShinkoCanada2025-06-13Rangoni Of Florence PROPOSAL23Xuxue Feng
1024Aruna B OstroskyRussia2025-06-11Feltz Printing Service PROPOSAL97Ioni Bowcher
1025David R SaylorsJapan2025-05-24Chemel, James L Cpa QUALIFIED12Ivan Magalhaes
1026Alejandro O GauchoItaly2025-06-02Buckley Miller Wright QUALIFIED11Onyama Limba
1027Wickens P PoquetteCanada2025-05-29Dorl, James J Esq PROPOSAL64Ioni Bowcher
1028Francesco U BriddickRussia2025-06-08Feltz Printing Service PROPOSAL48Ivan Magalhaes
1029Munro F OldroydCanada2025-06-12Chemel, James L Cpa UNQUALIFIED63Elwin Sharvill
1030Octavia H FlosiJapan2025-06-05Rangoni Of Florence RENEWAL8Anna Fali
1031Deepesh X DoeFrance2025-05-20Chapman, Ross E Esq QUALIFIED85Asiya Javayant
1032Sinclair U MaletSpain2025-06-05Rousseaux, Michael Esq UNQUALIFIED95Asiya Javayant
1033Leon H RulapaughIndia2025-05-18King, Christopher A Esq QUALIFIED64Asiya Javayant
1034Aika Q WhobreyArgentina2025-05-17Rangoni Of Florence QUALIFIED14Anna Fali
1035Smith W VenereBrazil2025-05-20Commercial Press RENEWAL77Ioni Bowcher
1036Aruna S VocelkaUnited Kingdom2025-06-10Chanay, Jeffrey A Esq UNQUALIFIED25Stephen Shaw
1037Smith T WaycottFrance2025-05-18Chanay, Jeffrey A Esq UNQUALIFIED26Ioni Bowcher
1038Adams C CaldareraAustralia2025-06-04Truhlar And Truhlar Attys UNQUALIFIED49Ivan Magalhaes
1039Stacey A RoysterUnited Kingdom2025-05-28Benton, John B Jr PROPOSAL46Bernardo Dominic
1040Emily A TollnerArgentina2025-05-27Dorl, James J Esq PROPOSAL17Ioni Bowcher
1041Tony E FigeroaIndia2025-06-01King, Christopher A Esq QUALIFIED16Elwin Sharvill
1042Claire V SchemmerRussia2025-05-31Chanay, Jeffrey A Esq UNQUALIFIED38Asiya Javayant
1043Izzy G AmigonArgentina2025-05-30Truhlar And Truhlar Attys QUALIFIED47Asiya Javayant
1044Adams J MaletCanada2025-06-10Chemel, James L Cpa UNQUALIFIED7Onyama Limba
1045Alejandro A ButtArgentina2025-06-01Commercial Press PROPOSAL4Elwin Sharvill
1046Octavia T StockhamAustralia2025-05-21Morlong Associates UNQUALIFIED67Stephen Shaw
1047Jennifer B PaprockiAustralia2025-06-09Feltz Printing Service UNQUALIFIED29Onyama Limba
1048Jennifer S OstroskyAustralia2025-06-01King, Christopher A Esq PROPOSAL66Bernardo Dominic
1049Misaki A BriddickBrazil2025-05-17Feiner Bros QUALIFIED72Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois U MaletUnited KingdomAnna Fali RENEWAL
Francesco F VocelkaBrazilStephen Shaw RENEWAL
Rodrigues W CaldareraFranceIvan Magalhaes UNQUALIFIED
Wickens M OstroskyArgentinaAsiya Javayant PROPOSAL
Ashley C MacleadUnited KingdomStephen Shaw NEW
Izzy L IturbideUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois X MacleadCanadaIoni Bowcher PROPOSAL
Smith L NickaArgentinaStephen Shaw QUALIFIED
Silvio X DarakjySpainAsiya Javayant PROPOSAL
Sinclair C RimAustraliaAsiya Javayant RENEWAL
Isabel Z MaletIndiaIoni Bowcher RENEWAL
Ivar P OstroskyIndiaBernardo Dominic UNQUALIFIED
Munro X CampainRussiaIoni Bowcher UNQUALIFIED
Deepesh E ChuiRussiaAmy Elsner UNQUALIFIED
Francesco J MacleadIndiaAnna Fali QUALIFIED
Izzy L FollerFranceAmy Elsner QUALIFIED
Octavia T GauchoAustraliaStephen Shaw NEGOTIATION
Jefferson Z SlusarskiBrazilElwin Sharvill NEW
Johnson E FigeroaGermanyStephen Shaw PROPOSAL
Aika T WaycottJapanBernardo Dominic RENEWAL
Clifford J RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Tony Y MaletGermanyIoni Bowcher QUALIFIED
Leon Z NickaJapanOnyama Limba NEW
Jeanfrancois W SergiSpainStephen Shaw UNQUALIFIED
Claire P RoysterBrazilAsiya Javayant UNQUALIFIED
Cody Z RimCanadaBernardo Dominic RENEWAL
Francesco B StockhamGermanyStephen Shaw PROPOSAL
Darci M PoquetteItalyIoni Bowcher NEGOTIATION
Aika Z SchemmerSpainAsiya Javayant PROPOSAL
Jefferson Y CaudyIndiaBernardo Dominic QUALIFIED
Cody W KuskoJapanAnna Fali NEGOTIATION
Aika R TollnerArgentinaOnyama Limba QUALIFIED
Cody Z DoeBrazilAmy Elsner PROPOSAL
Aditya R NestleSpainElwin Sharvill NEGOTIATION
Jeanfrancois A WieserItalyOnyama Limba NEW
Cody O RulapaughGermanyIvan Magalhaes PROPOSAL
Smith X PerinCanadaElwin Sharvill NEGOTIATION
Stacey J FlosiRussiaBernardo Dominic QUALIFIED
Salvatore W VocelkaAustraliaIvan Magalhaes PROPOSAL
Jennifer F FlosiSpainIoni Bowcher PROPOSAL
Silvio X FigeroaIndiaBernardo Dominic RENEWAL
Murillo R AlbaresBrazilAnna Fali UNQUALIFIED
Mayumi L CaldareraIndiaXuxue Feng NEGOTIATION
Munro G FigeroaBrazilAnna Fali RENEWAL
Murillo O PoquetteIndiaStephen Shaw NEGOTIATION
Morrow D DilliardAustraliaBernardo Dominic NEW
Aika D KolmetzItalyOnyama Limba PROPOSAL
Kaitlin G SergiJapanAmy Elsner NEW
Francesco V FollerCanadaOnyama Limba NEW
Clifford G ChuiAustraliaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Tony C Darakjy
Octavia N Shinko
Clifford P Inouye
Izzy Q Amigon
Stacey O Caudy
Julie Y Maclead
Faith B Sergi
Salvatore Q Iturbide
Aditya T Gillian
Jennifer K Oldroyd
Octavia G Wieser
Octavia G Wieser
Cody A Albares
Sinclair C Rim
Maria D Malet
Isabel Q Saylors
Tony Y Wieser
Ricardo J Vocelka
Sinclair B Malet
Octavia Y Caldarera
Smith W Caudy
Izzy W Nicka
Clifford W Stenseth
Munro V Marrier
Aruna N Stockham
Murillo A Whobrey
Maisha T Royster
Antonio I Stockham
Alejandro E Flosi
Deepesh O Briddick
Jennifer L Gaucho
Jeanfrancois D Doe
Wickens Q Vocelka
Johnson R Shinko
Jennifer M Malet
Izzy X Rim
Salvatore L Maclead
Alejandro Y Poquette
Jennifer L Wieser
Alejandro F Tollner
Octavia X Ferencz
Ricardo W Doe
Salvatore L Bowley
Johnson C Iturbide
Adams Z Venere
Leja I Waycott
Darci K Paprocki
Salvatore V Bolognia
Ivar L Nicka
James A Inouye
IdCountryDate
1000Japan2025-05-28
1001Argentina2025-06-07
1002United Kingdom2025-05-17
1003Italy2025-05-19
1004Argentina2025-05-29
1005Argentina2025-06-14
1006Italy2025-06-07
1007Canada2025-06-05
1008India2025-05-18
1009Spain2025-05-26
1010Argentina2025-06-13
1011Spain2025-06-09
1012India2025-06-15
1013Spain2025-05-30
1014Germany2025-05-27
1015Italy2025-06-12
1016Brazil2025-05-19
1017Argentina2025-05-26
1018India2025-05-18
1019Germany2025-06-03
1020United Kingdom2025-05-30
1021Germany2025-06-07
1022India2025-05-17
1023Australia2025-05-17
1024Japan2025-06-14
1025Australia2025-05-20
1026France2025-06-14
1027India2025-05-27
1028Italy2025-06-02
1029United Kingdom2025-06-11
1030India2025-06-09
1031Argentina2025-06-05
1032Spain2025-06-13
1033Australia2025-06-12
1034India2025-06-04
1035Argentina2025-05-27
1036Canada2025-05-27
1037Canada2025-05-21
1038United Kingdom2025-06-06
1039France2025-06-12
1040Canada2025-06-14
1041Germany2025-06-01
1042Italy2025-05-28
1043Italy2025-06-07
1044Russia2025-05-19
1045Argentina2025-06-14
1046Australia2025-05-30
1047Canada2025-06-03
1048India2025-05-17
1049United Kingdom2025-06-14

On-Demand Data

NameIdCountryDate
Murillo S Slusarski1000India2025-05-25
Aruna I Venere1001Japan2025-05-20
Adams F Inouye1002Italy2025-05-18
Clifford K Shinko1003United Kingdom2025-06-14
Francesco M Bolognia1004Australia2025-06-01
Nicolas K Poquette1005Japan2025-06-10
Mayumi Y Malet1006Canada2025-06-06
Smith T Tollner1007Argentina2025-05-31
Antonio N Stenseth1008Canada2025-06-13
Octavia C Poquette1009United Kingdom2025-06-08
Jefferson H Rulapaugh1010United Kingdom2025-06-15
Nicolas S Amigon1011Russia2025-06-10
David Z Ruta1012Russia2025-06-14
Jones B Whobrey1013Russia2025-06-02
Julie B Briddick1014Argentina2025-05-19
Adams S Stockham1015Spain2025-05-23
Johnson T Iturbide1016Brazil2025-05-27
Aruna Y Perin1017India2025-06-06
Tony Y Royster1018Canada2025-05-22
Greenwood M Rim1019Canada2025-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues Y PoquetteArgentinaIoni Bowcher NEW
Ricardo G StockhamAustraliaIvan Magalhaes UNQUALIFIED
Julie D MorascaBrazilElwin Sharvill PROPOSAL
Morrow O NestleItalyAnna Fali PROPOSAL
Claire Z PaprockiArgentinaElwin Sharvill PROPOSAL
Julie I VocelkaFranceIvan Magalhaes NEGOTIATION
Rodrigues T VocelkaUnited KingdomStephen Shaw PROPOSAL
Julie T BowleyFranceXuxue Feng QUALIFIED
Darci W NestleBrazilAsiya Javayant UNQUALIFIED
Leja I MaletBrazilAsiya Javayant UNQUALIFIED
Alejandro D ChuiAustraliaAmy Elsner NEGOTIATION
David I MaletBrazilStephen Shaw NEW
Morrow I InouyeCanadaOnyama Limba QUALIFIED
David A ChuiRussiaAnna Fali QUALIFIED
Misaki L BologniaGermanyAmy Elsner NEW
Maria Q SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Aruna G StockhamUnited KingdomStephen Shaw UNQUALIFIED
Antonio Y DarakjyFranceIoni Bowcher UNQUALIFIED
Jefferson X KolmetzCanadaAsiya Javayant RENEWAL
Izzy K ShinkoBrazilStephen Shaw QUALIFIED
Emily B PerinUnited KingdomBernardo Dominic NEGOTIATION
Faith R PoquetteFranceAmy Elsner QUALIFIED
Salvatore O FerenczUnited KingdomAnna Fali NEW
Izzy W OstroskyFranceAsiya Javayant NEW
Sinclair W TollnerItalyIoni Bowcher UNQUALIFIED
Emily J NestleBrazilOnyama Limba QUALIFIED
Murillo D SergiCanadaIvan Magalhaes QUALIFIED
James Z RutaCanadaBernardo Dominic UNQUALIFIED
Smith P GarufiFranceXuxue Feng RENEWAL
Ivar Q FlosiArgentinaBernardo Dominic NEGOTIATION
Wickens T SchemmerRussiaAmy Elsner NEW
Ricardo E RoysterFranceBernardo Dominic NEW
Mujtaba K FigeroaSpainAsiya Javayant NEGOTIATION
Adams S AlbaresArgentinaOnyama Limba NEW
Deepesh A OstroskyArgentinaXuxue Feng RENEWAL
Aditya O BologniaSpainOnyama Limba NEW
Nicolas K FollerUnited KingdomStephen Shaw UNQUALIFIED
Wickens J SergiBrazilBernardo Dominic NEW
Morrow N FigeroaCanadaBernardo Dominic UNQUALIFIED
Jones K AlbaresCanadaIvan Magalhaes QUALIFIED

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