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
Aika B FollerSpainElwin Sharvill UNQUALIFIED
Sinclair F KuskoBrazilAsiya Javayant UNQUALIFIED
Leon S WhobreyArgentinaAmy Elsner UNQUALIFIED
Claire I WhobreyFranceBernardo Dominic NEW
Wickens E StockhamBrazilBernardo Dominic NEW
Misaki P IturbideGermanyIvan Magalhaes RENEWAL
Isabel U AlbaresItalyStephen Shaw UNQUALIFIED
Leon L FigeroaIndiaOnyama Limba QUALIFIED
Aika G SchemmerItalyAsiya Javayant PROPOSAL
Claire Z MacleadRussiaOnyama Limba RENEWAL
Antonio P InouyeIndiaAmy Elsner UNQUALIFIED
Deepesh I IturbideBrazilElwin Sharvill RENEWAL
Ivar O RimItalyXuxue Feng NEGOTIATION
Jennifer U MorascaCanadaIoni Bowcher NEW
Ashley A GarufiJapanIoni Bowcher RENEWAL
Morrow H NestleIndiaBernardo Dominic PROPOSAL
Silvio B SaylorsUnited KingdomAsiya Javayant NEGOTIATION
Aika I NickaBrazilElwin Sharvill NEGOTIATION
Maisha W FollerItalyXuxue Feng NEW
Adams J WaycottArgentinaAnna Fali NEGOTIATION
Salvatore U WaycottJapanIvan Magalhaes NEGOTIATION
Costa Q PaprockiBrazilAnna Fali NEGOTIATION
Aika R WieserBrazilIvan Magalhaes NEGOTIATION
Kaitlin Z CaudySpainIvan Magalhaes NEW
Francesco Y GauchoBrazilIvan Magalhaes NEW
James C GauchoRussiaOnyama Limba RENEWAL
Murillo M OldroydRussiaElwin Sharvill UNQUALIFIED
Chavez I WaycottCanadaIvan Magalhaes RENEWAL
Izzy X AlbaresSpainAmy Elsner NEGOTIATION
Deepesh C GillianGermanyXuxue Feng NEW
Costa H RutaFranceIoni Bowcher QUALIFIED
Rodrigues S WhobreyBrazilAmy Elsner QUALIFIED
Costa G SergiCanadaStephen Shaw RENEWAL
Octavia E RulapaughRussiaOnyama Limba PROPOSAL
Antonio P PaprockiRussiaStephen Shaw QUALIFIED
Alejandro Y AlbaresSpainStephen Shaw NEW
Aditya A PerinIndiaIvan Magalhaes PROPOSAL
Aika F DilliardSpainBernardo Dominic QUALIFIED
Adams D InouyeBrazilXuxue Feng UNQUALIFIED
Morrow F StensethBrazilIvan Magalhaes QUALIFIED
Jones V FollerRussiaStephen Shaw QUALIFIED
Octavia C GarufiIndiaAmy Elsner QUALIFIED
Mayumi I ButtItalyXuxue Feng NEGOTIATION
Morrow R MaletCanadaAnna Fali PROPOSAL
Mujtaba P KolmetzItalyOnyama Limba PROPOSAL
Morrow N FigeroaGermanyAnna Fali NEW
Kaitlin W StockhamCanadaStephen Shaw QUALIFIED
Mujtaba X FigeroaBrazilAsiya Javayant NEGOTIATION
Izzy G FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Juan O FollerCanadaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily L OstroskyArgentinaOnyama Limba RENEWAL
James W IturbideCanadaAmy Elsner UNQUALIFIED
Jeanfrancois U RulapaughBrazilAsiya Javayant PROPOSAL
Clifford F SchemmerFranceIvan Magalhaes QUALIFIED
Greenwood Z WhobreyRussiaAnna Fali PROPOSAL
Smith M StockhamCanadaIvan Magalhaes RENEWAL
Deepesh C CaldareraItalyXuxue Feng NEGOTIATION
Maria N CaudyGermanyAmy Elsner PROPOSAL
Kaitlin B RoysterAustraliaIvan Magalhaes UNQUALIFIED
Jefferson L ShinkoCanadaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja N GillianFrance2024-06-12King, Christopher A Esq QUALIFIED32Anna Fali
1001Johnson K KolmetzIndia2024-06-10Feltz Printing Service RENEWAL91Xuxue Feng
1002Aika H FerenczAustralia2024-05-25Chanay, Jeffrey A Esq RENEWAL98Stephen Shaw
1003Kaitlin F AlbaresUnited Kingdom2024-05-24Chapman, Ross E Esq RENEWAL85Ivan Magalhaes
1004Chavez J AlbaresUnited Kingdom2024-06-01Rousseaux, Michael Esq QUALIFIED52Anna Fali
1005James V SaylorsAustralia2024-06-04Benton, John B Jr RENEWAL99Stephen Shaw
1006Morrow L SergiSpain2024-06-18Feltz Printing Service PROPOSAL91Xuxue Feng
1007Maria D ButtBrazil2024-05-22Truhlar And Truhlar Attys RENEWAL43Bernardo Dominic
1008Tony D InouyeRussia2024-05-30Feltz Printing Service RENEWAL28Stephen Shaw
1009Sinclair Z WaycottGermany2024-06-08Chanay, Jeffrey A Esq PROPOSAL24Asiya Javayant
1010Aditya C MarrierArgentina2024-05-30Feltz Printing Service NEW68Onyama Limba
1011Kadeem H ChuiAustralia2024-06-05Buckley Miller Wright UNQUALIFIED38Elwin Sharvill
1012Clifford C StockhamFrance2024-06-02Commercial Press NEW25Amy Elsner
1013James H RulapaughFrance2024-05-29Buckley Miller Wright NEGOTIATION26Asiya Javayant
1014Isabel H FerenczJapan2024-05-21Feltz Printing Service UNQUALIFIED11Asiya Javayant
1015Antonio P IturbideAustralia2024-05-22Rangoni Of Florence RENEWAL22Ioni Bowcher
1016Wickens S RulapaughAustralia2024-06-09Feltz Printing Service UNQUALIFIED56Elwin Sharvill
1017Greenwood V FerenczArgentina2024-06-05Printing Dimensions RENEWAL9Xuxue Feng
1018Stacey G SlusarskiItaly2024-06-07Chanay, Jeffrey A Esq RENEWAL13Elwin Sharvill
1019Clifford U OldroydFrance2024-06-18Chemel, James L Cpa UNQUALIFIED72Anna Fali
1020Clifford C GauchoUnited Kingdom2024-05-22Rousseaux, Michael Esq NEW99Ivan Magalhaes
1021Antonio H DilliardUnited Kingdom2024-06-11Printing Dimensions NEGOTIATION49Xuxue Feng
1022Mayumi Z MacleadAustralia2024-06-17Commercial Press PROPOSAL56Amy Elsner
1023Johnson F RoysterJapan2024-06-17Commercial Press NEGOTIATION6Asiya Javayant
1024Chavez J RimFrance2024-06-02Truhlar And Truhlar Attys NEGOTIATION73Anna Fali
1025David J PoquetteRussia2024-06-06Chemel, James L Cpa UNQUALIFIED50Xuxue Feng
1026James X ShinkoGermany2024-06-12Benton, John B Jr UNQUALIFIED67Bernardo Dominic
1027Misaki T WhobreyCanada2024-05-20Rousseaux, Michael Esq PROPOSAL91Elwin Sharvill
1028Ashley N PaprockiUnited Kingdom2024-06-17Rangoni Of Florence UNQUALIFIED4Anna Fali
1029Jeanfrancois W SlusarskiGermany2024-05-25Rangoni Of Florence QUALIFIED91Xuxue Feng
1030Arvin Y CaldareraArgentina2024-06-01Printing Dimensions QUALIFIED96Amy Elsner
1031Silvio D FlosiGermany2024-06-08King, Christopher A Esq NEW55Elwin Sharvill
1032Johnson V GarufiArgentina2024-06-05Rousseaux, Michael Esq NEW96Stephen Shaw
1033Mayumi R DarakjyGermany2024-05-27Rangoni Of Florence UNQUALIFIED38Bernardo Dominic
1034David Y WieserRussia2024-05-21Chemel, James L Cpa NEGOTIATION16Bernardo Dominic
1035Jeanfrancois P BriddickUnited Kingdom2024-06-11Chapman, Ross E Esq QUALIFIED50Amy Elsner
1036Johnson S MacleadUnited Kingdom2024-06-02Chanay, Jeffrey A Esq NEW82Ioni Bowcher
1037Antonio C BriddickAustralia2024-05-27Chemel, James L Cpa NEW84Ioni Bowcher
1038Antonio H ShinkoJapan2024-05-23Feiner Bros NEW45Ivan Magalhaes
1039Juan G NickaFrance2024-06-06Rousseaux, Michael Esq UNQUALIFIED58Stephen Shaw
1040Izzy B RulapaughArgentina2024-06-01Chemel, James L Cpa QUALIFIED20Elwin Sharvill
1041Faith E AmigonJapan2024-05-29Rangoni Of Florence PROPOSAL68Xuxue Feng
1042Jennifer R CaudyJapan2024-05-20Morlong Associates NEW98Ivan Magalhaes
1043Costa O PoquetteArgentina2024-06-18Chanay, Jeffrey A Esq PROPOSAL46Amy Elsner
1044Faith P PaprockiArgentina2024-06-17Truhlar And Truhlar Attys PROPOSAL39Anna Fali
1045Mujtaba Y BowleyCanada2024-06-15Chapman, Ross E Esq NEGOTIATION96Stephen Shaw
1046Francesco D AlbaresCanada2024-05-23Commercial Press NEGOTIATION57Ivan Magalhaes
1047Faith Q FlosiItaly2024-06-15Chapman, Ross E Esq NEGOTIATION21Ioni Bowcher
1048David Y RoysterArgentina2024-06-08Rangoni Of Florence NEGOTIATION93Amy Elsner
1049Maria C BowleyIndia2024-06-18Rangoni Of Florence NEGOTIATION10Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maisha K PerinGermanyBernardo Dominic QUALIFIED
Arvin Y SchemmerIndiaBernardo Dominic NEGOTIATION
Aika F MacleadAustraliaAsiya Javayant PROPOSAL
Mayumi X KolmetzSpainIvan Magalhaes PROPOSAL
Greenwood T ButtRussiaAmy Elsner NEW
Isabel O NickaRussiaAnna Fali RENEWAL
Smith F OstroskyGermanyStephen Shaw RENEWAL
Costa E StensethUnited KingdomIoni Bowcher NEGOTIATION
Greenwood U VocelkaGermanyAsiya Javayant NEW
Aruna M VenereArgentinaOnyama Limba QUALIFIED
Aika Y AlbaresSpainStephen Shaw PROPOSAL
Aditya C MorascaSpainIvan Magalhaes UNQUALIFIED
Izzy X WieserAustraliaAnna Fali QUALIFIED
Aditya Q IturbideIndiaAsiya Javayant PROPOSAL
Leja T FollerItalyXuxue Feng RENEWAL
James L BowleyCanadaBernardo Dominic QUALIFIED
Alejandro Z SaylorsAustraliaXuxue Feng NEW
Salvatore Z MaletSpainAsiya Javayant UNQUALIFIED
Ricardo Z MacleadItalyAmy Elsner RENEWAL
Silvio X GauchoSpainAsiya Javayant NEW
Emily P SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Morrow N ButtCanadaXuxue Feng PROPOSAL
Kaitlin Z ShinkoAustraliaElwin Sharvill PROPOSAL
Maria W GarufiFranceOnyama Limba NEW
Kadeem E MorascaGermanyBernardo Dominic PROPOSAL
Silvio M TollnerAustraliaAmy Elsner NEW
Smith B DoeIndiaAmy Elsner PROPOSAL
Sinclair Y FollerItalyAmy Elsner NEW
Ricardo L ShinkoRussiaElwin Sharvill QUALIFIED
Emily G OstroskyItalyAmy Elsner RENEWAL
Francesco S GarufiAustraliaOnyama Limba RENEWAL
Cody F KuskoFranceAnna Fali PROPOSAL
Maisha D NestleFranceAsiya Javayant PROPOSAL
Faith C OstroskyRussiaStephen Shaw QUALIFIED
Jennifer O RoysterJapanOnyama Limba RENEWAL
Jones D NickaUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo J SchemmerRussiaBernardo Dominic NEGOTIATION
Adams E IturbideGermanyStephen Shaw RENEWAL
Ricardo O PaprockiSpainAmy Elsner UNQUALIFIED
Mujtaba V FerenczCanadaXuxue Feng NEGOTIATION
Leja D AmigonAustraliaAnna Fali UNQUALIFIED
Morrow X BriddickAustraliaIoni Bowcher NEGOTIATION
Ivar D BriddickSpainOnyama Limba RENEWAL
Octavia W KuskoArgentinaAmy Elsner UNQUALIFIED
Jefferson O RulapaughSpainBernardo Dominic QUALIFIED
Arvin Q BologniaJapanElwin Sharvill NEW
Leja Y IturbideFranceAnna Fali PROPOSAL
Ashley B DilliardRussiaStephen Shaw NEW
Alejandro T GarufiGermanyBernardo Dominic RENEWAL
Jeanfrancois X PoquetteCanadaIoni Bowcher QUALIFIED
Frozen Columns
Name
Stacey Q Stockham
Kaitlin Z Doe
Morrow Y Darakjy
Greenwood Y Caldarera
Aditya Z Ruta
Juan F Paprocki
Greenwood Z Tollner
Silvio J Perin
Kadeem Z Inouye
Deepesh K Ostrosky
Ashley J Whobrey
Izzy I Slusarski
Mujtaba G Vocelka
Costa T Rulapaugh
Faith B Dilliard
Isabel A Garufi
Leon P Wieser
Adams B Stockham
Sinclair E Kolmetz
Aruna Z Albares
James L Briddick
Salvatore C Flosi
Emily S Shinko
Ricardo L Gaucho
Leja Q Dilliard
Murillo S Malet
Salvatore P Saylors
Aruna K Foller
Antonio N Doe
Ashley B Doe
Aruna S Dilliard
Murillo F Oldroyd
Jones Z Foller
Adams N Vocelka
Sinclair P Schemmer
David R Royster
Faith E Morasca
Mayumi N Darakjy
Antonio Y Whobrey
Salvatore Y Malet
Julie J Butt
Tony R Waycott
Emily J Foller
Jones Z Marrier
Isabel C Shinko
Aruna Z Nestle
Ashley P Saylors
Mujtaba W Inouye
Alejandro U Poquette
Aika G Ferencz
IdCountryDate
1000Russia2024-05-22
1001India2024-06-04
1002Italy2024-06-08
1003Russia2024-06-07
1004Canada2024-06-05
1005Australia2024-06-10
1006Canada2024-05-21
1007Argentina2024-06-01
1008Brazil2024-06-14
1009Italy2024-05-23
1010India2024-05-20
1011France2024-06-03
1012Brazil2024-06-09
1013Italy2024-06-17
1014Australia2024-06-06
1015India2024-05-30
1016Canada2024-06-18
1017Brazil2024-06-04
1018Brazil2024-05-20
1019Italy2024-05-21
1020Brazil2024-06-09
1021India2024-05-28
1022United Kingdom2024-06-11
1023Australia2024-06-14
1024Canada2024-05-22
1025Russia2024-05-24
1026Canada2024-06-11
1027Italy2024-06-02
1028Germany2024-06-08
1029Australia2024-06-18
1030Spain2024-06-13
1031Australia2024-05-27
1032Argentina2024-05-21
1033Japan2024-06-05
1034Russia2024-06-03
1035United Kingdom2024-06-18
1036Australia2024-06-04
1037Germany2024-06-09
1038France2024-06-16
1039Australia2024-05-30
1040Argentina2024-06-16
1041United Kingdom2024-05-25
1042Japan2024-06-06
1043Canada2024-06-15
1044Argentina2024-05-30
1045Spain2024-05-30
1046Japan2024-06-02
1047Italy2024-06-15
1048Australia2024-05-22
1049Spain2024-06-15

