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 Z ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson T ChuiBrazilIvan Magalhaes QUALIFIED
Greenwood U RulapaughSpainBernardo Dominic PROPOSAL
Salvatore W VocelkaJapanAsiya Javayant RENEWAL
Leja M MacleadBrazilIoni Bowcher PROPOSAL
Morrow J CaldareraItalyBernardo Dominic RENEWAL
Jeanfrancois W AmigonCanadaAmy Elsner UNQUALIFIED
Wickens D FerenczUnited KingdomBernardo Dominic RENEWAL
Julie O PerinAustraliaElwin Sharvill RENEWAL
Wickens V VenereFranceIoni Bowcher PROPOSAL
Tony P RulapaughArgentinaElwin Sharvill RENEWAL
Jeanfrancois P FlosiSpainXuxue Feng QUALIFIED
Mujtaba J WaycottSpainStephen Shaw UNQUALIFIED
Maria M RoysterRussiaAmy Elsner QUALIFIED
Clifford M TollnerBrazilStephen Shaw RENEWAL
James I RoysterGermanyXuxue Feng RENEWAL
Jones G VenereSpainIoni Bowcher NEW
Izzy H GarufiUnited KingdomAnna Fali PROPOSAL
Alejandro W BologniaGermanyAmy Elsner NEW
Costa M RoysterItalyAmy Elsner PROPOSAL
Smith Z PaprockiUnited KingdomBernardo Dominic PROPOSAL
Francesco W RimAustraliaAmy Elsner UNQUALIFIED
Jefferson J DarakjyItalyAsiya Javayant RENEWAL
Jefferson L OstroskyBrazilElwin Sharvill QUALIFIED
Arvin S BologniaItalyXuxue Feng RENEWAL
Johnson R SlusarskiRussiaAnna Fali NEGOTIATION
Izzy E KuskoCanadaBernardo Dominic NEW
David S SaylorsUnited KingdomElwin Sharvill RENEWAL
Kaitlin O FerenczGermanyXuxue Feng QUALIFIED
Darci C SaylorsRussiaIoni Bowcher PROPOSAL
Aika P PerinGermanyBernardo Dominic RENEWAL
Aika V StensethCanadaIoni Bowcher QUALIFIED
Sinclair A FlosiRussiaIvan Magalhaes QUALIFIED
Francesco J MorascaArgentinaAnna Fali NEW
Antonio E BriddickFranceAnna Fali NEW
Misaki I ChuiFranceAnna Fali QUALIFIED
Rodrigues P FlosiSpainStephen Shaw PROPOSAL
Jeanfrancois Q KuskoUnited KingdomOnyama Limba NEW
Isabel C WaycottArgentinaIoni Bowcher NEW
Antonio V VenereUnited KingdomAmy Elsner NEW
Smith G CaldareraArgentinaOnyama Limba RENEWAL
Kadeem O FerenczAustraliaAmy Elsner RENEWAL
Octavia R FerenczSpainBernardo Dominic NEGOTIATION
Costa H FigeroaGermanyOnyama Limba NEW
Alejandro U GlickJapanOnyama Limba PROPOSAL
Johnson C DarakjyBrazilIvan Magalhaes PROPOSAL
Jefferson Z SergiJapanIoni Bowcher RENEWAL
Kadeem X GarufiItalyBernardo Dominic NEW
Mayumi M GarufiRussiaAmy Elsner NEGOTIATION
Ashley D WhobreySpainElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin P BriddickIndiaIoni Bowcher UNQUALIFIED
Francesco X AmigonIndiaStephen Shaw QUALIFIED
Clifford W CaldareraSpainAmy Elsner UNQUALIFIED
Leja G TollnerRussiaAmy Elsner NEGOTIATION
Jefferson J StensethFranceIoni Bowcher NEGOTIATION
Adams L GarufiFranceAnna Fali NEW
Silvio M CaudyFranceXuxue Feng UNQUALIFIED
Sinclair L MaletUnited KingdomElwin Sharvill UNQUALIFIED
Julie T VenereRussiaIoni Bowcher NEW
Costa J StockhamJapanAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya L CaldareraCanada2024-06-04Chapman, Ross E Esq QUALIFIED79Onyama Limba
1001Aika J FerenczIndia2024-05-26Rousseaux, Michael Esq RENEWAL88Ivan Magalhaes
1002Kaitlin U DoeGermany2024-06-22Rousseaux, Michael Esq UNQUALIFIED51Asiya Javayant
1003Johnson W NickaAustralia2024-06-15Buckley Miller Wright QUALIFIED98Amy Elsner
1004Francesco W DoeUnited Kingdom2024-06-21Feiner Bros NEW97Ioni Bowcher
1005Salvatore V KuskoBrazil2024-05-29Commercial Press PROPOSAL57Ivan Magalhaes
1006Octavia M WieserFrance2024-06-11Chanay, Jeffrey A Esq NEW52Onyama Limba
1007Greenwood Z ShinkoJapan2024-06-07King, Christopher A Esq NEW15Ivan Magalhaes
1008David Q RoysterCanada2024-06-18Truhlar And Truhlar Attys NEW26Elwin Sharvill
1009Juan W ButtCanada2024-06-04Rangoni Of Florence NEGOTIATION7Ivan Magalhaes
1010Wickens A SergiJapan2024-06-17Rousseaux, Michael Esq PROPOSAL54Stephen Shaw
1011James I SergiUnited Kingdom2024-06-14Benton, John B Jr PROPOSAL32Xuxue Feng
1012Francesco P PaprockiRussia2024-05-30Feiner Bros NEGOTIATION74Anna Fali
1013Octavia J RutaCanada2024-06-16Benton, John B Jr PROPOSAL75Onyama Limba
1014Misaki U MaletCanada2024-05-28Chapman, Ross E Esq RENEWAL27Asiya Javayant
1015Aruna P WhobreySpain2024-05-25Benton, John B Jr NEW7Amy Elsner
1016David A WaycottJapan2024-06-11Feltz Printing Service NEGOTIATION82Stephen Shaw
1017Kaitlin V InouyeAustralia2024-06-02Feiner Bros UNQUALIFIED72Xuxue Feng
1018Clifford L InouyeArgentina2024-06-08Commercial Press RENEWAL39Stephen Shaw
1019Chavez N GauchoSpain2024-06-23Printing Dimensions RENEWAL94Ivan Magalhaes
1020Maisha G FlosiAustralia2024-05-27Buckley Miller Wright NEW3Onyama Limba
1021Jones O CaudySpain2024-06-14Truhlar And Truhlar Attys PROPOSAL76Ivan Magalhaes
1022Ashley Y KuskoJapan2024-06-08Buckley Miller Wright QUALIFIED21Bernardo Dominic
1023Greenwood N NickaAustralia2024-06-02Commercial Press UNQUALIFIED59Anna Fali
1024Emily G MorascaAustralia2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED33Amy Elsner
1025Johnson I KolmetzItaly2024-05-25Rangoni Of Florence QUALIFIED86Amy Elsner
1026Maisha B FlosiAustralia2024-06-18Printing Dimensions RENEWAL95Anna Fali
1027Kadeem Y GarufiCanada2024-05-29Commercial Press PROPOSAL54Bernardo Dominic
1028Mujtaba E FerenczJapan2024-06-15Feltz Printing Service UNQUALIFIED20Xuxue Feng
1029Deepesh E FollerCanada2024-06-13Feiner Bros NEGOTIATION66Ivan Magalhaes
1030Antonio U IturbideIndia2024-05-30Chemel, James L Cpa PROPOSAL98Asiya Javayant
1031Sinclair U DilliardItaly2024-05-31Morlong Associates UNQUALIFIED12Ioni Bowcher
1032Johnson Y InouyeItaly2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED4Xuxue Feng
1033Tony B CaldareraGermany2024-06-04Chapman, Ross E Esq NEW17Ivan Magalhaes
1034Aditya J CaudyGermany2024-06-15Rangoni Of Florence QUALIFIED64Xuxue Feng
1035Clifford Z TollnerFrance2024-05-27Commercial Press QUALIFIED85Ioni Bowcher
1036Mujtaba W OldroydArgentina2024-05-28Feltz Printing Service RENEWAL73Xuxue Feng
1037Aditya I VenereCanada2024-06-02Feltz Printing Service PROPOSAL35Ioni Bowcher
1038Jennifer B RoysterGermany2024-06-06Morlong Associates UNQUALIFIED18Asiya Javayant
1039Aika V ShinkoGermany2024-05-26Dorl, James J Esq QUALIFIED46Onyama Limba
1040Aditya P FlosiIndia2024-06-17Benton, John B Jr PROPOSAL21Asiya Javayant
1041Maria S CampainSpain2024-05-26Chemel, James L Cpa NEGOTIATION45Amy Elsner
1042Claire J MaletGermany2024-06-09Morlong Associates NEGOTIATION82Anna Fali
1043Greenwood E BriddickIndia2024-05-30Buckley Miller Wright QUALIFIED45Ioni Bowcher
1044Maria L MacleadSpain2024-06-10Printing Dimensions PROPOSAL43Stephen Shaw
1045Ricardo P FerenczGermany2024-06-23Rousseaux, Michael Esq NEW27Asiya Javayant
1046Aditya A PaprockiJapan2024-06-12King, Christopher A Esq QUALIFIED17Onyama Limba
1047Costa J FigeroaSpain2024-06-17Printing Dimensions NEGOTIATION19Bernardo Dominic
1048Deepesh M StockhamItaly2024-06-16King, Christopher A Esq UNQUALIFIED2Elwin Sharvill
1049Rodrigues C FigeroaIndia2024-06-10Commercial Press RENEWAL58Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mayumi Y PaprockiArgentinaOnyama Limba NEW
Adams X BologniaAustraliaStephen Shaw UNQUALIFIED
Aditya V WaycottGermanyXuxue Feng QUALIFIED
Darci M MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Greenwood L FlosiFranceAmy Elsner RENEWAL
Izzy W SergiGermanyElwin Sharvill PROPOSAL
Claire I TollnerUnited KingdomAsiya Javayant NEGOTIATION
Ashley W GarufiUnited KingdomIvan Magalhaes PROPOSAL
Greenwood V GlickSpainOnyama Limba UNQUALIFIED
Murillo E RoysterItalyXuxue Feng NEGOTIATION
Wickens Q DilliardItalyAmy Elsner QUALIFIED
Faith C NickaGermanyAsiya Javayant NEW
Jennifer H ButtFranceIoni Bowcher UNQUALIFIED
Ricardo W GauchoSpainAmy Elsner UNQUALIFIED
James J MorascaBrazilOnyama Limba NEGOTIATION
Morrow U StensethAustraliaAsiya Javayant UNQUALIFIED
Stacey U RulapaughItalyStephen Shaw NEW
Claire X GillianAustraliaOnyama Limba PROPOSAL
Jennifer X ChuiGermanyAsiya Javayant PROPOSAL
Jennifer V GarufiBrazilElwin Sharvill NEGOTIATION
Tony T FerenczJapanStephen Shaw NEW
Julie I RulapaughRussiaBernardo Dominic UNQUALIFIED
Darci E VocelkaRussiaAnna Fali RENEWAL
Salvatore L GlickGermanyIvan Magalhaes UNQUALIFIED
Izzy J MaletAustraliaBernardo Dominic UNQUALIFIED
Morrow Q RulapaughBrazilAsiya Javayant NEW
Izzy J DilliardJapanAmy Elsner QUALIFIED
Smith X BologniaJapanBernardo Dominic NEW
Cody O WieserUnited KingdomAnna Fali UNQUALIFIED
Maisha R CaldareraJapanIvan Magalhaes UNQUALIFIED
Leon N OstroskyGermanyOnyama Limba UNQUALIFIED
Greenwood J GarufiFranceStephen Shaw QUALIFIED
James U MacleadIndiaIvan Magalhaes PROPOSAL
Isabel P StensethUnited KingdomAsiya Javayant NEGOTIATION
Jones B KolmetzFranceXuxue Feng PROPOSAL
Aditya D KolmetzBrazilXuxue Feng NEW
Johnson I RoysterFranceOnyama Limba NEGOTIATION
Maisha D GarufiItalyOnyama Limba NEGOTIATION
Aditya Q GlickFranceAsiya Javayant NEW
Aditya O NestleUnited KingdomAsiya Javayant PROPOSAL
Julie X KuskoBrazilIvan Magalhaes UNQUALIFIED
Smith Z DoeSpainIoni Bowcher NEW
Costa T SergiArgentinaIoni Bowcher PROPOSAL
Rodrigues B OldroydArgentinaStephen Shaw UNQUALIFIED
Juan E PaprockiItalyIvan Magalhaes QUALIFIED
Greenwood G SaylorsGermanyStephen Shaw NEW
Francesco V KuskoGermanyStephen Shaw NEW
Maria W FerenczJapanStephen Shaw QUALIFIED
Misaki Z SlusarskiArgentinaStephen Shaw PROPOSAL
Cody O PoquetteUnited KingdomOnyama Limba RENEWAL
Frozen Columns
Name
Mujtaba N Morasca
James L Albares
Arvin Y Paprocki
Leja D Gaucho
Aika M Bowley
Smith W Ferencz
Alejandro Z Inouye
Izzy C Caldarera
Antonio R Foller
Johnson Y Stenseth
Jones Y Malet
Deepesh Z Tollner
Julie F Figeroa
Isabel N Stenseth
Jeanfrancois L Kusko
Chavez C Oldroyd
Jones H Ferencz
Munro A Waycott
Francesco E Bolognia
Wickens A Albares
Chavez M Perin
Jones A Caudy
Mayumi B Wieser
Salvatore J Bowley
Emily T Vocelka
James H Darakjy
Faith L Caldarera
Darci T Perin
Stacey R Wieser
Adams E Rulapaugh
Mujtaba C Garufi
Kaitlin V Flosi
Munro N Nestle
Tony M Kusko
Nicolas R Rulapaugh
James O Stockham
Ricardo E Kusko
Silvio Z Poquette
Cody U Royster
Deepesh W Glick
Ivar L Inouye
Ivar J Ferencz
Ashley J Ferencz
Faith N Butt
Nicolas X Malet
Maisha T Ruta
Maria C Waycott
Adams Q Kolmetz
Murillo I Inouye
Morrow J Maclead
IdCountryDate
1000Australia2024-06-02
1001Germany2024-06-21
1002India2024-06-10
1003Australia2024-06-15
1004United Kingdom2024-06-22
1005Brazil2024-06-17
1006Japan2024-06-04
1007Japan2024-06-13
1008Argentina2024-05-31
1009Spain2024-06-04
1010Brazil2024-06-13
1011Australia2024-06-18
1012Germany2024-05-31
1013Italy2024-05-30
1014Russia2024-05-26
1015Argentina2024-06-11
1016Russia2024-05-27
1017Germany2024-06-04
1018India2024-06-21
1019Germany2024-06-20
1020France2024-05-25
1021Australia2024-06-23
1022Brazil2024-06-22
1023Brazil2024-05-27
1024India2024-06-06
1025Spain2024-06-17
1026Australia2024-06-07
1027France2024-06-02
1028Germany2024-06-22
1029France2024-06-01
1030Japan2024-06-12
1031Japan2024-05-28
1032Spain2024-06-04
1033Italy2024-05-29
1034Russia2024-06-08
1035Australia2024-06-16
1036Australia2024-06-09
1037Canada2024-06-14
1038Canada2024-06-03
1039Brazil2024-06-19
1040Japan2024-05-30
1041Germany2024-06-15
1042Germany2024-06-10
1043France2024-05-28
1044United Kingdom2024-06-09
1045Russia2024-06-06
1046Japan2024-06-17
1047Australia2024-05-31
1048Russia2024-06-15
1049Spain2024-05-30

