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
Nicolas X MarrierGermanyBernardo Dominic UNQUALIFIED
Greenwood I CaudyIndiaIvan Magalhaes QUALIFIED
Sinclair W MaletItalyIoni Bowcher QUALIFIED
Julie P MaletSpainStephen Shaw UNQUALIFIED
James R OldroydSpainXuxue Feng PROPOSAL
Morrow I StockhamIndiaXuxue Feng PROPOSAL
Tony O KolmetzItalyOnyama Limba RENEWAL
Munro H WaycottAustraliaElwin Sharvill PROPOSAL
Julie T RimIndiaStephen Shaw UNQUALIFIED
Alejandro W RoysterRussiaOnyama Limba NEGOTIATION
Kadeem F GlickGermanyElwin Sharvill NEGOTIATION
Salvatore X SlusarskiAustraliaStephen Shaw PROPOSAL
Jefferson W AmigonJapanElwin Sharvill UNQUALIFIED
Mujtaba L OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo C SchemmerAustraliaXuxue Feng UNQUALIFIED
Izzy X TollnerAustraliaAmy Elsner RENEWAL
Aditya Y GlickJapanOnyama Limba NEGOTIATION
Misaki L WieserAustraliaIvan Magalhaes PROPOSAL
Mayumi E ButtRussiaStephen Shaw RENEWAL
Johnson O MacleadSpainStephen Shaw PROPOSAL
Maria T BriddickSpainXuxue Feng NEW
Ricardo Z GillianGermanyAsiya Javayant RENEWAL
Alejandro U VenereUnited KingdomOnyama Limba NEGOTIATION
Aruna K AlbaresRussiaAsiya Javayant NEW
Julie C RimArgentinaAmy Elsner NEGOTIATION
Adams Y OldroydFranceAsiya Javayant QUALIFIED
Greenwood P InouyeItalyElwin Sharvill NEGOTIATION
Tony R RutaArgentinaIoni Bowcher PROPOSAL
Misaki H MarrierCanadaStephen Shaw NEGOTIATION
Aditya Q MorascaBrazilElwin Sharvill NEW
Juan N AmigonBrazilOnyama Limba NEW
Jennifer P ChuiGermanyAsiya Javayant QUALIFIED
Isabel G CaldareraRussiaIoni Bowcher QUALIFIED
Chavez T ButtCanadaStephen Shaw UNQUALIFIED
Deepesh O AlbaresBrazilElwin Sharvill RENEWAL
James W RutaCanadaIvan Magalhaes RENEWAL
James D MacleadGermanyOnyama Limba NEW
Octavia E PaprockiSpainAsiya Javayant UNQUALIFIED
Mayumi X FigeroaSpainIoni Bowcher NEGOTIATION
Izzy Q SaylorsRussiaElwin Sharvill RENEWAL
Arvin M OldroydUnited KingdomIvan Magalhaes NEW
James P FollerSpainElwin Sharvill UNQUALIFIED
Jones T WieserCanadaAsiya Javayant NEW
Leon U SergiBrazilOnyama Limba UNQUALIFIED
Juan F MorascaBrazilBernardo Dominic NEGOTIATION
Tony N PerinJapanIoni Bowcher PROPOSAL
Julie X KuskoSpainBernardo Dominic UNQUALIFIED
Ivar Y GauchoSpainElwin Sharvill PROPOSAL
Wickens H WaycottGermanyAnna Fali NEGOTIATION
Isabel H BowleyJapanAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Izzy V StockhamArgentinaAmy Elsner RENEWAL
Juan U TollnerAustraliaElwin Sharvill QUALIFIED
Stacey J InouyeBrazilAnna Fali NEW
Murillo V TollnerJapanElwin Sharvill NEGOTIATION
Ashley N MaletArgentinaAsiya Javayant RENEWAL
Clifford U WhobreyGermanyAnna Fali QUALIFIED
Julie F BowleyFranceOnyama Limba NEW
Ivar U DarakjyGermanyAsiya Javayant QUALIFIED
Ashley J BologniaArgentinaIoni Bowcher RENEWAL
Leja U DoeFranceElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar T OstroskyJapan2026-06-25Rangoni Of Florence NEW67Onyama Limba
1001Murillo U FlosiIndia2026-07-12Dorl, James J Esq QUALIFIED29Asiya Javayant
1002Alejandro V InouyeJapan2026-06-21Commercial Press NEGOTIATION57Bernardo Dominic
1003Isabel N PoquetteArgentina2026-06-23Feltz Printing Service NEGOTIATION57Elwin Sharvill
1004Izzy U BriddickJapan2026-06-21Chemel, James L Cpa NEW95Asiya Javayant
1005Adams L PaprockiArgentina2026-06-22Chapman, Ross E Esq UNQUALIFIED62Bernardo Dominic
1006Jefferson Y MarrierCanada2026-06-17Rangoni Of Florence UNQUALIFIED21Elwin Sharvill
1007Murillo Y ShinkoIndia2026-07-07Benton, John B Jr NEW89Amy Elsner
1008Claire T OldroydBrazil2026-06-26Chemel, James L Cpa RENEWAL17Ioni Bowcher
1009Wickens H InouyeArgentina2026-06-21Buckley Miller Wright NEW88Bernardo Dominic
1010Morrow Z GillianArgentina2026-07-10Feiner Bros UNQUALIFIED68Ivan Magalhaes
1011Adams E KolmetzCanada2026-06-28Morlong Associates PROPOSAL45Bernardo Dominic
1012Murillo A ChuiJapan2026-07-12Feltz Printing Service PROPOSAL16Anna Fali
1013Mujtaba E MaletIndia2026-07-15Morlong Associates UNQUALIFIED58Elwin Sharvill
1014Wickens F ShinkoUnited Kingdom2026-06-18Rangoni Of Florence NEW70Ioni Bowcher
1015Maria K DarakjySpain2026-07-10Truhlar And Truhlar Attys NEW12Amy Elsner
1016Julie K ChuiUnited Kingdom2026-06-29Truhlar And Truhlar Attys NEGOTIATION27Bernardo Dominic
1017Mujtaba P RimUnited Kingdom2026-06-24Buckley Miller Wright NEGOTIATION96Anna Fali
1018Darci I DarakjyFrance2026-07-06King, Christopher A Esq RENEWAL87Asiya Javayant
1019Costa I WaycottBrazil2026-07-13Morlong Associates PROPOSAL71Onyama Limba
1020Sinclair K CaudyBrazil2026-07-07Rangoni Of Florence QUALIFIED2Asiya Javayant
1021Rodrigues M ChuiGermany2026-06-24Commercial Press QUALIFIED17Asiya Javayant
1022Rodrigues E ButtGermany2026-06-21Rangoni Of Florence QUALIFIED7Onyama Limba
1023Faith Y DarakjyJapan2026-06-19Feiner Bros QUALIFIED18Elwin Sharvill
1024Greenwood I InouyeFrance2026-07-12Buckley Miller Wright NEGOTIATION97Onyama Limba
1025Ivar O FollerRussia2026-07-02Rangoni Of Florence PROPOSAL80Bernardo Dominic
1026Rodrigues C GlickIndia2026-07-06Buckley Miller Wright QUALIFIED48Ivan Magalhaes
1027Wickens W DoeJapan2026-06-25Benton, John B Jr NEGOTIATION60Bernardo Dominic
1028Aika A StockhamArgentina2026-07-06Printing Dimensions PROPOSAL56Xuxue Feng
1029Smith S TollnerFrance2026-06-28Feiner Bros RENEWAL87Onyama Limba
1030Maisha K VocelkaIndia2026-06-24Rousseaux, Michael Esq QUALIFIED18Ivan Magalhaes
1031Jeanfrancois N BowleyUnited Kingdom2026-07-02Buckley Miller Wright RENEWAL58Ioni Bowcher
1032Jones H CampainCanada2026-07-10Chapman, Ross E Esq UNQUALIFIED3Stephen Shaw
1033Chavez R WieserJapan2026-06-19Printing Dimensions NEGOTIATION76Xuxue Feng
1034Emily A FlosiIndia2026-06-25Truhlar And Truhlar Attys QUALIFIED42Onyama Limba
1035Rodrigues Q AlbaresSpain2026-06-18King, Christopher A Esq NEW23Ioni Bowcher
1036Mayumi J NestleAustralia2026-06-21Feiner Bros QUALIFIED72Ivan Magalhaes
1037Jefferson K ChuiIndia2026-07-03Buckley Miller Wright PROPOSAL91Bernardo Dominic
1038Smith P KolmetzFrance2026-06-17King, Christopher A Esq QUALIFIED82Amy Elsner
1039Greenwood W KolmetzSpain2026-07-15Feltz Printing Service UNQUALIFIED37Anna Fali
1040Murillo S VocelkaIndia2026-07-11Rangoni Of Florence PROPOSAL53Onyama Limba
1041Aika D StockhamCanada2026-06-17Feltz Printing Service QUALIFIED64Amy Elsner
1042Francesco O FerenczGermany2026-06-20Rangoni Of Florence NEGOTIATION22Anna Fali
1043Jones G GillianItaly2026-06-21Benton, John B Jr QUALIFIED80Stephen Shaw
1044Mujtaba O RimBrazil2026-07-03Chemel, James L Cpa RENEWAL67Ioni Bowcher
1045Mayumi R VenereGermany2026-07-03Feiner Bros UNQUALIFIED44Stephen Shaw
1046Izzy V PaprockiSpain2026-06-24Buckley Miller Wright NEGOTIATION17Bernardo Dominic
1047Ashley I RulapaughJapan2026-06-21Dorl, James J Esq PROPOSAL66Amy Elsner
1048Izzy R RimJapan2026-07-16Dorl, James J Esq UNQUALIFIED3Stephen Shaw
1049Juan V PaprockiUnited Kingdom2026-07-10Chanay, Jeffrey A Esq QUALIFIED14Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Adams Q TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Maisha B MaletGermanyIoni Bowcher NEW
Aditya E VocelkaIndiaElwin Sharvill NEGOTIATION
Jefferson D CaudyFranceAnna Fali NEGOTIATION
Arvin I StockhamIndiaElwin Sharvill PROPOSAL
Sinclair Z OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Maisha E ButtItalyStephen Shaw QUALIFIED
Jennifer B FerenczCanadaXuxue Feng NEW
Julie V FlosiFranceElwin Sharvill NEW
Jennifer L SaylorsGermanyBernardo Dominic RENEWAL
Tony F ButtRussiaAnna Fali RENEWAL
Adams R RutaAustraliaOnyama Limba NEW
Rodrigues K PoquetteFranceAmy Elsner NEGOTIATION
Jefferson F WhobreyArgentinaStephen Shaw UNQUALIFIED
Munro D IturbideUnited KingdomIoni Bowcher PROPOSAL
Wickens G StensethIndiaStephen Shaw UNQUALIFIED
Cody Z GillianCanadaIoni Bowcher NEW
Tony D RoysterArgentinaBernardo Dominic UNQUALIFIED
Tony H StensethArgentinaAmy Elsner RENEWAL
Morrow I AmigonSpainAnna Fali RENEWAL
Antonio K DoeJapanAsiya Javayant RENEWAL
Jennifer J DilliardItalyIvan Magalhaes QUALIFIED
Salvatore L DarakjyIndiaAmy Elsner NEGOTIATION
Adams V StockhamAustraliaIoni Bowcher UNQUALIFIED
Octavia R GillianIndiaAmy Elsner NEGOTIATION
Adams F FigeroaFranceAmy Elsner PROPOSAL
Nicolas J StensethItalyElwin Sharvill QUALIFIED
David Z StensethCanadaIoni Bowcher NEGOTIATION
Juan C InouyeGermanyIoni Bowcher UNQUALIFIED
Aditya C BowleyGermanyStephen Shaw UNQUALIFIED
Maria B RutaCanadaAnna Fali QUALIFIED
Clifford P IturbideUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues O BowleyBrazilAmy Elsner QUALIFIED
Jennifer T CampainSpainAnna Fali PROPOSAL
Ricardo S KolmetzCanadaAsiya Javayant NEW
Julie X SlusarskiItalyElwin Sharvill NEGOTIATION
Ashley H KolmetzItalyAmy Elsner PROPOSAL
Greenwood N WieserAustraliaOnyama Limba RENEWAL
Leon X RutaUnited KingdomElwin Sharvill PROPOSAL
Greenwood F MarrierJapanBernardo Dominic QUALIFIED
Smith J GillianSpainIoni Bowcher NEW
Aditya U IturbideIndiaAnna Fali UNQUALIFIED
Nicolas D CaldareraArgentinaIoni Bowcher QUALIFIED
Wickens Z GarufiAustraliaStephen Shaw QUALIFIED
Julie G DoeFranceStephen Shaw PROPOSAL
Maisha B GauchoArgentinaXuxue Feng PROPOSAL
Isabel R KolmetzAustraliaAnna Fali RENEWAL
Faith A WaycottArgentinaAsiya Javayant RENEWAL
Misaki V InouyeRussiaAsiya Javayant NEGOTIATION
Adams Z WaycottIndiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Izzy D Rim
Ivar A Butt
Arvin O Wieser
David P Albares
Faith Z Ostrosky
Sinclair X Chui
Antonio A Gillian
Nicolas V Bolognia
Chavez Y Paprocki
Darci C Vocelka
Mayumi Y Sergi
Jeanfrancois S Wieser
David R Dilliard
Mujtaba V Poquette
Stacey C Dilliard
Aruna Q Gillian
Mujtaba L Doe
Tony W Rulapaugh
Leon S Bolognia
Francesco C Campain
Rodrigues A Chui
Salvatore T Shinko
Misaki P Albares
Salvatore B Inouye
Johnson F Saylors
Aditya L Ferencz
Costa U Gaucho
Morrow F Poquette
Munro Q Bowley
Silvio M Gaucho
Cody A Amigon
Jeanfrancois Z Nestle
Maria W Garufi
Sinclair O Tollner
Kadeem Y Perin
Maria I Nicka
Izzy C Tollner
Leja F Perin
Ricardo S Royster
Jennifer H Albares
Leja J Gillian
Jefferson R Tollner
Izzy B Maclead
Leja K Marrier
Ivar I Figeroa
Munro X Figeroa
Alejandro I Royster
Juan M Maclead
Sinclair R Dilliard
Sinclair Z Gillian
IdCountryDate
1000Spain2026-07-07
1001Spain2026-06-23
1002Germany2026-07-16
1003Germany2026-07-14
1004Germany2026-06-28
1005United Kingdom2026-06-21
1006Spain2026-06-19
1007France2026-06-20
1008Australia2026-07-11
1009France2026-06-23
1010Italy2026-07-11
1011Germany2026-06-28
1012Japan2026-06-25
1013Brazil2026-06-19
1014Brazil2026-06-17
1015Brazil2026-06-25
1016Russia2026-06-30
1017Australia2026-06-25
1018Italy2026-07-12
1019Brazil2026-06-25
1020Argentina2026-06-25
1021Italy2026-07-16
1022Brazil2026-06-24
1023Germany2026-07-11
1024Japan2026-06-26
1025Argentina2026-07-15
1026France2026-07-12
1027United Kingdom2026-07-15
1028Argentina2026-06-22
1029Russia2026-07-09
1030Argentina2026-07-15
1031Italy2026-07-03
1032Canada2026-07-09
1033United Kingdom2026-07-07
1034Russia2026-07-11
1035Canada2026-06-27
1036Germany2026-06-19
1037Japan2026-07-07
1038United Kingdom2026-07-11
1039Russia2026-06-19
1040Canada2026-07-13
1041Italy2026-07-01
1042Italy2026-07-06
1043Italy2026-06-17
1044France2026-07-16
1045Japan2026-07-14
1046Australia2026-06-25
1047Italy2026-06-20
1048Italy2026-07-12
1049Canada2026-07-02