On-Demand Data

NameIdCountryDate
Francesco X Stockham1000United Kingdom2024-05-27
Costa D Maclead1001Italy2024-06-13
Munro J Maclead1002Italy2024-05-28
Mayumi J Rulapaugh1003Italy2024-06-03
David H Sergi1004Japan2024-05-21
Jefferson N Nicka1005Italy2024-05-20
Misaki R Caldarera1006Japan2024-05-27
Wickens I Butt1007Germany2024-06-06
Francesco P Saylors1008Italy2024-06-08
Leon K Butt1009United Kingdom2024-06-01
Cody Y Slusarski1010Brazil2024-06-04
Munro Z Perin1011Italy2024-05-22
Murillo B Tollner1012India2024-06-07
Salvatore S Inouye1013Brazil2024-05-27
Aika K Caldarera1014Japan2024-05-22
Ricardo S Gaucho1015India2024-05-27
Greenwood C Flosi1016Canada2024-06-07
David C Paprocki1017Russia2024-06-01
Rodrigues I Perin1018Argentina2024-06-11
Cody E Oldroyd1019Spain2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore G SergiSpainElwin Sharvill PROPOSAL
Faith M RulapaughGermanyElwin Sharvill NEGOTIATION
Cody B RoysterRussiaIoni Bowcher UNQUALIFIED
Claire W KuskoArgentinaAnna Fali UNQUALIFIED
Silvio I KolmetzAustraliaStephen Shaw RENEWAL
Arvin V NickaRussiaElwin Sharvill QUALIFIED
Jefferson T GarufiAustraliaBernardo Dominic NEW
Darci M NestleItalyAmy Elsner PROPOSAL
Aika Y PaprockiAustraliaIoni Bowcher NEW
Ricardo Q DilliardCanadaOnyama Limba PROPOSAL
Costa K MaletSpainElwin Sharvill RENEWAL
David U CampainItalyAsiya Javayant PROPOSAL
Sinclair F StockhamBrazilIvan Magalhaes QUALIFIED
Juan N AmigonSpainBernardo Dominic NEGOTIATION
Rodrigues C GillianBrazilIvan Magalhaes RENEWAL
Faith O PerinIndiaIoni Bowcher UNQUALIFIED
Isabel H BologniaJapanIvan Magalhaes PROPOSAL
James I MaletIndiaAnna Fali NEGOTIATION
Adams U MaletIndiaIvan Magalhaes QUALIFIED
Claire W SaylorsUnited KingdomBernardo Dominic PROPOSAL
Wickens H StockhamJapanIoni Bowcher PROPOSAL
Deepesh O OldroydBrazilAsiya Javayant QUALIFIED
Salvatore M RoysterItalyStephen Shaw NEW
Munro Z RutaBrazilElwin Sharvill NEW
Alejandro C RoysterBrazilIoni Bowcher PROPOSAL
Adams Z VocelkaJapanIoni Bowcher NEW
Adams G WieserArgentinaXuxue Feng QUALIFIED
Mayumi L DoeBrazilOnyama Limba NEGOTIATION
David A FlosiGermanyAsiya Javayant RENEWAL
Octavia N FerenczItalyIoni Bowcher PROPOSAL
Jefferson Y RulapaughSpainBernardo Dominic NEW
Isabel L MacleadGermanyIoni Bowcher RENEWAL
Claire D RulapaughAustraliaOnyama Limba PROPOSAL
Kadeem F MorascaGermanyAnna Fali PROPOSAL
Kadeem E AlbaresItalyXuxue Feng UNQUALIFIED
Emily P WhobreyAustraliaIvan Magalhaes UNQUALIFIED
Darci B WieserArgentinaAmy Elsner QUALIFIED
Wickens H ButtGermanyBernardo Dominic RENEWAL
Chavez W RoysterItalyOnyama Limba RENEWAL
Kaitlin P SlusarskiAustraliaAnna 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>