On-Demand Data

NameIdCountryDate
Maisha J Amigon1000India2024-06-09
Greenwood Q Nestle1001Russia2024-06-07
Stacey I Malet1002Germany2024-05-28
Tony K Wieser1003Spain2024-05-30
Jefferson T Saylors1004Italy2024-06-16
Izzy Z Gaucho1005Germany2024-06-13
Rodrigues B Figeroa1006Japan2024-06-10
Mujtaba P Venere1007Russia2024-06-14
Salvatore Q Oldroyd1008Russia2024-05-26
Isabel X Perin1009Germany2024-06-10
Leon D Oldroyd1010Spain2024-06-04
Aruna G Rim1011Japan2024-06-11
Rodrigues Q Royster1012Japan2024-05-29
Leon C Rim1013Spain2024-06-09
Maisha O Vocelka1014Japan2024-06-01
Tony C Glick1015Russia2024-05-31
Jones G Poquette1016Argentina2024-06-21
Greenwood Z Perin1017Australia2024-06-21
Smith W Garufi1018Japan2024-06-15
Misaki E Nicka1019Italy2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Y KolmetzArgentinaStephen Shaw PROPOSAL
Leon B IturbideJapanAnna Fali QUALIFIED
Claire V VocelkaArgentinaOnyama Limba UNQUALIFIED
Darci L MacleadGermanyIvan Magalhaes NEGOTIATION
Leja C DarakjyAustraliaAmy Elsner UNQUALIFIED
Leon Y BologniaBrazilAsiya Javayant NEGOTIATION
Murillo H BriddickSpainStephen Shaw NEGOTIATION
Juan F PerinBrazilIvan Magalhaes NEW
Silvio R DarakjyCanadaOnyama Limba RENEWAL
Nicolas L SergiFranceAsiya Javayant RENEWAL
Izzy Y KolmetzIndiaIoni Bowcher PROPOSAL
James F CampainGermanyStephen Shaw NEGOTIATION
Faith Q DilliardCanadaIvan Magalhaes NEGOTIATION
Wickens F WieserRussiaAmy Elsner NEGOTIATION
Isabel O GillianJapanAnna Fali UNQUALIFIED
Octavia X InouyeUnited KingdomIvan Magalhaes PROPOSAL
Juan G SaylorsFranceIvan Magalhaes PROPOSAL
Julie U WaycottSpainElwin Sharvill QUALIFIED
Juan F FlosiFranceOnyama Limba NEGOTIATION
Aditya P PerinGermanyOnyama Limba RENEWAL
David V StockhamBrazilOnyama Limba RENEWAL
Ricardo P NickaJapanBernardo Dominic NEW
Isabel N SaylorsBrazilBernardo Dominic UNQUALIFIED
Aika Q FigeroaUnited KingdomIvan Magalhaes RENEWAL
Isabel B CaudyItalyBernardo Dominic RENEWAL
Aika O GarufiRussiaOnyama Limba UNQUALIFIED
Morrow Z IturbideUnited KingdomStephen Shaw RENEWAL
Leon T RutaCanadaXuxue Feng NEGOTIATION
Wickens Q MorascaArgentinaBernardo Dominic NEW
Alejandro C MaletGermanyIvan Magalhaes NEGOTIATION
Aditya B AmigonAustraliaAnna Fali QUALIFIED
Deepesh J SchemmerSpainBernardo Dominic NEGOTIATION
Silvio Z RoysterIndiaAsiya Javayant UNQUALIFIED
Mujtaba Y RutaIndiaBernardo Dominic RENEWAL
Aika C AmigonCanadaAnna Fali NEW
Salvatore L MacleadAustraliaAnna Fali PROPOSAL
Octavia L IturbideIndiaStephen Shaw RENEWAL
Jones D StensethRussiaStephen Shaw NEW
Adams I PoquetteJapanOnyama Limba NEW
Leja V FlosiBrazilElwin Sharvill 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>