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
Rodrigues M DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Octavia O AmigonSpainAnna Fali NEGOTIATION
Murillo K GlickGermanyOnyama Limba UNQUALIFIED
Clifford B BowleyFranceElwin Sharvill NEGOTIATION
Nicolas E WaycottAustraliaAmy Elsner QUALIFIED
Juan K RulapaughItalyOnyama Limba UNQUALIFIED
Leja W NickaGermanyAnna Fali NEGOTIATION
Aika U OldroydArgentinaXuxue Feng NEW
Isabel H BologniaCanadaOnyama Limba NEW
Octavia D GauchoSpainBernardo Dominic NEW
Tony I ShinkoCanadaIvan Magalhaes PROPOSAL
Antonio I IturbideItalyElwin Sharvill PROPOSAL
Ricardo Y BowleyCanadaAmy Elsner RENEWAL
Ricardo A VocelkaItalyAnna Fali QUALIFIED
Chavez V BowleyRussiaBernardo Dominic RENEWAL
Deepesh P ShinkoJapanAmy Elsner QUALIFIED
Ashley E AmigonSpainOnyama Limba PROPOSAL
Faith T AmigonFranceElwin Sharvill PROPOSAL
Mujtaba N SchemmerGermanyAmy Elsner QUALIFIED
Leon L DarakjyFranceIoni Bowcher QUALIFIED
Morrow F WieserAustraliaStephen Shaw UNQUALIFIED
Aruna L OldroydRussiaBernardo Dominic NEGOTIATION
Aruna H BriddickBrazilIoni Bowcher PROPOSAL
Misaki Q StensethUnited KingdomElwin Sharvill QUALIFIED
Maria S StensethJapanOnyama Limba NEW
Aika S StensethUnited KingdomAnna Fali UNQUALIFIED
Cody Q RimFranceAmy Elsner RENEWAL
Stacey F WaycottRussiaIvan Magalhaes RENEWAL
Ricardo Y NestleSpainAsiya Javayant QUALIFIED
Ivar O MorascaAustraliaStephen Shaw NEGOTIATION
Jones W ShinkoIndiaAsiya Javayant NEW
Sinclair T KuskoJapanAmy Elsner NEGOTIATION
Smith J BologniaGermanyIvan Magalhaes NEW
Aditya Q ChuiArgentinaAsiya Javayant QUALIFIED
James S KolmetzAustraliaIvan Magalhaes PROPOSAL
Smith T RulapaughCanadaIvan Magalhaes QUALIFIED
Morrow J MacleadUnited KingdomIvan Magalhaes PROPOSAL
Misaki B KuskoItalyIvan Magalhaes RENEWAL
Wickens Z WaycottItalyXuxue Feng NEGOTIATION
Sinclair S FigeroaArgentinaStephen Shaw RENEWAL
Jefferson F OstroskyJapanElwin Sharvill RENEWAL
Chavez B RutaAustraliaAsiya Javayant RENEWAL
Kadeem D GarufiItalyIoni Bowcher NEW
Juan Y ButtRussiaAmy Elsner PROPOSAL
Aruna J StockhamJapanAnna Fali UNQUALIFIED
Nicolas R GarufiBrazilAnna Fali NEGOTIATION
Costa R FlosiItalyStephen Shaw NEGOTIATION
Stacey O StockhamRussiaBernardo Dominic NEGOTIATION
Emily W GillianJapanXuxue Feng NEW
James T FollerIndiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Octavia N GauchoFranceBernardo Dominic RENEWAL
Maria B CaldareraRussiaXuxue Feng QUALIFIED
Jefferson S StensethJapanBernardo Dominic NEW
Leja P PoquetteSpainIoni Bowcher QUALIFIED
Julie P NickaBrazilAmy Elsner NEGOTIATION
Jeanfrancois E DarakjyArgentinaStephen Shaw NEGOTIATION
Izzy Z PoquetteIndiaStephen Shaw NEGOTIATION
Murillo T ChuiGermanyOnyama Limba UNQUALIFIED
Nicolas E FlosiRussiaElwin Sharvill RENEWAL
Mujtaba F AlbaresItalyElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya N DoeJapan2025-05-06Feltz Printing Service PROPOSAL15Bernardo Dominic
1001Leja W FollerIndia2025-04-27Chemel, James L Cpa UNQUALIFIED41Stephen Shaw
1002Octavia X ChuiRussia2025-04-25Buckley Miller Wright UNQUALIFIED5Stephen Shaw
1003Johnson L DarakjyArgentina2025-04-25Dorl, James J Esq NEGOTIATION3Bernardo Dominic
1004Jennifer D IturbideFrance2025-05-01Chemel, James L Cpa PROPOSAL79Stephen Shaw
1005Aruna K GillianCanada2025-05-08Chanay, Jeffrey A Esq PROPOSAL42Xuxue Feng
1006Faith E FigeroaGermany2025-05-08Truhlar And Truhlar Attys UNQUALIFIED19Elwin Sharvill
1007Murillo I BowleyFrance2025-04-16Morlong Associates UNQUALIFIED75Bernardo Dominic
1008Arvin V GarufiCanada2025-05-07Rangoni Of Florence RENEWAL30Stephen Shaw
1009Jefferson S ChuiSpain2025-05-01Commercial Press NEGOTIATION69Amy Elsner
1010Nicolas Y GlickIndia2025-04-27King, Christopher A Esq UNQUALIFIED32Asiya Javayant
1011Silvio Y BologniaFrance2025-05-08Feiner Bros RENEWAL25Amy Elsner
1012Maisha R RulapaughIndia2025-04-19Printing Dimensions RENEWAL50Amy Elsner
1013Izzy A DarakjyArgentina2025-04-26Dorl, James J Esq RENEWAL78Elwin Sharvill
1014Izzy J NestleFrance2025-04-19Rangoni Of Florence RENEWAL79Asiya Javayant
1015Mayumi I PoquetteCanada2025-04-24Chanay, Jeffrey A Esq NEW52Onyama Limba
1016Faith I StockhamAustralia2025-04-11King, Christopher A Esq UNQUALIFIED91Bernardo Dominic
1017David A KolmetzBrazil2025-04-13Morlong Associates NEGOTIATION54Ioni Bowcher
1018Alejandro N PerinAustralia2025-05-01Benton, John B Jr RENEWAL31Onyama Limba
1019Chavez H MarrierItaly2025-05-02Rousseaux, Michael Esq UNQUALIFIED22Onyama Limba
1020Emily F WaycottIndia2025-04-13Benton, John B Jr NEGOTIATION63Anna Fali
1021Maisha G DoeBrazil2025-04-13Benton, John B Jr QUALIFIED17Xuxue Feng
1022Arvin W CaudyBrazil2025-04-25Rangoni Of Florence NEW40Asiya Javayant
1023Aika C ButtFrance2025-04-18Rousseaux, Michael Esq NEGOTIATION88Stephen Shaw
1024Adams M MaletBrazil2025-05-02Feiner Bros NEW13Bernardo Dominic
1025Wickens F IturbideRussia2025-04-11Commercial Press NEW86Ioni Bowcher
1026Sinclair A KuskoUnited Kingdom2025-04-27Feltz Printing Service QUALIFIED9Amy Elsner
1027Adams F MarrierBrazil2025-04-21Feltz Printing Service UNQUALIFIED48Amy Elsner
1028Sinclair Z SchemmerRussia2025-04-13Rangoni Of Florence NEGOTIATION49Elwin Sharvill
1029Aruna J GillianFrance2025-05-05Rangoni Of Florence RENEWAL0Xuxue Feng
1030Clifford J VocelkaArgentina2025-04-15Dorl, James J Esq RENEWAL24Bernardo Dominic
1031Chavez S KolmetzUnited Kingdom2025-04-30Chemel, James L Cpa UNQUALIFIED7Xuxue Feng
1032Sinclair F TollnerArgentina2025-04-14Chapman, Ross E Esq NEW91Ivan Magalhaes
1033Misaki S BologniaCanada2025-05-01Morlong Associates UNQUALIFIED59Xuxue Feng
1034Antonio C BowleySpain2025-04-30Printing Dimensions PROPOSAL34Onyama Limba
1035Antonio H DoeAustralia2025-04-12Chemel, James L Cpa QUALIFIED6Elwin Sharvill
1036Faith N PerinUnited Kingdom2025-04-23Rangoni Of Florence QUALIFIED78Onyama Limba
1037Cody T SaylorsAustralia2025-04-12Chapman, Ross E Esq RENEWAL99Amy Elsner
1038Kaitlin W BriddickCanada2025-05-01Printing Dimensions NEGOTIATION68Xuxue Feng
1039Cody P WhobreyRussia2025-04-18Printing Dimensions NEW80Amy Elsner
1040Rodrigues Q SaylorsArgentina2025-05-04Printing Dimensions PROPOSAL66Stephen Shaw
1041Maria W GlickItaly2025-04-26Chapman, Ross E Esq RENEWAL99Ivan Magalhaes
1042Rodrigues K CaldareraSpain2025-04-16Benton, John B Jr NEGOTIATION52Xuxue Feng
1043Jones Y DilliardIndia2025-04-16Dorl, James J Esq UNQUALIFIED81Bernardo Dominic
1044Alejandro I AlbaresSpain2025-04-15Chemel, James L Cpa NEW10Onyama Limba
1045Misaki P DilliardJapan2025-05-01King, Christopher A Esq UNQUALIFIED10Onyama Limba
1046Maisha D NestleArgentina2025-04-18Feiner Bros QUALIFIED68Elwin Sharvill
1047Costa G MaletArgentina2025-05-01Morlong Associates RENEWAL32Elwin Sharvill
1048Octavia H CampainArgentina2025-04-11Buckley Miller Wright RENEWAL82Xuxue Feng
1049Wickens F WaycottSpain2025-04-13Rousseaux, Michael Esq QUALIFIED27Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ashley E KuskoJapanElwin Sharvill NEW
Costa H AmigonAustraliaBernardo Dominic QUALIFIED
Jones G SaylorsItalyElwin Sharvill NEW
Deepesh D ButtItalyAsiya Javayant RENEWAL
Johnson H StockhamSpainIoni Bowcher QUALIFIED
Juan H ChuiItalyBernardo Dominic QUALIFIED
Murillo U FlosiFranceStephen Shaw RENEWAL
Johnson O StockhamSpainElwin Sharvill NEW
Salvatore L PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Ashley K NestleCanadaOnyama Limba UNQUALIFIED
Kaitlin C PaprockiSpainAsiya Javayant RENEWAL
Arvin C SlusarskiJapanAnna Fali NEW
Octavia B DarakjyIndiaElwin Sharvill UNQUALIFIED
Johnson D MarrierUnited KingdomXuxue Feng NEGOTIATION
Wickens F DarakjyCanadaIoni Bowcher NEGOTIATION
Alejandro B ShinkoSpainIvan Magalhaes NEW
Greenwood I GillianBrazilAsiya Javayant QUALIFIED
Salvatore I SaylorsIndiaIvan Magalhaes QUALIFIED
Alejandro N SergiSpainXuxue Feng QUALIFIED
Aika U DarakjyIndiaAmy Elsner UNQUALIFIED
Greenwood R PerinFranceStephen Shaw PROPOSAL
Clifford E SlusarskiFranceIvan Magalhaes NEGOTIATION
Julie V ChuiSpainAnna Fali PROPOSAL
Greenwood U ShinkoSpainAnna Fali NEW
Munro C MacleadArgentinaBernardo Dominic RENEWAL
Munro U ButtJapanElwin Sharvill UNQUALIFIED
Isabel V GauchoArgentinaOnyama Limba RENEWAL
Tony I PaprockiRussiaAmy Elsner NEW
Adams B SchemmerCanadaBernardo Dominic NEW
Leon E DilliardCanadaAnna Fali PROPOSAL
Wickens S RoysterUnited KingdomAmy Elsner PROPOSAL
Murillo J AmigonAustraliaElwin Sharvill QUALIFIED
Faith P SergiFranceBernardo Dominic UNQUALIFIED
Jones N ShinkoIndiaBernardo Dominic UNQUALIFIED
David P StensethArgentinaIoni Bowcher NEGOTIATION
Munro Z FollerBrazilIvan Magalhaes RENEWAL
Alejandro C GillianFranceAmy Elsner RENEWAL
Mayumi E WhobreyCanadaOnyama Limba QUALIFIED
Kadeem Q ButtBrazilXuxue Feng RENEWAL
Mayumi N OstroskyAustraliaAmy Elsner UNQUALIFIED
Ashley F AlbaresFranceAsiya Javayant NEW
Jennifer U InouyeCanadaOnyama Limba NEGOTIATION
Murillo B BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow P PaprockiFranceOnyama Limba NEGOTIATION
Adams U WhobreyJapanElwin Sharvill PROPOSAL
Maria I BowleyJapanIvan Magalhaes NEGOTIATION
Aruna T CaudyUnited KingdomXuxue Feng NEGOTIATION
Darci J NestleBrazilStephen Shaw NEW
Costa S DarakjyUnited KingdomElwin Sharvill NEW
Ashley G WieserRussiaBernardo Dominic QUALIFIED
Frozen Columns
Name
Maria H Rim
Aditya F Campain
Kaitlin Y Ruta
Greenwood B Gaucho
Arvin W Morasca
Maria S Slusarski
Chavez O Shinko
Deepesh L Waycott
Arvin P Kolmetz
Silvio L Stockham
Greenwood R Ostrosky
Leon W Stenseth
Aruna I Darakjy
Antonio A Rulapaugh
Juan Q Paprocki
Antonio L Poquette
Izzy B Darakjy
Nicolas X Ruta
Smith K Inouye
Alejandro G Venere
Francesco U Amigon
Isabel R Royster
Chavez Q Doe
Kadeem B Malet
Ricardo C Waycott
Deepesh V Sergi
Wickens L Stenseth
Alejandro A Gillian
Izzy A Glick
Octavia D Bolognia
Maria B Caldarera
Jeanfrancois G Doe
Chavez D Gaucho
Arvin J Kolmetz
Octavia K Kusko
Mujtaba F Rim
Antonio J Oldroyd
Wickens T Butt
Greenwood Z Darakjy
Maria Y Ruta
Costa L Doe
Morrow F Figeroa
Munro G Morasca
Costa Q Ferencz
Wickens S Waycott
Juan Z Morasca
Mujtaba U Malet
Deepesh Z Flosi
Isabel V Stenseth
Alejandro I Garufi
IdCountryDate
1000Canada2025-04-17
1001Japan2025-04-19
1002Russia2025-04-14
1003Italy2025-05-02
1004Canada2025-04-23
1005Canada2025-04-19
1006Canada2025-04-18
1007Argentina2025-04-13
1008Germany2025-04-28
1009Argentina2025-04-23
1010Brazil2025-04-11
1011Germany2025-05-06
1012Canada2025-04-21
1013India2025-04-23
1014India2025-05-08
1015Russia2025-04-09
1016Spain2025-04-25
1017Canada2025-04-28
1018Spain2025-04-28
1019Australia2025-04-27
1020Canada2025-04-24
1021Australia2025-05-04
1022United Kingdom2025-04-09
1023Japan2025-04-22
1024United Kingdom2025-04-27
1025Spain2025-05-01
1026Brazil2025-05-01
1027Japan2025-05-01
1028Argentina2025-05-02
1029United Kingdom2025-05-04
1030Italy2025-05-05
1031Italy2025-04-20
1032Italy2025-04-13
1033United Kingdom2025-04-09
1034United Kingdom2025-04-18
1035Russia2025-05-08
1036Spain2025-05-05
1037Spain2025-04-09
1038Russia2025-04-14
1039Australia2025-04-22
1040India2025-04-30
1041Italy2025-04-10
1042Argentina2025-05-08
1043Italy2025-04-21
1044United Kingdom2025-05-01
1045United Kingdom2025-04-19
1046United Kingdom2025-04-18
1047India2025-04-24
1048Canada2025-04-25
1049Germany2025-05-08

