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
Jefferson L SaylorsGermanyBernardo Dominic PROPOSAL
Juan L GlickAustraliaStephen Shaw UNQUALIFIED
Leja S GlickFranceAnna Fali RENEWAL
Adams S PaprockiArgentinaIvan Magalhaes RENEWAL
Leja E RimRussiaAsiya Javayant QUALIFIED
Greenwood M RutaItalyOnyama Limba UNQUALIFIED
Aruna X WaycottJapanOnyama Limba RENEWAL
Misaki U RoysterCanadaOnyama Limba QUALIFIED
Claire U MaletCanadaIvan Magalhaes RENEWAL
Kadeem R AmigonUnited KingdomOnyama Limba PROPOSAL
Antonio N NickaCanadaAmy Elsner UNQUALIFIED
Faith M SergiArgentinaAnna Fali PROPOSAL
Claire C CaudyCanadaXuxue Feng RENEWAL
Ivar K FlosiSpainElwin Sharvill NEW
Salvatore K CaudyAustraliaAnna Fali QUALIFIED
Octavia P PoquetteFranceAnna Fali NEGOTIATION
Greenwood V PoquetteRussiaBernardo Dominic RENEWAL
Jeanfrancois T MorascaArgentinaStephen Shaw RENEWAL
Maisha V OldroydItalyBernardo Dominic PROPOSAL
Clifford W FerenczFranceStephen Shaw QUALIFIED
Wickens E BriddickItalyIvan Magalhaes NEW
Chavez B VenereGermanyAnna Fali NEGOTIATION
Alejandro R ButtAustraliaAmy Elsner RENEWAL
Aika G RulapaughAustraliaXuxue Feng RENEWAL
Isabel H MaletItalyAnna Fali NEW
Jefferson Z SlusarskiFranceAnna Fali NEGOTIATION
Rodrigues W KuskoGermanyOnyama Limba UNQUALIFIED
Arvin S CaldareraItalyAnna Fali UNQUALIFIED
Greenwood W WaycottFranceIoni Bowcher NEGOTIATION
Maisha P FerenczRussiaElwin Sharvill RENEWAL
Stacey Q VocelkaFranceBernardo Dominic PROPOSAL
Mujtaba K BriddickIndiaStephen Shaw QUALIFIED
Aika T SaylorsRussiaAnna Fali UNQUALIFIED
Leon A SaylorsRussiaBernardo Dominic RENEWAL
Francesco D VenereItalyBernardo Dominic QUALIFIED
Chavez P AlbaresIndiaAmy Elsner PROPOSAL
David Q AmigonFranceIoni Bowcher NEW
Misaki A FigeroaIndiaAnna Fali UNQUALIFIED
Ricardo E DilliardUnited KingdomXuxue Feng NEGOTIATION
Juan U GlickRussiaAmy Elsner UNQUALIFIED
Ashley N NickaFranceIvan Magalhaes UNQUALIFIED
Cody G RulapaughSpainOnyama Limba PROPOSAL
Maisha W SchemmerJapanXuxue Feng PROPOSAL
Arvin S StockhamItalyAsiya Javayant QUALIFIED
David D FollerIndiaAsiya Javayant NEGOTIATION
Misaki D CaudyCanadaIoni Bowcher RENEWAL
Jones Y GillianGermanyOnyama Limba NEW
Jeanfrancois S SlusarskiIndiaAsiya Javayant NEW
Murillo O CaudyIndiaStephen Shaw NEGOTIATION
Murillo A NestleAustraliaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Stacey N InouyeJapanElwin Sharvill NEW
Juan D FollerItalyIoni Bowcher NEGOTIATION
Mujtaba I IturbideSpainElwin Sharvill RENEWAL
Antonio R RimFranceAsiya Javayant UNQUALIFIED
Isabel C TollnerFranceAnna Fali UNQUALIFIED
Ricardo Y OstroskyIndiaXuxue Feng PROPOSAL
Jeanfrancois S FlosiUnited KingdomXuxue Feng QUALIFIED
Murillo K ShinkoAustraliaXuxue Feng QUALIFIED
Jennifer H MorascaBrazilAnna Fali UNQUALIFIED
Misaki C DilliardSpainAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith F MaletSpain2026-08-31Chapman, Ross E Esq NEGOTIATION24Ioni Bowcher
1001Isabel R AmigonItaly2026-08-21Feltz Printing Service NEW73Onyama Limba
1002Octavia R BriddickSpain2026-08-11Commercial Press NEW33Stephen Shaw
1003Rodrigues S SchemmerUnited Kingdom2026-08-26Morlong Associates NEW36Ivan Magalhaes
1004Mayumi E MaletIndia2026-08-22Buckley Miller Wright PROPOSAL77Bernardo Dominic
1005Clifford J MarrierSpain2026-08-17Buckley Miller Wright QUALIFIED10Amy Elsner
1006Jennifer X FigeroaSpain2026-08-20Commercial Press PROPOSAL74Xuxue Feng
1007Aditya E RoysterCanada2026-08-26Morlong Associates NEW31Anna Fali
1008Ricardo D KolmetzUnited Kingdom2026-08-30Benton, John B Jr UNQUALIFIED41Ioni Bowcher
1009Leon K DoeArgentina2026-08-16Dorl, James J Esq NEW42Onyama Limba
1010James W KuskoSpain2026-08-30Truhlar And Truhlar Attys PROPOSAL8Stephen Shaw
1011Kaitlin Y IturbideFrance2026-08-10Chanay, Jeffrey A Esq QUALIFIED59Xuxue Feng
1012Clifford Y FerenczFrance2026-08-22Buckley Miller Wright PROPOSAL7Elwin Sharvill
1013Adams G BriddickIndia2026-08-20Chanay, Jeffrey A Esq NEW72Xuxue Feng
1014Adams C RutaJapan2026-08-20Printing Dimensions UNQUALIFIED48Amy Elsner
1015Claire K RimIndia2026-08-18Rangoni Of Florence PROPOSAL53Ioni Bowcher
1016Maisha G DilliardArgentina2026-08-14Chapman, Ross E Esq QUALIFIED89Asiya Javayant
1017James H FerenczCanada2026-08-06Morlong Associates NEW62Asiya Javayant
1018Rodrigues D CaudySpain2026-08-13Printing Dimensions RENEWAL52Xuxue Feng
1019Leja J RulapaughAustralia2026-08-13Chemel, James L Cpa UNQUALIFIED71Xuxue Feng
1020Rodrigues G MarrierFrance2026-08-05Printing Dimensions NEW15Elwin Sharvill
1021Costa N InouyeUnited Kingdom2026-08-22Chanay, Jeffrey A Esq PROPOSAL9Bernardo Dominic
1022Leja W TollnerJapan2026-08-05Chanay, Jeffrey A Esq PROPOSAL78Asiya Javayant
1023Nicolas S CaldareraBrazil2026-08-14Commercial Press NEGOTIATION40Bernardo Dominic
1024Rodrigues K MarrierIndia2026-08-13Feiner Bros QUALIFIED28Amy Elsner
1025Leon D MaletGermany2026-08-26Benton, John B Jr UNQUALIFIED7Anna Fali
1026Arvin K OstroskyAustralia2026-08-12Morlong Associates NEGOTIATION82Ioni Bowcher
1027Aika W BowleyIndia2026-08-12Chapman, Ross E Esq UNQUALIFIED5Amy Elsner
1028Morrow V OstroskyFrance2026-08-16Chapman, Ross E Esq UNQUALIFIED73Amy Elsner
1029Leja N FigeroaAustralia2026-08-15Rousseaux, Michael Esq NEGOTIATION13Bernardo Dominic
1030Stacey C MarrierGermany2026-08-12King, Christopher A Esq NEW54Elwin Sharvill
1031Salvatore V NestleCanada2026-08-06Printing Dimensions RENEWAL50Elwin Sharvill
1032Maisha F StockhamArgentina2026-08-30Feltz Printing Service PROPOSAL91Ivan Magalhaes
1033Maria U IturbideIndia2026-08-16Dorl, James J Esq UNQUALIFIED90Stephen Shaw
1034Chavez C InouyeCanada2026-08-23Chapman, Ross E Esq NEW8Bernardo Dominic
1035Maisha C RulapaughFrance2026-08-10Commercial Press NEGOTIATION16Anna Fali
1036Mujtaba I StensethUnited Kingdom2026-08-29Chapman, Ross E Esq QUALIFIED65Asiya Javayant
1037Aika J KolmetzItaly2026-08-07Rangoni Of Florence RENEWAL52Onyama Limba
1038Arvin P DoeBrazil2026-08-04Buckley Miller Wright PROPOSAL0Elwin Sharvill
1039Deepesh J ShinkoJapan2026-08-28Rangoni Of Florence NEW96Xuxue Feng
1040Salvatore Z RoysterSpain2026-08-25Chemel, James L Cpa QUALIFIED3Ivan Magalhaes
1041Leon O FollerAustralia2026-08-04Chapman, Ross E Esq PROPOSAL37Ioni Bowcher
1042Claire Q SlusarskiItaly2026-08-28Feltz Printing Service NEW3Bernardo Dominic
1043Costa M NickaItaly2026-08-22Printing Dimensions RENEWAL90Stephen Shaw
1044Wickens J GlickBrazil2026-08-17Buckley Miller Wright NEGOTIATION42Bernardo Dominic
1045Darci G ShinkoBrazil2026-08-28Truhlar And Truhlar Attys NEW98Amy Elsner
1046Leon B ChuiIndia2026-08-07Truhlar And Truhlar Attys PROPOSAL12Stephen Shaw
1047Faith R NickaUnited Kingdom2026-08-20Morlong Associates RENEWAL90Stephen Shaw
1048Salvatore D FerenczItaly2026-08-29Chanay, Jeffrey A Esq QUALIFIED50Onyama Limba
1049Octavia L ShinkoIndia2026-08-25Buckley Miller Wright RENEWAL73Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Misaki O ChuiAustraliaOnyama Limba NEGOTIATION
Jones H PaprockiRussiaAnna Fali RENEWAL
Maria C VenereItalyStephen Shaw UNQUALIFIED
Octavia N NestleJapanBernardo Dominic UNQUALIFIED
Kaitlin Q RoysterItalyIoni Bowcher UNQUALIFIED
Greenwood J FollerUnited KingdomAsiya Javayant NEW
Antonio K FlosiUnited KingdomOnyama Limba PROPOSAL
Munro O WaycottFranceIoni Bowcher QUALIFIED
Jefferson L CaudySpainXuxue Feng UNQUALIFIED
Sinclair O MarrierFranceElwin Sharvill NEGOTIATION
Mujtaba T RutaGermanyAmy Elsner NEGOTIATION
Ivar J FerenczSpainAmy Elsner PROPOSAL
Maria E AlbaresFranceBernardo Dominic UNQUALIFIED
Tony W RulapaughIndiaIoni Bowcher RENEWAL
Jefferson N StockhamIndiaIoni Bowcher UNQUALIFIED
Aruna B WaycottItalyBernardo Dominic QUALIFIED
Faith L RutaBrazilAsiya Javayant PROPOSAL
Juan V GlickRussiaOnyama Limba RENEWAL
Murillo Q SchemmerArgentinaAsiya Javayant RENEWAL
Sinclair L DarakjyRussiaAnna Fali NEGOTIATION
Chavez E WhobreyItalyStephen Shaw PROPOSAL
Jones C BowleyAustraliaBernardo Dominic NEGOTIATION
Ashley W VenereUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois X RulapaughSpainStephen Shaw UNQUALIFIED
Smith K MaletItalyElwin Sharvill RENEWAL
Ashley G RulapaughItalyAmy Elsner RENEWAL
Morrow T RimFranceStephen Shaw RENEWAL
Claire R DilliardItalyStephen Shaw RENEWAL
Chavez R FollerAustraliaXuxue Feng QUALIFIED
Claire C CampainCanadaIvan Magalhaes UNQUALIFIED
Claire J OldroydJapanAmy Elsner RENEWAL
Nicolas D RutaGermanyAsiya Javayant PROPOSAL
Jeanfrancois L StockhamItalyStephen Shaw UNQUALIFIED
Misaki I StensethAustraliaIoni Bowcher RENEWAL
Stacey K BologniaSpainElwin Sharvill NEGOTIATION
Johnson B CaudyArgentinaIoni Bowcher UNQUALIFIED
Antonio D MaletCanadaElwin Sharvill PROPOSAL
Juan E SergiCanadaAnna Fali RENEWAL
James J SlusarskiCanadaAmy Elsner RENEWAL
Izzy M FigeroaJapanAsiya Javayant UNQUALIFIED
Juan F KolmetzUnited KingdomAsiya Javayant PROPOSAL
Adams K StensethUnited KingdomAsiya Javayant NEGOTIATION
Adams Q RulapaughAustraliaIoni Bowcher QUALIFIED
Jeanfrancois T WhobreyIndiaElwin Sharvill RENEWAL
Misaki Y NestleCanadaElwin Sharvill RENEWAL
Wickens X AmigonJapanStephen Shaw NEGOTIATION
Jones S FerenczArgentinaOnyama Limba NEW
Adams C ShinkoAustraliaStephen Shaw PROPOSAL
Alejandro D CaudyRussiaAsiya Javayant PROPOSAL
Leon G AmigonAustraliaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Arvin X Rim
Juan U Stockham
Wickens N Ruta
Sinclair F Foller
Francesco E Flosi
Deepesh L Perin
Aruna D Figeroa
Claire Y Briddick
Maisha Y Inouye
Jones D Amigon
Johnson L Whobrey
Jennifer J Poquette
Johnson X Malet
Isabel Z Sergi
Mayumi U Glick
Isabel J Nicka
Claire G Paprocki
Maria Q Campain
Salvatore C Paprocki
Johnson E Garufi
Greenwood T Saylors
Stacey W Caldarera
Leja Q Malet
Greenwood Z Maclead
Antonio B Caudy
Sinclair I Glick
Isabel X Poquette
Aruna Q Oldroyd
Costa O Paprocki
Johnson U Albares
Darci I Saylors
Julie B Briddick
Leja G Campain
Morrow I Flosi
Aditya B Inouye
Jeanfrancois A Rim
Adams L Oldroyd
Silvio X Campain
Isabel T Slusarski
Rodrigues T Nicka
Aika I Saylors
Deepesh P Campain
Francesco Y Caldarera
Wickens P Briddick
Juan K Darakjy
Ricardo W Malet
Nicolas C Rim
Costa I Doe
Aruna V Ferencz
Isabel K Rim
IdCountryDate
1000Australia2026-09-01
1001Japan2026-08-31
1002Spain2026-08-08
1003Australia2026-08-07
1004India2026-08-06
1005France2026-08-16
1006Italy2026-09-01
1007Canada2026-08-09
1008Russia2026-08-05
1009Russia2026-08-08
1010Argentina2026-08-20
1011Australia2026-08-26
1012Argentina2026-08-12
1013Argentina2026-08-27
1014Russia2026-08-03
1015Japan2026-08-24
1016Germany2026-08-13
1017Italy2026-08-11
1018France2026-08-25
1019United Kingdom2026-08-17
1020United Kingdom2026-08-14
1021France2026-08-27
1022Canada2026-08-21
1023Spain2026-08-15
1024India2026-08-17
1025United Kingdom2026-08-12
1026Russia2026-08-28
1027Russia2026-08-18
1028Spain2026-08-27
1029Japan2026-08-10
1030Spain2026-08-08
1031Argentina2026-08-18
1032Canada2026-08-14
1033Japan2026-08-16
1034Brazil2026-08-09
1035Russia2026-08-20
1036India2026-08-19
1037India2026-08-04
1038Spain2026-08-25
1039Australia2026-08-15
1040Argentina2026-08-17
1041Italy2026-08-05
1042Brazil2026-08-22
1043Germany2026-08-14
1044India2026-08-17
1045Canada2026-08-10
1046Australia2026-08-08
1047Spain2026-08-30
1048Argentina2026-08-24
1049Germany2026-08-16

