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
Costa N DarakjyItalyIvan Magalhaes NEGOTIATION
Jennifer F DoeFranceOnyama Limba NEW
Jefferson D StockhamGermanyXuxue Feng QUALIFIED
Jefferson V FerenczItalyStephen Shaw NEGOTIATION
Leja H NickaJapanIoni Bowcher NEGOTIATION
Chavez M GauchoItalyBernardo Dominic RENEWAL
Deepesh W NickaArgentinaAsiya Javayant QUALIFIED
Wickens U MarrierSpainXuxue Feng NEW
David U StockhamCanadaAmy Elsner UNQUALIFIED
Mayumi Y BologniaIndiaIoni Bowcher RENEWAL
Ashley J StensethCanadaAsiya Javayant NEW
Faith E PerinArgentinaXuxue Feng PROPOSAL
Smith Q InouyeArgentinaElwin Sharvill QUALIFIED
Morrow D OldroydBrazilOnyama Limba PROPOSAL
Chavez U NickaIndiaOnyama Limba PROPOSAL
Silvio V CampainSpainOnyama Limba NEGOTIATION
Arvin U PoquetteRussiaAnna Fali NEW
Tony S GillianGermanyAmy Elsner QUALIFIED
Antonio T MaletItalyIvan Magalhaes UNQUALIFIED
Nicolas B PaprockiSpainStephen Shaw NEW
James R RimSpainIoni Bowcher PROPOSAL
Juan F ShinkoJapanAnna Fali UNQUALIFIED
Chavez N WhobreyGermanyAnna Fali QUALIFIED
Izzy Y BologniaCanadaIoni Bowcher RENEWAL
Ricardo E FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Leon M RoysterAustraliaXuxue Feng UNQUALIFIED
Tony I StensethItalyXuxue Feng NEGOTIATION
James P GillianCanadaAnna Fali QUALIFIED
Jennifer K MaletIndiaIoni Bowcher PROPOSAL
Arvin C BologniaItalyOnyama Limba NEW
Chavez F KolmetzRussiaXuxue Feng PROPOSAL
Darci J WieserCanadaOnyama Limba NEW
Kaitlin U NestleCanadaIvan Magalhaes QUALIFIED
Aika Z FerenczIndiaElwin Sharvill PROPOSAL
Cody I InouyeRussiaStephen Shaw PROPOSAL
Rodrigues M ButtCanadaIoni Bowcher NEW
Cody I GillianFranceXuxue Feng NEGOTIATION
Antonio X BologniaFranceIvan Magalhaes NEW
Tony Z PaprockiJapanIvan Magalhaes QUALIFIED
Darci O PoquetteUnited KingdomAmy Elsner NEGOTIATION
Juan U VocelkaArgentinaIvan Magalhaes PROPOSAL
Alejandro Q SaylorsBrazilIoni Bowcher UNQUALIFIED
Silvio C DoeSpainAmy Elsner QUALIFIED
Ivar A WaycottFranceXuxue Feng NEGOTIATION
Stacey S SlusarskiGermanyIoni Bowcher NEW
Jeanfrancois U RoysterItalyAsiya Javayant QUALIFIED
Morrow X NickaBrazilAsiya Javayant RENEWAL
Alejandro R WaycottItalyAsiya Javayant QUALIFIED
Ricardo N DarakjyJapanIvan Magalhaes RENEWAL
Alejandro Y VocelkaAustraliaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson Z BologniaFranceIoni Bowcher QUALIFIED
Sinclair T DarakjyGermanyAnna Fali UNQUALIFIED
Smith J WhobreyCanadaOnyama Limba QUALIFIED
Maria G BriddickCanadaAsiya Javayant NEW
Izzy V OldroydFranceAmy Elsner UNQUALIFIED
Cody I FerenczSpainOnyama Limba NEW
Leja R MaletBrazilAmy Elsner RENEWAL
Morrow N DarakjyArgentinaOnyama Limba NEGOTIATION
Jeanfrancois U CaudyBrazilAsiya Javayant NEW
Chavez K ButtBrazilXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson G PaprockiUnited Kingdom2024-06-03Printing Dimensions NEGOTIATION98Stephen Shaw
1001Izzy C DoeBrazil2024-06-14Buckley Miller Wright UNQUALIFIED69Elwin Sharvill
1002Tony L MaletGermany2024-06-22Rousseaux, Michael Esq RENEWAL91Amy Elsner
1003Tony S KuskoSpain2024-06-14Feiner Bros RENEWAL77Onyama Limba
1004Francesco T PaprockiArgentina2024-06-10Benton, John B Jr RENEWAL16Ivan Magalhaes
1005Darci N StensethArgentina2024-06-02Rousseaux, Michael Esq NEW7Stephen Shaw
1006Ivar C CampainIndia2024-06-10Dorl, James J Esq NEGOTIATION0Ivan Magalhaes
1007Alejandro N RimCanada2024-06-15Rousseaux, Michael Esq NEGOTIATION13Ioni Bowcher
1008Juan S BowleyIndia2024-06-16Rangoni Of Florence UNQUALIFIED32Stephen Shaw
1009Aditya N MacleadFrance2024-05-27Chemel, James L Cpa QUALIFIED26Bernardo Dominic
1010Morrow A RimCanada2024-06-13Rangoni Of Florence QUALIFIED4Onyama Limba
1011Jeanfrancois K RimArgentina2024-06-21Chapman, Ross E Esq QUALIFIED87Anna Fali
1012Cody B RimFrance2024-06-01Printing Dimensions PROPOSAL20Bernardo Dominic
1013Clifford Y OldroydFrance2024-06-12Feiner Bros QUALIFIED71Ivan Magalhaes
1014Claire G AmigonJapan2024-06-17Feiner Bros RENEWAL37Bernardo Dominic
1015Johnson L StockhamCanada2024-06-23King, Christopher A Esq QUALIFIED26Anna Fali
1016Isabel Q MarrierAustralia2024-06-06Chemel, James L Cpa NEGOTIATION34Amy Elsner
1017Jennifer D FollerRussia2024-05-29Benton, John B Jr RENEWAL68Onyama Limba
1018Ricardo M ButtIndia2024-06-24Feiner Bros UNQUALIFIED1Ioni Bowcher
1019Kadeem K VenereIndia2024-06-13Chemel, James L Cpa UNQUALIFIED43Elwin Sharvill
1020Mujtaba A StockhamSpain2024-06-05Chemel, James L Cpa NEW41Amy Elsner
1021Leja U SaylorsRussia2024-06-06King, Christopher A Esq RENEWAL27Asiya Javayant
1022Mujtaba O GarufiArgentina2024-06-10Chapman, Ross E Esq NEW81Stephen Shaw
1023Julie Q ButtJapan2024-05-27Feiner Bros NEW75Stephen Shaw
1024Aruna I VenereBrazil2024-06-16Feltz Printing Service RENEWAL41Amy Elsner
1025Adams Y PoquetteGermany2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED75Ivan Magalhaes
1026Aruna D RutaBrazil2024-06-02Chanay, Jeffrey A Esq QUALIFIED23Ivan Magalhaes
1027Aika L IturbideJapan2024-06-11Feltz Printing Service UNQUALIFIED24Onyama Limba
1028Darci U DarakjyAustralia2024-06-09Dorl, James J Esq QUALIFIED65Xuxue Feng
1029Mayumi B CaldareraSpain2024-06-20Dorl, James J Esq RENEWAL91Bernardo Dominic
1030Costa D FollerGermany2024-06-14Chapman, Ross E Esq QUALIFIED88Asiya Javayant
1031Misaki J GauchoGermany2024-05-26Rousseaux, Michael Esq PROPOSAL97Stephen Shaw
1032Nicolas K SchemmerJapan2024-06-07Rousseaux, Michael Esq UNQUALIFIED48Elwin Sharvill
1033Aruna Q MaletItaly2024-05-26Chanay, Jeffrey A Esq QUALIFIED89Onyama Limba
1034Costa U BriddickCanada2024-06-19Dorl, James J Esq NEGOTIATION36Ioni Bowcher
1035Nicolas G OstroskyArgentina2024-06-09Chapman, Ross E Esq UNQUALIFIED12Xuxue Feng
1036Kadeem L RimRussia2024-06-14Feiner Bros UNQUALIFIED77Stephen Shaw
1037Sinclair E MaletRussia2024-06-19Rangoni Of Florence NEW54Amy Elsner
1038Ivar T WaycottArgentina2024-06-07Chapman, Ross E Esq QUALIFIED13Elwin Sharvill
1039Isabel D CampainArgentina2024-06-11King, Christopher A Esq PROPOSAL26Stephen Shaw
1040Darci S MorascaUnited Kingdom2024-06-01Benton, John B Jr QUALIFIED1Ioni Bowcher
1041Wickens P CaldareraCanada2024-05-26Printing Dimensions RENEWAL40Elwin Sharvill
1042Morrow G InouyeSpain2024-06-11Buckley Miller Wright PROPOSAL21Asiya Javayant
1043Rodrigues E CaldareraFrance2024-06-02Rousseaux, Michael Esq RENEWAL95Bernardo Dominic
1044Misaki P DoeFrance2024-06-18Chapman, Ross E Esq UNQUALIFIED37Elwin Sharvill
1045Kadeem G DilliardJapan2024-06-12Printing Dimensions QUALIFIED67Anna Fali
1046Misaki M GarufiBrazil2024-06-14Morlong Associates QUALIFIED35Onyama Limba
1047Misaki M InouyeCanada2024-06-18Printing Dimensions QUALIFIED93Onyama Limba
1048Greenwood E SchemmerJapan2024-06-13Chemel, James L Cpa PROPOSAL19Elwin Sharvill
1049Clifford O PerinRussia2024-06-22Feltz Printing Service QUALIFIED29Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones A FollerArgentinaOnyama Limba NEW
Jones K FerenczRussiaAsiya Javayant NEGOTIATION
Leon F KolmetzItalyXuxue Feng NEW
Smith L FlosiJapanOnyama Limba RENEWAL
Murillo K WaycottRussiaStephen Shaw RENEWAL
Izzy B MacleadBrazilXuxue Feng UNQUALIFIED
Clifford E ChuiFranceAmy Elsner NEGOTIATION
Chavez E RulapaughFranceBernardo Dominic PROPOSAL
Mayumi R NestleJapanXuxue Feng NEGOTIATION
Rodrigues I FlosiJapanAsiya Javayant RENEWAL
Wickens I FigeroaRussiaStephen Shaw UNQUALIFIED
Emily D BologniaRussiaIvan Magalhaes PROPOSAL
Ricardo D NestleArgentinaAsiya Javayant QUALIFIED
Jeanfrancois Q PoquetteRussiaAmy Elsner RENEWAL
Mayumi D FollerIndiaStephen Shaw RENEWAL
Jefferson F FerenczAustraliaIvan Magalhaes RENEWAL
Mujtaba I CampainJapanAsiya Javayant NEGOTIATION
Jennifer G WaycottIndiaAsiya Javayant UNQUALIFIED
Arvin B SlusarskiCanadaIvan Magalhaes NEGOTIATION
Aika O StockhamAustraliaStephen Shaw NEGOTIATION
Sinclair B MorascaIndiaAmy Elsner NEW
Aika S FerenczArgentinaIoni Bowcher PROPOSAL
Kaitlin Y CampainIndiaAsiya Javayant QUALIFIED
Claire D MorascaFranceElwin Sharvill RENEWAL
Octavia T CampainCanadaBernardo Dominic PROPOSAL
Maria A StensethCanadaAmy Elsner NEGOTIATION
Emily K BowleySpainAsiya Javayant UNQUALIFIED
Izzy M PoquetteAustraliaIvan Magalhaes NEGOTIATION
Ricardo L CaldareraJapanAnna Fali UNQUALIFIED
Leon S RutaAustraliaIvan Magalhaes NEGOTIATION
Smith A OldroydJapanOnyama Limba NEGOTIATION
Leja J DoeFranceAmy Elsner NEW
Kadeem N ButtAustraliaStephen Shaw QUALIFIED
Izzy W TollnerBrazilStephen Shaw UNQUALIFIED
Tony E FigeroaSpainAsiya Javayant PROPOSAL
Morrow L MarrierGermanyXuxue Feng PROPOSAL
Jeanfrancois R NickaBrazilIoni Bowcher PROPOSAL
Smith T WaycottGermanyIoni Bowcher NEW
Stacey V PerinSpainAnna Fali QUALIFIED
Juan L DilliardUnited KingdomXuxue Feng UNQUALIFIED
Aditya Q VenereArgentinaStephen Shaw NEGOTIATION
Julie V DarakjyIndiaOnyama Limba PROPOSAL
Jones N SergiItalyElwin Sharvill NEW
Jones F IturbideCanadaAmy Elsner PROPOSAL
Kaitlin E ShinkoAustraliaElwin Sharvill PROPOSAL
Izzy J MacleadArgentinaIoni Bowcher RENEWAL
Smith E RoysterGermanyElwin Sharvill NEW
Ricardo L MaletFranceAmy Elsner NEW
Antonio U KolmetzIndiaOnyama Limba NEGOTIATION
Chavez J CaudyCanadaStephen Shaw QUALIFIED
Frozen Columns
Name
Chavez R Gillian
Ricardo Y Morasca
Izzy L Caudy
Salvatore R Kolmetz
Alejandro X Tollner
Murillo Z Figeroa
Leja S Schemmer
Arvin M Gillian
Darci Z Ostrosky
Smith K Chui
Nicolas C Glick
Maria R Stenseth
Smith W Rim
Octavia J Bowley
Faith B Vocelka
Costa V Ostrosky
Cody H Whobrey
Izzy J Paprocki
Silvio Y Glick
Leon V Oldroyd
Octavia W Butt
Morrow V Tollner
Aika X Glick
Francesco V Perin
Murillo G Nicka
Silvio L Caudy
Aruna S Bolognia
Darci G Sergi
Izzy U Sergi
Jefferson Z Figeroa
Isabel L Chui
Jeanfrancois K Figeroa
Adams O Gillian
Costa A Saylors
David O Perin
Greenwood U Sergi
Jennifer Q Paprocki
Julie R Caldarera
Greenwood F Bowley
Octavia I Poquette
Cody D Maclead
Smith F Briddick
Greenwood P Garufi
Ashley Q Bolognia
Isabel P Oldroyd
Deepesh E Venere
Nicolas S Marrier
Munro T Morasca
Mujtaba E Chui
Jeanfrancois R Albares
IdCountryDate
1000Spain2024-06-09
1001Australia2024-06-01
1002Japan2024-06-09
1003Brazil2024-06-02
1004France2024-06-19
1005France2024-06-17
1006Australia2024-05-29
1007Japan2024-05-26
1008Russia2024-05-30
1009India2024-05-26
1010Argentina2024-06-19
1011Canada2024-06-14
1012France2024-06-16
1013Spain2024-06-07
1014Germany2024-05-29
1015Italy2024-06-22
1016Canada2024-06-17
1017India2024-06-15
1018France2024-06-20
1019United Kingdom2024-06-07
1020Canada2024-06-12
1021Russia2024-06-05
1022Argentina2024-06-18
1023United Kingdom2024-06-16
1024Italy2024-06-19
1025Italy2024-05-27
1026Japan2024-06-16
1027Canada2024-05-29
1028Japan2024-06-04
1029Spain2024-06-20
1030Italy2024-05-30
1031Italy2024-06-05
1032Brazil2024-06-14
1033Argentina2024-06-06
1034India2024-05-27
1035France2024-05-28
1036Australia2024-06-23
1037Italy2024-06-14
1038Argentina2024-06-15
1039Germany2024-05-30
1040Argentina2024-06-03
1041United Kingdom2024-06-14
1042United Kingdom2024-05-29
1043France2024-06-16
1044Canada2024-06-23
1045Japan2024-06-07
1046Australia2024-06-12
1047Japan2024-05-27
1048Australia2024-06-18
1049India2024-05-28