On-Demand Data

NameIdCountryDate
Ricardo B Royster1000Argentina2025-04-25
Stacey H Amigon1001Australia2025-04-11
Mujtaba T Bolognia1002Japan2025-04-15
Jones E Chui1003Japan2025-04-23
Arvin H Stenseth1004Brazil2025-04-13
Murillo Z Bowley1005Russia2025-04-17
Kaitlin I Tollner1006Canada2025-05-07
Stacey P Stockham1007Russia2025-04-30
Emily G Ostrosky1008Australia2025-04-24
Cody T Caudy1009India2025-05-02
Aruna O Wieser1010India2025-04-10
Nicolas E Whobrey1011Australia2025-04-20
Deepesh I Kusko1012India2025-05-07
Rodrigues R Tollner1013India2025-04-19
David F Amigon1014Brazil2025-05-07
Isabel O Dilliard1015Brazil2025-04-25
Ricardo G Stenseth1016Japan2025-04-09
Clifford S Oldroyd1017Germany2025-04-09
Antonio D Inouye1018Spain2025-04-27
Sinclair T Campain1019Canada2025-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio R FerenczJapanAnna Fali QUALIFIED
Misaki C OstroskyCanadaStephen Shaw RENEWAL
Silvio Q WaycottBrazilIvan Magalhaes PROPOSAL
Mujtaba F MaletSpainAnna Fali NEW
David A GarufiJapanXuxue Feng UNQUALIFIED
Jeanfrancois Y RutaJapanAmy Elsner NEGOTIATION
Jeanfrancois M RulapaughArgentinaElwin Sharvill NEW
Morrow F StockhamAustraliaStephen Shaw RENEWAL
Cody Y DarakjyAustraliaIoni Bowcher PROPOSAL
Deepesh T WhobreyCanadaBernardo Dominic QUALIFIED
Deepesh I BologniaFranceOnyama Limba UNQUALIFIED
Jefferson O AlbaresAustraliaAmy Elsner PROPOSAL
Johnson P GarufiAustraliaStephen Shaw QUALIFIED
Clifford Z PaprockiBrazilAsiya Javayant RENEWAL
Morrow T OldroydRussiaIvan Magalhaes QUALIFIED
Faith C SchemmerIndiaStephen Shaw UNQUALIFIED
Cody M SergiCanadaAnna Fali NEGOTIATION
Greenwood D MaletJapanIvan Magalhaes QUALIFIED
Leon N StensethJapanStephen Shaw UNQUALIFIED
Francesco M FigeroaJapanBernardo Dominic UNQUALIFIED
Ivar G TollnerUnited KingdomAnna Fali QUALIFIED
Jefferson R FlosiAustraliaOnyama Limba NEW
Johnson V ChuiItalyStephen Shaw RENEWAL
Maria K FerenczArgentinaOnyama Limba UNQUALIFIED
Misaki S BologniaItalyAnna Fali QUALIFIED
Deepesh W GillianGermanyIvan Magalhaes PROPOSAL
Costa P BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Ivar G RimItalyBernardo Dominic NEW
Izzy F CaldareraJapanStephen Shaw UNQUALIFIED
Misaki O GlickGermanyOnyama Limba UNQUALIFIED
Munro V WhobreyAustraliaOnyama Limba UNQUALIFIED
Murillo Q BologniaUnited KingdomXuxue Feng NEGOTIATION
Claire N MaletGermanyIoni Bowcher RENEWAL
Silvio N MaletFranceIvan Magalhaes UNQUALIFIED
Nicolas R MacleadItalyIvan Magalhaes NEGOTIATION
Maria F OldroydItalyOnyama Limba QUALIFIED
Cody M NickaItalyElwin Sharvill QUALIFIED
Francesco W GarufiCanadaAsiya Javayant PROPOSAL
Aika M KolmetzCanadaXuxue Feng QUALIFIED
Murillo I MacleadJapanIvan Magalhaes NEGOTIATION

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