On-Demand Data

NameIdCountryDate
Jeanfrancois Y Vocelka1000Russia2026-07-14
Johnson S Oldroyd1001Australia2026-06-21
Ricardo S Waycott1002Australia2026-07-14
James B Morasca1003Brazil2026-07-15
Francesco I Shinko1004Australia2026-07-14
Kadeem M Poquette1005Brazil2026-06-27
Ricardo X Amigon1006Argentina2026-07-10
Antonio H Wieser1007Italy2026-06-22
Ricardo H Glick1008Canada2026-06-22
Leja G Gaucho1009United Kingdom2026-06-24
Rodrigues H Kusko1010Spain2026-06-23
Munro L Garufi1011Australia2026-06-20
Darci Q Amigon1012Spain2026-06-29
Adams G Stenseth1013India2026-07-09
Juan L Iturbide1014France2026-06-17
Wickens R Campain1015Germany2026-06-26
Jeanfrancois T Garufi1016Russia2026-07-16
Aika Q Shinko1017India2026-06-21
Ricardo C Wieser1018Australia2026-07-08
Octavia I Waycott1019Italy2026-07-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria B VenereRussiaOnyama Limba PROPOSAL
Jennifer C ChuiBrazilElwin Sharvill UNQUALIFIED
Maisha E GarufiIndiaXuxue Feng QUALIFIED
Murillo V SergiBrazilBernardo Dominic RENEWAL
Arvin D SlusarskiAustraliaXuxue Feng RENEWAL
Morrow G WhobreyGermanyOnyama Limba QUALIFIED
Mayumi D DoeAustraliaBernardo Dominic PROPOSAL
Mujtaba S GauchoUnited KingdomAnna Fali UNQUALIFIED
Darci Z CaudyArgentinaAnna Fali NEGOTIATION
Smith D RimIndiaOnyama Limba NEGOTIATION
Ashley Q NickaIndiaXuxue Feng NEW
Claire L VocelkaUnited KingdomStephen Shaw PROPOSAL
Juan L CampainCanadaElwin Sharvill RENEWAL
Darci J MorascaFranceStephen Shaw RENEWAL
Smith R SergiIndiaXuxue Feng NEW
Nicolas U StockhamSpainAmy Elsner NEGOTIATION
Rodrigues L TollnerRussiaBernardo Dominic NEW
Izzy O DarakjyCanadaIoni Bowcher RENEWAL
Emily U PaprockiAustraliaBernardo Dominic PROPOSAL
Wickens W WaycottCanadaXuxue Feng UNQUALIFIED
Octavia Q SergiFranceOnyama Limba QUALIFIED
Mujtaba J RimBrazilIoni Bowcher RENEWAL
Kadeem V RulapaughCanadaAnna Fali NEGOTIATION
James M PaprockiItalyIoni Bowcher NEW
Kaitlin S BriddickItalyXuxue Feng NEGOTIATION
Stacey I PerinCanadaAnna Fali PROPOSAL
Leja Z OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Morrow N FlosiRussiaOnyama Limba PROPOSAL
Silvio K SaylorsRussiaElwin Sharvill RENEWAL
Jefferson B DarakjyAustraliaBernardo Dominic QUALIFIED
Mujtaba T PerinItalyElwin Sharvill UNQUALIFIED
Morrow T WieserArgentinaOnyama Limba RENEWAL
Faith T StensethAustraliaAnna Fali UNQUALIFIED
Aditya C RoysterSpainAnna Fali PROPOSAL
Alejandro B StensethIndiaAsiya Javayant PROPOSAL
Aika S MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Chavez I CampainUnited KingdomAmy Elsner RENEWAL
Leja V MarrierBrazilIoni Bowcher UNQUALIFIED
Nicolas J ChuiUnited KingdomBernardo Dominic NEGOTIATION
Stacey A VocelkaRussiaOnyama Limba 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>