On-Demand Data

NameIdCountryDate
Murillo G Schemmer1000France2024-06-12
Adams C Amigon1001Russia2024-06-09
Chavez J Amigon1002India2024-05-29
Murillo D Tollner1003Japan2024-06-04
Cody M Rulapaugh1004Spain2024-06-23
Morrow N Nestle1005Italy2024-06-22
Adams L Morasca1006Brazil2024-06-22
Maria F Flosi1007France2024-06-16
Emily P Foller1008Brazil2024-06-16
Faith R Caldarera1009Italy2024-05-30
Leon F Bowley1010Italy2024-06-22
Jones E Amigon1011Russia2024-06-14
Tony O Gaucho1012India2024-05-27
Munro T Oldroyd1013Canada2024-06-16
Stacey Y Campain1014Australia2024-06-14
Isabel R Figeroa1015Germany2024-06-14
Wickens X Chui1016Spain2024-06-05
Clifford Z Glick1017Italy2024-05-31
Greenwood F Oldroyd1018United Kingdom2024-05-26
Kadeem S Kusko1019United Kingdom2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja S AlbaresIndiaElwin Sharvill NEW
Kaitlin M DilliardSpainElwin Sharvill QUALIFIED
Clifford F FerenczAustraliaStephen Shaw RENEWAL
James J CaldareraGermanyOnyama Limba RENEWAL
Jeanfrancois I VocelkaSpainOnyama Limba UNQUALIFIED
James E ButtIndiaAnna Fali PROPOSAL
Morrow U KuskoSpainAmy Elsner PROPOSAL
Isabel O NestleSpainXuxue Feng PROPOSAL
Sinclair S MacleadBrazilOnyama Limba QUALIFIED
Deepesh D MarrierJapanIoni Bowcher NEW
Cody L DarakjyRussiaAmy Elsner RENEWAL
Maisha P CaudyGermanyOnyama Limba RENEWAL
Octavia A IturbideFranceXuxue Feng RENEWAL
Aditya I MacleadSpainIoni Bowcher QUALIFIED
Morrow I FlosiAustraliaAnna Fali NEGOTIATION
Jeanfrancois R FlosiIndiaOnyama Limba NEW
Ashley C VenereAustraliaXuxue Feng QUALIFIED
Leja T GarufiSpainIvan Magalhaes NEGOTIATION
Aruna O BologniaArgentinaAsiya Javayant UNQUALIFIED
Aika J PaprockiJapanAmy Elsner RENEWAL
Tony B BriddickJapanAsiya Javayant UNQUALIFIED
Leja R TollnerItalyIoni Bowcher PROPOSAL
Jones Z DoeItalyOnyama Limba QUALIFIED
Mayumi C FollerJapanAmy Elsner NEGOTIATION
Maria L GauchoArgentinaStephen Shaw QUALIFIED
Nicolas H GauchoIndiaIvan Magalhaes NEW
Salvatore S FlosiBrazilIvan Magalhaes PROPOSAL
Jennifer S CaldareraCanadaAnna Fali PROPOSAL
Jones R AlbaresGermanyAnna Fali NEGOTIATION
Faith W FollerIndiaIoni Bowcher UNQUALIFIED
Ivar M FigeroaCanadaBernardo Dominic PROPOSAL
Silvio B IturbideRussiaXuxue Feng NEGOTIATION
Cody O FigeroaCanadaStephen Shaw UNQUALIFIED
Tony A CaudyRussiaIvan Magalhaes NEGOTIATION
Ashley G MaletJapanIoni Bowcher UNQUALIFIED
Murillo K MacleadBrazilStephen Shaw QUALIFIED
David F SergiItalyElwin Sharvill UNQUALIFIED
Smith O BriddickFranceAnna Fali NEW
Alejandro N WhobreyItalyBernardo Dominic UNQUALIFIED
Juan M MacleadCanadaAnna Fali PROPOSAL

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