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 G NestleArgentinaAnna Fali UNQUALIFIED
Kadeem R BologniaUnited KingdomXuxue Feng NEW
Kadeem E CaldareraSpainIvan Magalhaes NEW
Ricardo Z DilliardCanadaElwin Sharvill PROPOSAL
Mayumi W PoquetteCanadaIoni Bowcher QUALIFIED
Aika I GlickCanadaAnna Fali NEGOTIATION
Stacey I FerenczAustraliaIvan Magalhaes NEW
Sinclair P WhobreyUnited KingdomAmy Elsner QUALIFIED
Johnson L CaudyGermanyIvan Magalhaes RENEWAL
Murillo N OldroydSpainStephen Shaw QUALIFIED
Octavia D SaylorsArgentinaOnyama Limba NEW
Greenwood D RoysterJapanIvan Magalhaes QUALIFIED
Silvio W IturbideArgentinaXuxue Feng NEW
Alejandro W SlusarskiItalyIoni Bowcher NEGOTIATION
Salvatore S PoquetteBrazilAsiya Javayant RENEWAL
Maria E CampainAustraliaAmy Elsner NEGOTIATION
Maisha F KuskoFranceElwin Sharvill UNQUALIFIED
Sinclair N NickaCanadaIvan Magalhaes PROPOSAL
Jennifer X CaudyFranceAsiya Javayant RENEWAL
Antonio U KolmetzJapanAnna Fali NEGOTIATION
Darci F GillianCanadaAnna Fali QUALIFIED
James D FigeroaUnited KingdomStephen Shaw NEW
Octavia U ShinkoJapanStephen Shaw QUALIFIED
Claire R NickaAustraliaAsiya Javayant NEGOTIATION
Aruna D OstroskyArgentinaElwin Sharvill UNQUALIFIED
Chavez A NickaSpainAsiya Javayant NEGOTIATION
Salvatore V SaylorsIndiaBernardo Dominic RENEWAL
Francesco G AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Smith X OldroydArgentinaAmy Elsner NEW
Darci T BriddickGermanyAnna Fali PROPOSAL
Munro A RutaUnited KingdomStephen Shaw QUALIFIED
Sinclair Z GarufiRussiaIoni Bowcher QUALIFIED
Greenwood I KuskoBrazilAsiya Javayant NEW
Darci K GillianRussiaStephen Shaw NEGOTIATION
Izzy V KolmetzSpainAnna Fali UNQUALIFIED
Francesco W GlickCanadaBernardo Dominic NEGOTIATION
Francesco I SaylorsSpainStephen Shaw RENEWAL
Ricardo F AlbaresJapanAnna Fali QUALIFIED
Aruna P WaycottJapanOnyama Limba NEW
Antonio G FlosiCanadaBernardo Dominic RENEWAL
Munro A BriddickJapanAnna Fali RENEWAL
James V FerenczAustraliaOnyama Limba UNQUALIFIED
Kaitlin X IturbideCanadaIoni Bowcher PROPOSAL
Silvio X PaprockiArgentinaStephen Shaw RENEWAL
Izzy K AmigonJapanXuxue Feng QUALIFIED
Aditya H GauchoCanadaBernardo Dominic UNQUALIFIED
Murillo B PaprockiJapanElwin Sharvill PROPOSAL
Faith G DoeFranceAnna Fali UNQUALIFIED
Emily O IturbideIndiaAmy Elsner RENEWAL
Isabel B DilliardUnited KingdomOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony S CaldareraIndiaElwin Sharvill UNQUALIFIED
Rodrigues R NickaIndiaElwin Sharvill PROPOSAL
Claire M MaletGermanyStephen Shaw NEGOTIATION
Wickens B RutaIndiaBernardo Dominic QUALIFIED
Mujtaba I MarrierFranceAmy Elsner NEGOTIATION
Claire S RimArgentinaIvan Magalhaes RENEWAL
Cody U PoquetteGermanyStephen Shaw NEGOTIATION
Leja W FerenczRussiaElwin Sharvill QUALIFIED
James Y CampainIndiaAmy Elsner NEW
Faith C ShinkoCanadaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony F MaletIndia2024-06-04Commercial Press QUALIFIED17Asiya Javayant
1001Adams O OldroydBrazil2024-06-09Morlong Associates NEGOTIATION65Xuxue Feng
1002Claire D ChuiJapan2024-06-08Truhlar And Truhlar Attys NEW81Asiya Javayant
1003Greenwood T GauchoGermany2024-05-30King, Christopher A Esq UNQUALIFIED20Asiya Javayant
1004Deepesh E BologniaArgentina2024-05-26Chapman, Ross E Esq NEGOTIATION95Stephen Shaw
1005Stacey O VenereBrazil2024-05-27Feiner Bros PROPOSAL50Asiya Javayant
1006Aditya Y StensethRussia2024-05-25Dorl, James J Esq UNQUALIFIED56Anna Fali
1007Leon B PaprockiBrazil2024-05-30Truhlar And Truhlar Attys NEW19Amy Elsner
1008Ashley I AmigonIndia2024-06-16Chemel, James L Cpa RENEWAL45Anna Fali
1009Tony S BologniaArgentina2024-05-27Commercial Press RENEWAL81Onyama Limba
1010Octavia P SlusarskiFrance2024-06-06Feltz Printing Service RENEWAL75Bernardo Dominic
1011Emily Y BologniaJapan2024-06-19Benton, John B Jr RENEWAL14Asiya Javayant
1012Rodrigues O GauchoGermany2024-06-22Chanay, Jeffrey A Esq PROPOSAL33Ivan Magalhaes
1013Julie Y AmigonRussia2024-06-08King, Christopher A Esq NEGOTIATION26Ioni Bowcher
1014Faith B RoysterSpain2024-05-28Morlong Associates QUALIFIED65Stephen Shaw
1015Salvatore M NestleIndia2024-06-09Chapman, Ross E Esq RENEWAL59Bernardo Dominic
1016Silvio F PaprockiArgentina2024-05-31Rousseaux, Michael Esq NEGOTIATION97Bernardo Dominic
1017Jones C ButtSpain2024-06-07Feiner Bros PROPOSAL70Elwin Sharvill
1018Morrow E TollnerJapan2024-05-25Dorl, James J Esq PROPOSAL74Asiya Javayant
1019Silvio B FerenczRussia2024-06-07Feltz Printing Service UNQUALIFIED13Onyama Limba
1020Cody C GarufiArgentina2024-06-08Rousseaux, Michael Esq PROPOSAL52Amy Elsner
1021Chavez S FigeroaItaly2024-06-22Chanay, Jeffrey A Esq NEGOTIATION11Anna Fali
1022Aika D SchemmerCanada2024-06-14Chapman, Ross E Esq PROPOSAL17Anna Fali
1023Tony M OstroskyJapan2024-05-31Morlong Associates PROPOSAL45Xuxue Feng
1024Kaitlin V CaudyCanada2024-05-27Morlong Associates UNQUALIFIED67Stephen Shaw
1025Wickens J DarakjyArgentina2024-06-20Feltz Printing Service RENEWAL99Ivan Magalhaes
1026Kadeem L BriddickGermany2024-06-17Rangoni Of Florence PROPOSAL26Asiya Javayant
1027Darci R SaylorsBrazil2024-05-28Printing Dimensions PROPOSAL30Ivan Magalhaes
1028Ricardo N AlbaresItaly2024-05-27Rousseaux, Michael Esq QUALIFIED70Elwin Sharvill
1029Aruna Q CaldareraItaly2024-06-01Chanay, Jeffrey A Esq QUALIFIED4Stephen Shaw
1030Alejandro C SchemmerGermany2024-05-30Commercial Press RENEWAL13Elwin Sharvill
1031Octavia S GlickItaly2024-05-30Chemel, James L Cpa NEW7Xuxue Feng
1032Ricardo F VenereIndia2024-05-27Truhlar And Truhlar Attys UNQUALIFIED22Stephen Shaw
1033Rodrigues U SergiAustralia2024-06-13Chapman, Ross E Esq NEGOTIATION20Onyama Limba
1034Isabel F SergiUnited Kingdom2024-05-29Feiner Bros QUALIFIED35Onyama Limba
1035Juan C VocelkaRussia2024-05-24Printing Dimensions NEGOTIATION80Onyama Limba
1036Aika C ButtBrazil2024-05-31Commercial Press PROPOSAL46Bernardo Dominic
1037James I ButtIndia2024-06-07Buckley Miller Wright QUALIFIED58Ivan Magalhaes
1038Leon B PaprockiRussia2024-05-28Feltz Printing Service QUALIFIED6Xuxue Feng
1039Mayumi Q WhobreyItaly2024-06-07Dorl, James J Esq NEW95Ioni Bowcher
1040Ricardo P TollnerFrance2024-05-24Chemel, James L Cpa RENEWAL55Stephen Shaw
1041Octavia B RulapaughRussia2024-06-18Buckley Miller Wright PROPOSAL47Stephen Shaw
1042Munro G BologniaGermany2024-05-30Feiner Bros NEGOTIATION59Elwin Sharvill
1043Clifford K IturbideBrazil2024-05-30Rangoni Of Florence QUALIFIED42Onyama Limba
1044Emily S BowleySpain2024-05-26Rangoni Of Florence QUALIFIED9Asiya Javayant
1045Jones D WaycottIndia2024-06-09Chemel, James L Cpa QUALIFIED38Stephen Shaw
1046Aruna X VocelkaJapan2024-05-28Morlong Associates NEW82Ivan Magalhaes
1047Sinclair R MorascaArgentina2024-06-22Commercial Press NEGOTIATION76Anna Fali
1048Costa B CaudyItaly2024-05-28Rangoni Of Florence UNQUALIFIED66Elwin Sharvill
1049Smith R VenereRussia2024-06-07Feltz Printing Service NEW17Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
James C MorascaGermanyBernardo Dominic UNQUALIFIED
Sinclair F GauchoFranceIoni Bowcher PROPOSAL
Ashley S ShinkoAustraliaAsiya Javayant RENEWAL
Antonio U CaudyGermanyAnna Fali UNQUALIFIED
Emily J SchemmerFranceBernardo Dominic PROPOSAL
Julie L GarufiIndiaBernardo Dominic PROPOSAL
Stacey E GarufiJapanXuxue Feng NEGOTIATION
Salvatore E GillianRussiaOnyama Limba PROPOSAL
Julie V BowleyArgentinaAmy Elsner NEGOTIATION
Ivar R FerenczCanadaElwin Sharvill PROPOSAL
Mujtaba W BriddickGermanyIvan Magalhaes RENEWAL
David C BologniaAustraliaOnyama Limba UNQUALIFIED
Nicolas G AlbaresBrazilXuxue Feng QUALIFIED
Darci A FollerRussiaAsiya Javayant PROPOSAL
Wickens W MaletCanadaBernardo Dominic RENEWAL
Deepesh Z KolmetzCanadaOnyama Limba NEGOTIATION
Silvio Q BriddickBrazilAsiya Javayant PROPOSAL
Ashley I AmigonItalyAmy Elsner UNQUALIFIED
Aditya J FlosiFranceElwin Sharvill NEGOTIATION
David F FlosiUnited KingdomAsiya Javayant RENEWAL
Alejandro Y KuskoJapanAsiya Javayant UNQUALIFIED
Clifford E PoquetteJapanIvan Magalhaes NEW
Faith Q PoquetteGermanyStephen Shaw RENEWAL
Octavia O FlosiArgentinaAnna Fali RENEWAL
Jennifer U IturbideFranceAnna Fali RENEWAL
Maisha D PerinAustraliaXuxue Feng QUALIFIED
Maria P CaudyBrazilElwin Sharvill QUALIFIED
Ricardo Z MacleadCanadaStephen Shaw UNQUALIFIED
Antonio K PaprockiArgentinaElwin Sharvill QUALIFIED
Smith C GarufiRussiaIvan Magalhaes RENEWAL
Rodrigues Q WaycottSpainIoni Bowcher NEGOTIATION
Juan X KuskoCanadaStephen Shaw QUALIFIED
Jennifer K RoysterSpainIoni Bowcher NEW
Murillo Q GlickUnited KingdomIoni Bowcher PROPOSAL
Chavez U PaprockiCanadaIoni Bowcher PROPOSAL
Nicolas G PoquetteCanadaAmy Elsner RENEWAL
Jeanfrancois G GauchoItalyOnyama Limba UNQUALIFIED
Smith N PaprockiItalyElwin Sharvill NEW
Chavez A WhobreyGermanyElwin Sharvill UNQUALIFIED
Misaki U RulapaughSpainIvan Magalhaes NEGOTIATION
Jones D AlbaresSpainAmy Elsner QUALIFIED
Isabel M DoeJapanElwin Sharvill PROPOSAL
Deepesh L RoysterIndiaElwin Sharvill NEGOTIATION
Francesco C FerenczItalyStephen Shaw RENEWAL
Izzy G BologniaUnited KingdomIoni Bowcher NEGOTIATION
Stacey F SergiFranceIvan Magalhaes QUALIFIED
Jennifer R MaletSpainOnyama Limba QUALIFIED
Jeanfrancois U MaletArgentinaElwin Sharvill RENEWAL
Maisha D CaldareraSpainAnna Fali NEGOTIATION
Deepesh C GauchoGermanyAsiya Javayant NEW
Frozen Columns
Name
Salvatore L Kusko
Leon E Flosi
Deepesh U Gillian
Ashley O Nestle
Nicolas C Paprocki
Aruna P Caldarera
Johnson U Tollner
Leon M Wieser
James V Ferencz
Wickens L Royster
Leja Q Nestle
Arvin M Nestle
Costa E Paprocki
Emily L Stenseth
Deepesh U Sergi
Murillo I Glick
Adams I Dilliard
Rodrigues E Rim
Juan H Slusarski
Isabel V Ruta
Clifford N Gaucho
Stacey Z Bolognia
Deepesh Y Ferencz
David U Shinko
Maisha P Maclead
Juan N Ferencz
Ivar V Maclead
Adams C Stenseth
Maisha N Morasca
Alejandro E Maclead
Emily M Nestle
Jefferson L Waycott
Maria V Stenseth
Kaitlin S Bolognia
Leon F Poquette
Ricardo L Perin
Cody K Malet
Murillo K Schemmer
Juan X Amigon
Munro X Amigon
Costa W Caldarera
Greenwood J Campain
Leja F Marrier
Kaitlin J Saylors
Leon G Paprocki
Ashley Y Amigon
Juan H Schemmer
Munro A Doe
Clifford S Whobrey
Wickens O Chui
IdCountryDate
1000India2024-06-19
1001Russia2024-06-08
1002Australia2024-06-05
1003Germany2024-06-17
1004Brazil2024-05-25
1005Brazil2024-06-09
1006Germany2024-06-12
1007Argentina2024-06-06
1008Germany2024-06-05
1009India2024-05-27
1010India2024-06-22
1011Russia2024-06-11
1012United Kingdom2024-05-24
1013France2024-06-01
1014Brazil2024-06-06
1015India2024-06-18
1016Germany2024-06-20
1017Russia2024-06-19
1018Australia2024-06-05
1019Brazil2024-06-09
1020Canada2024-06-07
1021United Kingdom2024-05-28
1022Italy2024-06-20
1023Japan2024-06-15
1024Canada2024-05-25
1025France2024-05-27
1026Spain2024-05-31
1027Spain2024-05-28
1028Italy2024-05-24
1029Germany2024-05-25
1030Spain2024-06-13
1031Australia2024-06-14
1032Italy2024-05-26
1033United Kingdom2024-06-08
1034Spain2024-05-28
1035Russia2024-06-17
1036Japan2024-06-09
1037Japan2024-06-11
1038Japan2024-06-01
1039Russia2024-06-02
1040Argentina2024-06-13
1041India2024-06-18
1042France2024-06-06
1043Russia2024-06-05
1044Germany2024-06-03
1045Argentina2024-05-25
1046Canada2024-06-09
1047Italy2024-06-11
1048Germany2024-06-12
1049France2024-06-21

