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
Stacey A AmigonItalyAnna Fali UNQUALIFIED
Kaitlin B NickaFranceOnyama Limba RENEWAL
Rodrigues G KolmetzIndiaStephen Shaw QUALIFIED
Mujtaba I ShinkoArgentinaStephen Shaw RENEWAL
Salvatore L GauchoArgentinaAsiya Javayant PROPOSAL
Rodrigues N SchemmerFranceXuxue Feng RENEWAL
Claire F CampainGermanyAmy Elsner QUALIFIED
Maria N StockhamSpainIoni Bowcher RENEWAL
Maria B RoysterJapanElwin Sharvill PROPOSAL
Sinclair F CampainCanadaAnna Fali NEGOTIATION
Maisha C GlickArgentinaElwin Sharvill RENEWAL
Leja P FigeroaFranceIoni Bowcher QUALIFIED
Deepesh A OldroydArgentinaAnna Fali QUALIFIED
Leon Y RimBrazilAsiya Javayant NEW
Ricardo V NestleAustraliaAsiya Javayant RENEWAL
Maisha O StockhamIndiaIvan Magalhaes NEW
Kadeem F MaletGermanyElwin Sharvill RENEWAL
David Z ChuiArgentinaXuxue Feng NEW
Sinclair C AmigonAustraliaBernardo Dominic QUALIFIED
Darci U InouyeBrazilIvan Magalhaes RENEWAL
Ricardo X AlbaresItalyAnna Fali NEGOTIATION
Ashley A DarakjyItalyAsiya Javayant QUALIFIED
Cody M DoeIndiaStephen Shaw PROPOSAL
Emily V ShinkoBrazilAnna Fali UNQUALIFIED
Ivar H VenereArgentinaAnna Fali NEGOTIATION
David G MaletJapanAmy Elsner PROPOSAL
Octavia W IturbideCanadaStephen Shaw PROPOSAL
Darci B GillianFranceElwin Sharvill NEW
James P VocelkaUnited KingdomElwin Sharvill QUALIFIED
Greenwood T WaycottSpainIvan Magalhaes UNQUALIFIED
Emily F RimArgentinaOnyama Limba RENEWAL
Smith V RoysterJapanElwin Sharvill NEGOTIATION
Francesco U IturbideArgentinaStephen Shaw PROPOSAL
David O MaletIndiaAsiya Javayant NEW
Jennifer X GlickIndiaXuxue Feng NEW
Ashley P OstroskyRussiaAmy Elsner UNQUALIFIED
Francesco K CaudySpainBernardo Dominic UNQUALIFIED
Mayumi T VenereBrazilOnyama Limba UNQUALIFIED
Alejandro W DarakjyGermanyBernardo Dominic QUALIFIED
Claire H AlbaresFranceStephen Shaw UNQUALIFIED
Sinclair L NestleFranceXuxue Feng RENEWAL
Ashley Z ChuiArgentinaIvan Magalhaes UNQUALIFIED
Ashley G FlosiUnited KingdomAsiya Javayant NEW
Kaitlin V RutaUnited KingdomElwin Sharvill PROPOSAL
Maria R WhobreyItalyAmy Elsner RENEWAL
Aruna L WhobreyUnited KingdomAsiya Javayant RENEWAL
Jeanfrancois Y MaletAustraliaXuxue Feng NEW
Izzy V BologniaSpainOnyama Limba UNQUALIFIED
Wickens U PoquetteIndiaBernardo Dominic PROPOSAL
Claire L NickaRussiaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Misaki Z CaudyRussiaIoni Bowcher RENEWAL
Aruna C PerinIndiaAmy Elsner RENEWAL
Costa S DarakjySpainXuxue Feng NEW
Alejandro V StockhamJapanIvan Magalhaes NEGOTIATION
Maria T TollnerCanadaAnna Fali NEW
Mayumi D SlusarskiRussiaIoni Bowcher QUALIFIED
Kadeem J TollnerSpainXuxue Feng UNQUALIFIED
Chavez B RimArgentinaAsiya Javayant QUALIFIED
Salvatore H FlosiJapanStephen Shaw QUALIFIED
Silvio Z KolmetzIndiaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia X SergiSpain2024-06-04Dorl, James J Esq QUALIFIED60Ivan Magalhaes
1001Deepesh C IturbideBrazil2024-06-04Chanay, Jeffrey A Esq RENEWAL49Stephen Shaw
1002Antonio A PerinAustralia2024-05-30Truhlar And Truhlar Attys UNQUALIFIED45Xuxue Feng
1003Ivar R ChuiCanada2024-06-07Rousseaux, Michael Esq PROPOSAL9Anna Fali
1004Isabel R GauchoGermany2024-05-27Chanay, Jeffrey A Esq NEGOTIATION1Asiya Javayant
1005Jefferson N KolmetzArgentina2024-05-29Truhlar And Truhlar Attys RENEWAL67Asiya Javayant
1006Ashley Q StensethCanada2024-06-01Morlong Associates PROPOSAL5Xuxue Feng
1007Chavez Y NickaGermany2024-06-15Printing Dimensions NEGOTIATION93Amy Elsner
1008Jones T ShinkoSpain2024-05-28Commercial Press RENEWAL27Amy Elsner
1009Misaki C RutaSpain2024-06-11Commercial Press RENEWAL65Stephen Shaw
1010Francesco M DilliardCanada2024-06-02Chemel, James L Cpa RENEWAL88Xuxue Feng
1011Leon Y RoysterAustralia2024-06-20Dorl, James J Esq QUALIFIED8Stephen Shaw
1012Julie N PerinCanada2024-06-12Truhlar And Truhlar Attys NEGOTIATION45Onyama Limba
1013Nicolas D NestleRussia2024-05-31Buckley Miller Wright UNQUALIFIED50Bernardo Dominic
1014Adams K CaldareraUnited Kingdom2024-06-08Commercial Press PROPOSAL76Stephen Shaw
1015Salvatore A ChuiGermany2024-06-12Dorl, James J Esq QUALIFIED17Stephen Shaw
1016Isabel Q IturbideUnited Kingdom2024-06-16Morlong Associates QUALIFIED85Ivan Magalhaes
1017Ashley G BologniaSpain2024-06-04Chemel, James L Cpa QUALIFIED55Stephen Shaw
1018Wickens Q TollnerJapan2024-05-25Morlong Associates NEW80Onyama Limba
1019Jones S InouyeBrazil2024-06-18King, Christopher A Esq RENEWAL86Bernardo Dominic
1020Maria H OldroydItaly2024-05-29Commercial Press RENEWAL4Anna Fali
1021Juan N RutaGermany2024-05-27Morlong Associates RENEWAL21Amy Elsner
1022Izzy A MorascaRussia2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED53Elwin Sharvill
1023Stacey N ButtUnited Kingdom2024-05-26Benton, John B Jr UNQUALIFIED24Ivan Magalhaes
1024Cody T InouyeAustralia2024-06-02Rangoni Of Florence NEGOTIATION67Amy Elsner
1025Smith B NickaFrance2024-05-28Buckley Miller Wright PROPOSAL23Bernardo Dominic
1026Antonio I BriddickGermany2024-05-23Commercial Press NEW60Stephen Shaw
1027Silvio B WieserRussia2024-06-04Truhlar And Truhlar Attys RENEWAL21Onyama Limba
1028Isabel P InouyeAustralia2024-06-06Truhlar And Truhlar Attys NEGOTIATION27Anna Fali
1029Maria X WaycottAustralia2024-06-05Benton, John B Jr UNQUALIFIED64Bernardo Dominic
1030Izzy C KuskoItaly2024-06-20Chapman, Ross E Esq UNQUALIFIED40Xuxue Feng
1031David N OstroskyAustralia2024-05-31Printing Dimensions UNQUALIFIED45Onyama Limba
1032Leon H GillianAustralia2024-05-25King, Christopher A Esq PROPOSAL98Asiya Javayant
1033Silvio L RoysterSpain2024-06-04Rousseaux, Michael Esq QUALIFIED2Ioni Bowcher
1034Kaitlin C KuskoBrazil2024-06-08Feiner Bros PROPOSAL25Amy Elsner
1035Darci G CaldareraUnited Kingdom2024-05-29Feiner Bros RENEWAL84Ioni Bowcher
1036Misaki S TollnerIndia2024-06-08Commercial Press QUALIFIED94Ivan Magalhaes
1037Costa O NickaBrazil2024-06-08Dorl, James J Esq NEW45Ioni Bowcher
1038Juan N WaycottRussia2024-05-24Commercial Press NEGOTIATION5Asiya Javayant
1039Ashley S MaletGermany2024-05-31Benton, John B Jr NEW19Elwin Sharvill
1040Deepesh S SlusarskiItaly2024-05-27Dorl, James J Esq UNQUALIFIED18Onyama Limba
1041David W FlosiIndia2024-06-17Feiner Bros RENEWAL79Bernardo Dominic
1042Clifford M OstroskyCanada2024-05-30Dorl, James J Esq UNQUALIFIED82Xuxue Feng
1043Rodrigues H KuskoSpain2024-06-01Rousseaux, Michael Esq PROPOSAL38Onyama Limba
1044Morrow N RoysterIndia2024-06-12Chapman, Ross E Esq RENEWAL78Stephen Shaw
1045Maria Q MaletBrazil2024-06-14Rousseaux, Michael Esq PROPOSAL36Ivan Magalhaes
1046Stacey T GarufiJapan2024-06-18Buckley Miller Wright UNQUALIFIED86Onyama Limba
1047Mujtaba Y SergiCanada2024-05-23Printing Dimensions QUALIFIED3Onyama Limba
1048Greenwood J KolmetzItaly2024-06-16Chanay, Jeffrey A Esq NEGOTIATION86Ioni Bowcher
1049James D SaylorsRussia2024-05-28Rangoni Of Florence RENEWAL20Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez W GillianCanadaXuxue Feng RENEWAL
Claire W MacleadIndiaAnna Fali PROPOSAL
Wickens C PoquetteFranceOnyama Limba NEW
Jefferson A AmigonCanadaBernardo Dominic QUALIFIED
Kadeem P OstroskyAustraliaAnna Fali NEGOTIATION
Rodrigues E InouyeBrazilAsiya Javayant PROPOSAL
Silvio L KolmetzSpainAnna Fali QUALIFIED
Leja Y BowleyUnited KingdomAsiya Javayant RENEWAL
Smith R BowleyIndiaStephen Shaw QUALIFIED
Sinclair M FerenczAustraliaAmy Elsner PROPOSAL
Izzy X ButtArgentinaIoni Bowcher RENEWAL
Faith Y GillianSpainIvan Magalhaes PROPOSAL
Aditya J BriddickUnited KingdomOnyama Limba RENEWAL
Isabel B WieserFranceIvan Magalhaes UNQUALIFIED
Maria S StensethAustraliaAmy Elsner NEGOTIATION
Juan C NickaUnited KingdomOnyama Limba QUALIFIED
Aika Z MaletItalyAsiya Javayant NEW
Claire N CampainFranceIvan Magalhaes NEW
Mujtaba E OldroydAustraliaAsiya Javayant QUALIFIED
Mujtaba P ShinkoUnited KingdomAnna Fali PROPOSAL
Aditya E DarakjyAustraliaXuxue Feng RENEWAL
Salvatore E ButtCanadaIoni Bowcher PROPOSAL
Adams U DarakjyCanadaXuxue Feng NEGOTIATION
Nicolas V FlosiIndiaOnyama Limba NEW
Greenwood U GarufiFranceAmy Elsner NEW
Aruna W TollnerArgentinaOnyama Limba NEGOTIATION
Alejandro M SchemmerAustraliaAsiya Javayant NEW
Arvin O MarrierItalyStephen Shaw UNQUALIFIED
Aditya F BologniaAustraliaStephen Shaw PROPOSAL
Mujtaba D CaudyUnited KingdomAnna Fali RENEWAL
Smith Z MacleadUnited KingdomIvan Magalhaes NEW
Aika M FigeroaUnited KingdomElwin Sharvill NEW
Juan D PaprockiItalyBernardo Dominic NEGOTIATION
Murillo G PoquetteArgentinaAmy Elsner QUALIFIED
Jeanfrancois T GlickGermanyStephen Shaw UNQUALIFIED
Jennifer D NickaItalyAmy Elsner NEGOTIATION
Claire X PerinIndiaIoni Bowcher PROPOSAL
Nicolas O BologniaJapanIvan Magalhaes NEGOTIATION
Aruna Y PerinFranceXuxue Feng NEGOTIATION
Chavez U DilliardJapanStephen Shaw RENEWAL
Costa A NestleItalyXuxue Feng NEW
David Q KuskoSpainAnna Fali NEGOTIATION
Maisha J CaldareraRussiaIvan Magalhaes UNQUALIFIED
Ashley S WhobreyJapanAmy Elsner UNQUALIFIED
Greenwood C BologniaIndiaAsiya Javayant QUALIFIED
Salvatore N GlickRussiaIvan Magalhaes NEW
Ashley B CaudyFranceElwin Sharvill NEGOTIATION
Chavez S DilliardRussiaOnyama Limba QUALIFIED
Faith M RoysterBrazilAsiya Javayant NEGOTIATION
Ricardo M BriddickUnited KingdomIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Greenwood M Morasca
Octavia P Chui
Clifford O Stenseth
Ricardo V Wieser
Maisha P Ostrosky
Maisha S Albares
Faith T Schemmer
Sinclair U Schemmer
Silvio J Morasca
Jones K Rim
Leon R Bowley
Antonio B Schemmer
Greenwood Y Marrier
Mujtaba I Bolognia
Leon N Caldarera
Izzy Z Paprocki
Leja V Kusko
Murillo Q Marrier
Ivar C Venere
Mujtaba F Briddick
Darci W Bolognia
Deepesh V Sergi
Ashley O Oldroyd
Isabel T Vocelka
Deepesh P Doe
Ivar G Waycott
Jeanfrancois Z Chui
Faith L Venere
Jefferson H Ferencz
Maria F Rim
Ivar K Nicka
David W Briddick
Sinclair W Maclead
Arvin A Inouye
Claire F Iturbide
Adams O Caudy
Alejandro K Rulapaugh
David Y Iturbide
Cody I Flosi
Chavez A Morasca
David L Gillian
Izzy K Rulapaugh
Jeanfrancois V Garufi
Faith H Bolognia
Sinclair Q Amigon
Kaitlin D Ferencz
David W Garufi
David H Schemmer
Mujtaba J Caldarera
Rodrigues C Perin
IdCountryDate
1000Brazil2024-06-12
1001Germany2024-06-03
1002Canada2024-06-18
1003Italy2024-05-23
1004Italy2024-05-24
1005Italy2024-05-26
1006United Kingdom2024-06-03
1007Italy2024-05-23
1008Germany2024-06-02
1009Italy2024-05-24
1010Japan2024-06-04
1011United Kingdom2024-06-09
1012Germany2024-05-26
1013Canada2024-05-25
1014Australia2024-06-08
1015Italy2024-05-26
1016Canada2024-06-07
1017Australia2024-05-26
1018Germany2024-05-23
1019United Kingdom2024-06-01
1020Germany2024-05-27
1021Italy2024-05-29
1022United Kingdom2024-06-21
1023Russia2024-06-08
1024France2024-06-01
1025Argentina2024-06-06
1026Australia2024-05-29
1027Australia2024-06-02
1028Brazil2024-06-01
1029Brazil2024-06-06
1030Italy2024-05-30
1031Russia2024-06-16
1032Russia2024-05-27
1033India2024-06-11
1034Japan2024-05-26
1035Canada2024-06-12
1036Italy2024-06-07
1037Japan2024-06-16
1038United Kingdom2024-05-25
1039Brazil2024-06-12
1040France2024-05-28
1041France2024-06-18
1042Australia2024-06-01
1043Australia2024-06-14
1044Canada2024-06-10
1045United Kingdom2024-06-20
1046Australia2024-06-03
1047Russia2024-05-29
1048Italy2024-06-14
1049France2024-06-02