On-Demand Data

NameIdCountryDate
Ivar J Maclead1000United Kingdom2026-08-06
Francesco K Nicka1001India2026-08-21
Chavez L Amigon1002Brazil2026-08-31
Isabel S Briddick1003Spain2026-08-31
Murillo E Caudy1004Australia2026-08-15
Murillo A Bolognia1005Italy2026-08-11
Jones K Vocelka1006Canada2026-08-18
Greenwood I Whobrey1007France2026-08-08
Faith R Poquette1008India2026-08-12
Ashley C Gillian1009Argentina2026-08-18
Silvio D Malet1010France2026-08-24
Darci R Stenseth1011Australia2026-08-12
Kadeem M Rim1012Argentina2026-08-14
Sinclair X Royster1013France2026-08-09
Leja F Caudy1014Brazil2026-08-04
Wickens X Iturbide1015Japan2026-08-28
Adams V Wieser1016United Kingdom2026-08-08
Misaki K Ferencz1017Spain2026-08-23
Leon V Perin1018United Kingdom2026-08-28
Darci F Paprocki1019India2026-08-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley H ChuiCanadaElwin Sharvill UNQUALIFIED
Misaki V RoysterJapanElwin Sharvill UNQUALIFIED
Mujtaba T GauchoItalyBernardo Dominic NEW
Antonio P OstroskySpainIvan Magalhaes RENEWAL
Antonio I WaycottRussiaStephen Shaw NEW
Aditya J NickaBrazilXuxue Feng QUALIFIED
Emily O MaletSpainXuxue Feng NEGOTIATION
Mayumi R CaudyBrazilElwin Sharvill PROPOSAL
Murillo I MorascaItalyStephen Shaw PROPOSAL
Salvatore G DoeIndiaAnna Fali QUALIFIED
Izzy Q MaletFranceOnyama Limba UNQUALIFIED
Mujtaba D CaldareraArgentinaIvan Magalhaes NEGOTIATION
Alejandro P StockhamCanadaAnna Fali RENEWAL
Aika O DilliardSpainAmy Elsner UNQUALIFIED
Kaitlin F BriddickRussiaElwin Sharvill NEGOTIATION
Ivar B AlbaresJapanOnyama Limba NEW
Juan W WhobreyGermanyStephen Shaw QUALIFIED
Munro Q ChuiArgentinaIoni Bowcher NEGOTIATION
Misaki S CaldareraSpainAmy Elsner PROPOSAL
Smith S AlbaresFranceAmy Elsner PROPOSAL
Maria Q RulapaughJapanStephen Shaw QUALIFIED
Tony D VocelkaCanadaElwin Sharvill PROPOSAL
Leja Z GlickGermanyBernardo Dominic QUALIFIED
Clifford R RutaFranceXuxue Feng PROPOSAL
David D NestleBrazilAmy Elsner NEW
Silvio F IturbideRussiaStephen Shaw QUALIFIED
Aditya F RimFranceStephen Shaw RENEWAL
Jefferson T WaycottCanadaStephen Shaw PROPOSAL
Kaitlin A SaylorsCanadaAnna Fali UNQUALIFIED
Maria T WhobreySpainStephen Shaw NEGOTIATION
David M WhobreyUnited KingdomIvan Magalhaes RENEWAL
Sinclair K DilliardJapanStephen Shaw PROPOSAL
Darci M SchemmerCanadaAsiya Javayant PROPOSAL
Deepesh I RulapaughGermanyBernardo Dominic UNQUALIFIED
Octavia E FerenczItalyIvan Magalhaes RENEWAL
Aika Z GarufiUnited KingdomIvan Magalhaes QUALIFIED
David U SchemmerSpainXuxue Feng PROPOSAL
Ivar X RulapaughGermanyStephen Shaw UNQUALIFIED
David Z IturbideBrazilAmy Elsner PROPOSAL
Julie H ShinkoRussiaElwin Sharvill NEW

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