On-Demand Data

NameIdCountryDate
Aruna Y Ostrosky1000Spain2024-06-19
Costa U Schemmer1001Italy2024-06-06
Claire Y Nestle1002Canada2024-06-07
James W Dilliard1003Germany2024-06-10
Isabel U Bowley1004Spain2024-06-12
Arvin E Whobrey1005Brazil2024-05-30
Aditya V Ruta1006Russia2024-06-08
Jeanfrancois U Kolmetz1007Canada2024-06-08
Clifford Q Malet1008India2024-05-31
Maria Z Ferencz1009Russia2024-06-14
Deepesh F Ostrosky1010France2024-05-29
Jefferson S Rim1011United Kingdom2024-06-22
Jones M Glick1012Canada2024-06-12
Aika Y Rim1013India2024-06-15
Costa C Morasca1014Germany2024-06-12
Octavia U Caldarera1015Canada2024-06-14
Ashley N Foller1016Spain2024-06-05
Adams J Darakjy1017Russia2024-05-28
Wickens R Rim1018Spain2024-06-20
Izzy L Royster1019Italy2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo Q NickaArgentinaAmy Elsner RENEWAL
Leon J MaletFranceStephen Shaw QUALIFIED
Julie A RutaJapanIoni Bowcher NEW
Aruna Y FlosiJapanAnna Fali QUALIFIED
Munro G MacleadRussiaAsiya Javayant RENEWAL
Adams N PoquetteIndiaBernardo Dominic RENEWAL
David V SergiBrazilAmy Elsner NEGOTIATION
Jennifer O FollerItalyIvan Magalhaes QUALIFIED
Octavia E WhobreyCanadaAsiya Javayant PROPOSAL
Wickens Z PerinBrazilAnna Fali PROPOSAL
Kadeem J RutaAustraliaAsiya Javayant NEW
Darci E GauchoGermanyBernardo Dominic NEGOTIATION
Costa Z OstroskyBrazilElwin Sharvill RENEWAL
Faith Q MarrierRussiaXuxue Feng QUALIFIED
Clifford L MacleadFranceAmy Elsner RENEWAL
Darci L AlbaresUnited KingdomIoni Bowcher PROPOSAL
Darci J AmigonJapanStephen Shaw PROPOSAL
Silvio G TollnerGermanyStephen Shaw UNQUALIFIED
Murillo H FigeroaFranceElwin Sharvill NEGOTIATION
David M DilliardGermanyAnna Fali NEW
Misaki L RutaCanadaAmy Elsner QUALIFIED
Jones Z BologniaArgentinaAnna Fali NEGOTIATION
Munro O RutaAustraliaIvan Magalhaes NEW
Aika V MacleadFranceXuxue Feng NEGOTIATION
Adams I WaycottFranceIoni Bowcher PROPOSAL
Emily I NickaCanadaIoni Bowcher RENEWAL
Smith F RulapaughIndiaBernardo Dominic NEW
Julie J NestleSpainAnna Fali QUALIFIED
Deepesh C WieserGermanyBernardo Dominic QUALIFIED
Jefferson F MacleadCanadaBernardo Dominic RENEWAL
Jennifer B RutaGermanyAsiya Javayant UNQUALIFIED
Munro E IturbideSpainAnna Fali PROPOSAL
Rodrigues C NestleFranceIoni Bowcher UNQUALIFIED
Juan C WieserCanadaAmy Elsner UNQUALIFIED
Leon V MorascaAustraliaElwin Sharvill NEW
Deepesh W FigeroaBrazilAnna Fali QUALIFIED
Johnson I MorascaGermanyAmy Elsner NEW
Stacey R VocelkaGermanyAmy Elsner QUALIFIED
David V TollnerItalyAmy Elsner PROPOSAL
Silvio S WaycottUnited KingdomAsiya Javayant 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>