On-Demand Data

NameIdCountryDate
Mujtaba O Marrier1000Australia2024-06-19
Misaki K Nicka1001United Kingdom2024-06-15
Mujtaba A Inouye1002Spain2024-05-23
Arvin F Venere1003Germany2024-06-05
Darci J Albares1004Japan2024-05-29
Maisha Y Amigon1005Germany2024-06-13
Kadeem U Rulapaugh1006Italy2024-06-07
Aika W Sergi1007Japan2024-06-05
Alejandro T Inouye1008Russia2024-06-07
Rodrigues P Slusarski1009Russia2024-06-16
Julie H Perin1010United Kingdom2024-06-20
Rodrigues K Briddick1011Spain2024-05-27
Ricardo V Marrier1012United Kingdom2024-05-27
Julie I Caudy1013Germany2024-06-12
Nicolas P Stockham1014Spain2024-06-19
Cody X Ostrosky1015Australia2024-06-18
Ricardo Q Garufi1016France2024-06-03
Salvatore G Glick1017Germany2024-06-09
Leon D Kolmetz1018Canada2024-06-04
Alejandro C Glick1019Russia2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson O FerenczFranceAsiya Javayant QUALIFIED
Silvio B PerinItalyBernardo Dominic NEGOTIATION
Antonio L GauchoSpainBernardo Dominic QUALIFIED
Darci N RutaFranceElwin Sharvill QUALIFIED
Ricardo J AmigonAustraliaAnna Fali UNQUALIFIED
Jeanfrancois K MarrierIndiaAsiya Javayant QUALIFIED
Salvatore C MorascaIndiaIoni Bowcher NEW
Mujtaba C KuskoSpainXuxue Feng NEW
Ivar U GillianJapanAnna Fali NEW
Alejandro O TollnerRussiaOnyama Limba QUALIFIED
Aika M PaprockiAustraliaOnyama Limba RENEWAL
Arvin Q FerenczItalyAsiya Javayant QUALIFIED
Leon C MarrierFranceIoni Bowcher NEGOTIATION
Munro J BologniaUnited KingdomIvan Magalhaes RENEWAL
Clifford Q KuskoGermanyOnyama Limba QUALIFIED
Mayumi X VocelkaAustraliaAmy Elsner QUALIFIED
Jones R KuskoFranceAmy Elsner QUALIFIED
Juan U DoeBrazilXuxue Feng PROPOSAL
Johnson O TollnerIndiaOnyama Limba NEW
Nicolas I OldroydRussiaIoni Bowcher PROPOSAL
Sinclair L BologniaUnited KingdomXuxue Feng PROPOSAL
Kaitlin V SchemmerCanadaStephen Shaw RENEWAL
Clifford I ChuiFranceStephen Shaw UNQUALIFIED
Chavez V BriddickArgentinaAnna Fali RENEWAL
Stacey G VocelkaGermanyElwin Sharvill NEGOTIATION
Deepesh B GarufiBrazilAmy Elsner PROPOSAL
Maria M GauchoItalyAsiya Javayant PROPOSAL
Aruna E StensethIndiaIvan Magalhaes RENEWAL
James Y MorascaUnited KingdomAsiya Javayant PROPOSAL
David Z WhobreyFranceBernardo Dominic PROPOSAL
Octavia L KolmetzJapanElwin Sharvill QUALIFIED
Jennifer M KolmetzArgentinaAnna Fali PROPOSAL
Tony A FlosiArgentinaXuxue Feng UNQUALIFIED
Jefferson W MorascaArgentinaAnna Fali UNQUALIFIED
Emily E PerinArgentinaAnna Fali RENEWAL
Jennifer P AlbaresGermanyAnna Fali NEW
Greenwood D AlbaresFranceAsiya Javayant NEGOTIATION
Ricardo W BriddickFranceAnna Fali PROPOSAL
Rodrigues Q FerenczBrazilIvan Magalhaes RENEWAL
Ashley H MaletItalyAsiya 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>