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
Mayumi Y NickaGermanyStephen Shaw UNQUALIFIED
Clifford V GarufiArgentinaIvan Magalhaes PROPOSAL
Jones N VenereFranceIoni Bowcher NEGOTIATION
Ricardo L CaldareraIndiaXuxue Feng UNQUALIFIED
Mayumi W PoquetteBrazilIoni Bowcher UNQUALIFIED
Maria S ShinkoIndiaAmy Elsner QUALIFIED
Faith K RoysterAustraliaElwin Sharvill NEW
Adams R WhobreyFranceXuxue Feng RENEWAL
James P OstroskyCanadaElwin Sharvill PROPOSAL
Sinclair Z KuskoItalyIvan Magalhaes UNQUALIFIED
Adams Z GarufiGermanyStephen Shaw NEW
Kaitlin S FollerUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues V WaycottFranceIvan Magalhaes QUALIFIED
Adams K GillianIndiaXuxue Feng NEW
Clifford B RulapaughIndiaAmy Elsner NEGOTIATION
Leon X PaprockiIndiaOnyama Limba QUALIFIED
Mujtaba Q GlickUnited KingdomBernardo Dominic RENEWAL
Claire U PoquetteCanadaStephen Shaw UNQUALIFIED
Morrow D BriddickIndiaStephen Shaw NEGOTIATION
Faith F MacleadJapanAnna Fali QUALIFIED
Munro T CaldareraItalyAnna Fali NEGOTIATION
Johnson J MorascaCanadaAnna Fali RENEWAL
Ricardo T MacleadCanadaAnna Fali NEGOTIATION
Mayumi H BowleyRussiaAsiya Javayant QUALIFIED
Tony B BriddickRussiaIvan Magalhaes NEGOTIATION
Cody I StensethFranceAnna Fali RENEWAL
Silvio K StockhamItalyStephen Shaw QUALIFIED
Salvatore E KolmetzGermanyBernardo Dominic PROPOSAL
Chavez C TollnerRussiaAsiya Javayant NEW
Jeanfrancois E VocelkaBrazilIoni Bowcher PROPOSAL
Claire O TollnerCanadaAsiya Javayant NEW
Jefferson K IturbideRussiaAnna Fali QUALIFIED
David G FigeroaGermanyAsiya Javayant QUALIFIED
Aika H RutaCanadaIvan Magalhaes NEGOTIATION
Julie W MaletCanadaAsiya Javayant RENEWAL
Kadeem W DarakjyAustraliaAsiya Javayant UNQUALIFIED
Ashley N KolmetzGermanyIoni Bowcher UNQUALIFIED
Mujtaba L RimArgentinaAnna Fali NEW
Mujtaba P GillianFranceAsiya Javayant NEGOTIATION
James L BowleyAustraliaAnna Fali NEGOTIATION
Arvin T InouyeSpainXuxue Feng PROPOSAL
Aika F FollerIndiaBernardo Dominic UNQUALIFIED
Leon K PoquetteArgentinaAnna Fali QUALIFIED
Maisha C TollnerItalyAnna Fali UNQUALIFIED
Darci I DoeIndiaIvan Magalhaes UNQUALIFIED
Isabel H FerenczBrazilElwin Sharvill NEGOTIATION
Cody F WaycottAustraliaXuxue Feng PROPOSAL
Jeanfrancois U StensethFranceElwin Sharvill RENEWAL
James R SlusarskiFranceAnna Fali RENEWAL
Arvin E SaylorsRussiaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya N FlosiUnited KingdomAnna Fali QUALIFIED
Ricardo O SchemmerArgentinaIvan Magalhaes NEGOTIATION
Clifford P DarakjyJapanAsiya Javayant QUALIFIED
Claire Z FlosiCanadaAmy Elsner PROPOSAL
Tony X MaletIndiaStephen Shaw QUALIFIED
Ivar M AmigonIndiaXuxue Feng QUALIFIED
Mujtaba R BowleyCanadaBernardo Dominic UNQUALIFIED
Murillo J SaylorsCanadaAsiya Javayant NEW
Nicolas G BowleyUnited KingdomAmy Elsner NEGOTIATION
Clifford I ChuiJapanOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford O ChuiSpain2026-06-29Printing Dimensions RENEWAL56Stephen Shaw
1001Julie W GlickJapan2026-06-21Chanay, Jeffrey A Esq PROPOSAL45Elwin Sharvill
1002Jennifer D TollnerFrance2026-06-06Chanay, Jeffrey A Esq NEGOTIATION27Anna Fali
1003Nicolas Z DilliardBrazil2026-07-02Rangoni Of Florence PROPOSAL13Ioni Bowcher
1004Emily D NickaGermany2026-06-08Benton, John B Jr PROPOSAL89Elwin Sharvill
1005Mayumi J GarufiFrance2026-06-07Rangoni Of Florence NEW64Stephen Shaw
1006Smith K MacleadRussia2026-06-06Chanay, Jeffrey A Esq RENEWAL68Anna Fali
1007Greenwood L KuskoIndia2026-06-25Feiner Bros QUALIFIED82Amy Elsner
1008Maria U KuskoArgentina2026-06-21Chemel, James L Cpa NEGOTIATION36Bernardo Dominic
1009Silvio I BriddickFrance2026-06-15Rangoni Of Florence NEW98Onyama Limba
1010Arvin A DilliardBrazil2026-06-07Buckley Miller Wright PROPOSAL44Stephen Shaw
1011Jones V FigeroaCanada2026-06-13Dorl, James J Esq NEGOTIATION83Onyama Limba
1012Misaki P VocelkaAustralia2026-06-18King, Christopher A Esq QUALIFIED58Asiya Javayant
1013Ricardo S RimUnited Kingdom2026-06-22Feltz Printing Service UNQUALIFIED81Elwin Sharvill
1014Tony L MaletBrazil2026-06-13Benton, John B Jr PROPOSAL35Amy Elsner
1015Izzy W RutaItaly2026-06-20Feltz Printing Service UNQUALIFIED8Asiya Javayant
1016Salvatore C GarufiSpain2026-06-28Truhlar And Truhlar Attys QUALIFIED11Elwin Sharvill
1017Sinclair W StensethSpain2026-06-14Truhlar And Truhlar Attys UNQUALIFIED49Bernardo Dominic
1018Izzy N DilliardBrazil2026-06-08Buckley Miller Wright QUALIFIED95Xuxue Feng
1019Clifford H NestleAustralia2026-06-18Rousseaux, Michael Esq RENEWAL24Xuxue Feng
1020Kadeem I KuskoArgentina2026-06-20Chapman, Ross E Esq RENEWAL20Amy Elsner
1021Adams N FerenczUnited Kingdom2026-06-21Feiner Bros QUALIFIED1Stephen Shaw
1022Mayumi O PerinCanada2026-06-20Commercial Press RENEWAL35Asiya Javayant
1023Jones Z RutaBrazil2026-06-24Chanay, Jeffrey A Esq RENEWAL41Asiya Javayant
1024Kadeem K MaletJapan2026-06-26Chanay, Jeffrey A Esq QUALIFIED78Bernardo Dominic
1025Mujtaba O AlbaresFrance2026-06-26Truhlar And Truhlar Attys UNQUALIFIED98Ioni Bowcher
1026Cody C RutaAustralia2026-06-20King, Christopher A Esq PROPOSAL62Elwin Sharvill
1027Arvin H GarufiJapan2026-06-14Feiner Bros RENEWAL87Xuxue Feng
1028Chavez Q SergiRussia2026-06-10King, Christopher A Esq RENEWAL86Bernardo Dominic
1029Clifford I RimGermany2026-06-10Buckley Miller Wright PROPOSAL42Xuxue Feng
1030Leon C MaletCanada2026-06-20Buckley Miller Wright UNQUALIFIED87Xuxue Feng
1031Maisha Z GauchoIndia2026-06-18Truhlar And Truhlar Attys PROPOSAL76Ivan Magalhaes
1032Rodrigues X StensethFrance2026-06-22Truhlar And Truhlar Attys QUALIFIED20Stephen Shaw
1033Clifford Y VocelkaBrazil2026-06-20Feiner Bros PROPOSAL30Amy Elsner
1034Misaki Z SlusarskiRussia2026-06-13Morlong Associates QUALIFIED85Bernardo Dominic
1035Octavia I CaudyRussia2026-06-25Commercial Press NEW69Ioni Bowcher
1036Emily T BriddickUnited Kingdom2026-06-11Chemel, James L Cpa NEW84Ivan Magalhaes
1037Clifford W BriddickItaly2026-07-02Feltz Printing Service PROPOSAL5Xuxue Feng
1038Morrow J WhobreyItaly2026-06-23Morlong Associates PROPOSAL67Xuxue Feng
1039Greenwood A SchemmerIndia2026-06-13Printing Dimensions NEW41Xuxue Feng
1040Sinclair V BriddickUnited Kingdom2026-06-11Commercial Press NEW26Ioni Bowcher
1041Costa K CampainAustralia2026-06-16Feiner Bros PROPOSAL76Stephen Shaw
1042Jones W PaprockiAustralia2026-06-11Feiner Bros RENEWAL64Xuxue Feng
1043Jeanfrancois T FollerJapan2026-06-28Feiner Bros NEGOTIATION31Amy Elsner
1044Arvin O IturbideArgentina2026-06-30Chapman, Ross E Esq RENEWAL27Elwin Sharvill
1045Cody J GarufiIndia2026-06-22Morlong Associates NEGOTIATION40Onyama Limba
1046Nicolas D KolmetzCanada2026-06-18Chapman, Ross E Esq NEW6Elwin Sharvill
1047Stacey Y DilliardCanada2026-06-04Rousseaux, Michael Esq NEGOTIATION61Ivan Magalhaes
1048Chavez G CaldareraBrazil2026-06-26Chemel, James L Cpa NEW24Anna Fali
1049Maria S GillianCanada2026-06-08Printing Dimensions RENEWAL10Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Isabel N PoquetteCanadaElwin Sharvill UNQUALIFIED
Ashley Y RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Juan I ShinkoGermanyElwin Sharvill NEGOTIATION
Greenwood V FerenczArgentinaXuxue Feng RENEWAL
Ivar C GillianGermanyBernardo Dominic NEW
Leon H StensethGermanyAnna Fali RENEWAL
Stacey G OldroydJapanOnyama Limba NEGOTIATION
Silvio G SaylorsItalyAmy Elsner PROPOSAL
Jeanfrancois G AmigonCanadaAsiya Javayant UNQUALIFIED
Kadeem A NestleSpainElwin Sharvill RENEWAL
Ivar F TollnerIndiaIvan Magalhaes PROPOSAL
Emily W FlosiJapanAsiya Javayant PROPOSAL
Ashley V VocelkaGermanyOnyama Limba QUALIFIED
Deepesh R RutaBrazilOnyama Limba UNQUALIFIED
Francesco D KuskoGermanyAmy Elsner NEW
Munro N ShinkoFranceAnna Fali RENEWAL
Jones D StensethJapanBernardo Dominic RENEWAL
James D ButtBrazilStephen Shaw RENEWAL
Jeanfrancois G NickaAustraliaIoni Bowcher PROPOSAL
Munro J NestleRussiaAmy Elsner QUALIFIED
Silvio O RulapaughArgentinaElwin Sharvill NEGOTIATION
Faith B StockhamItalyBernardo Dominic QUALIFIED
Jones J CaldareraFranceAnna Fali QUALIFIED
Arvin E OstroskyJapanAsiya Javayant NEW
Leja I CampainFranceIoni Bowcher QUALIFIED
Chavez D SchemmerFranceXuxue Feng RENEWAL
Ashley U SlusarskiAustraliaOnyama Limba NEGOTIATION
Claire R RutaBrazilElwin Sharvill NEW
Sinclair Z SergiAustraliaXuxue Feng UNQUALIFIED
Julie H GlickFranceStephen Shaw NEW
Misaki C MacleadAustraliaAnna Fali QUALIFIED
Tony M InouyeSpainAmy Elsner NEW
Salvatore E SlusarskiRussiaStephen Shaw QUALIFIED
Aditya K FlosiFranceOnyama Limba RENEWAL
Smith U SlusarskiIndiaAsiya Javayant PROPOSAL
Sinclair D CampainIndiaOnyama Limba UNQUALIFIED
Jones K StockhamGermanyIvan Magalhaes NEGOTIATION
Morrow H RulapaughBrazilStephen Shaw NEGOTIATION
Francesco V MorascaSpainXuxue Feng RENEWAL
Costa G TollnerBrazilIoni Bowcher PROPOSAL
Mayumi K MarrierBrazilIvan Magalhaes RENEWAL
Misaki I ButtFranceOnyama Limba NEGOTIATION
Jones F OldroydJapanAnna Fali PROPOSAL
Wickens Z OstroskyItalyAnna Fali RENEWAL
Nicolas L VocelkaUnited KingdomXuxue Feng QUALIFIED
Claire R AmigonCanadaIoni Bowcher UNQUALIFIED
Murillo R CaldareraUnited KingdomElwin Sharvill UNQUALIFIED
Francesco C AmigonCanadaBernardo Dominic PROPOSAL
James H MorascaBrazilIvan Magalhaes NEW
Munro I MacleadJapanBernardo Dominic NEGOTIATION
Frozen Columns
Name
Isabel H Gillian
Leon G Kusko
Sinclair W Briddick
Aditya Y Gillian
Darci L Briddick
Francesco I Stenseth
Arvin O Stockham
Juan B Gillian
Rodrigues M Darakjy
Sinclair E Malet
Maria I Gaucho
Faith L Malet
Ricardo V Caudy
Maisha E Tollner
Adams M Ostrosky
Isabel K Malet
Jones G Morasca
Chavez M Shinko
Mujtaba D Poquette
Darci A Stenseth
Julie X Flosi
Maisha T Albares
Mayumi K Bolognia
Leon L Caudy
Sinclair U Whobrey
David M Ostrosky
Maisha W Marrier
Chavez R Morasca
Emily K Royster
Ashley D Garufi
Silvio G Royster
Murillo L Ruta
Greenwood C Gillian
Salvatore C Maclead
Jefferson U Kusko
Leon W Garufi
Tony V Wieser
Alejandro T Butt
Murillo J Amigon
Alejandro X Briddick
Munro G Royster
Wickens R Vocelka
James Y Amigon
Alejandro Y Stenseth
Maria M Schemmer
Costa A Waycott
Costa Z Stenseth
Isabel Y Rim
Isabel A Marrier
Ashley L Schemmer
IdCountryDate
1000Canada2026-06-10
1001Canada2026-06-23
1002Germany2026-06-24
1003Canada2026-06-26
1004Canada2026-06-04
1005United Kingdom2026-06-24
1006United Kingdom2026-06-09
1007France2026-07-02
1008Canada2026-06-11
1009India2026-06-22
1010Russia2026-06-06
1011Australia2026-07-01
1012Russia2026-06-30
1013India2026-06-06
1014Russia2026-06-29
1015Australia2026-06-04
1016Italy2026-06-05
1017France2026-06-03
1018Brazil2026-07-01
1019Spain2026-06-06
1020Brazil2026-06-22
1021United Kingdom2026-06-03
1022Canada2026-06-18
1023Japan2026-06-03
1024United Kingdom2026-06-13
1025Australia2026-06-28
1026India2026-06-25
1027Germany2026-06-23
1028Japan2026-06-30
1029Australia2026-06-25
1030Japan2026-06-11
1031Australia2026-06-12
1032Brazil2026-06-22
1033Japan2026-06-26
1034Australia2026-06-05
1035Canada2026-06-05
1036Italy2026-06-23
1037United Kingdom2026-06-28
1038Brazil2026-06-23
1039Australia2026-06-11
1040Japan2026-06-19
1041Japan2026-06-04
1042Germany2026-06-08
1043Brazil2026-06-28
1044Germany2026-06-13
1045Japan2026-06-26
1046France2026-06-03
1047France2026-06-04
1048Canada2026-06-27
1049Argentina2026-06-24

On-Demand Data

NameIdCountryDate
Morrow B Dilliard1000Spain2026-06-25
Deepesh G Waycott1001Spain2026-06-28
Juan R Inouye1002Spain2026-06-18
Francesco Z Schemmer1003Italy2026-06-22
Emily B Shinko1004Russia2026-06-03
Kadeem L Figeroa1005Australia2026-06-05
Octavia E Iturbide1006Argentina2026-06-17
Clifford W Vocelka1007Japan2026-06-24
Smith E Ferencz1008Spain2026-06-17
Smith B Garufi1009Canada2026-07-01
Jones N Figeroa1010Italy2026-06-13
Ricardo D Venere1011Germany2026-06-10
Octavia E Schemmer1012Spain2026-06-18
Mujtaba Z Kolmetz1013Canada2026-06-30
Morrow P Chui1014Australia2026-06-20
Jefferson D Garufi1015Russia2026-06-30
Silvio J Venere1016Italy2026-06-19
Alejandro Z Stockham1017France2026-06-16
Arvin Y Caldarera1018Brazil2026-06-17
Clifford M Morasca1019Argentina2026-06-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco J WaycottFranceBernardo Dominic UNQUALIFIED
Cody D MarrierGermanyBernardo Dominic UNQUALIFIED
Greenwood S CampainCanadaXuxue Feng RENEWAL
Kaitlin J SlusarskiJapanIvan Magalhaes NEW
Alejandro V WieserIndiaStephen Shaw NEGOTIATION
Mujtaba B IturbideArgentinaIvan Magalhaes UNQUALIFIED
Smith A GarufiIndiaBernardo Dominic UNQUALIFIED
Wickens S FlosiSpainOnyama Limba PROPOSAL
Darci I GarufiSpainAsiya Javayant NEGOTIATION
Chavez K AlbaresUnited KingdomAsiya Javayant RENEWAL
Clifford V BowleyItalyXuxue Feng PROPOSAL
Juan N AlbaresArgentinaBernardo Dominic NEW
Antonio V ButtCanadaXuxue Feng UNQUALIFIED
Ricardo T WieserFranceBernardo Dominic NEW
Aika F DoeIndiaStephen Shaw RENEWAL
Salvatore K ChuiIndiaElwin Sharvill PROPOSAL
Ivar B SaylorsItalyStephen Shaw RENEWAL
Arvin F WieserUnited KingdomXuxue Feng RENEWAL
Smith E VocelkaRussiaAsiya Javayant PROPOSAL
Emily A OldroydAustraliaIoni Bowcher NEW
Ashley G BowleyJapanAmy Elsner RENEWAL
Chavez W CampainUnited KingdomAsiya Javayant PROPOSAL
Jefferson Z VocelkaItalyXuxue Feng QUALIFIED
Aruna Z CampainBrazilOnyama Limba RENEWAL
David H MaletSpainIoni Bowcher UNQUALIFIED
Murillo X CaldareraItalyBernardo Dominic UNQUALIFIED
Aika U MaletRussiaIvan Magalhaes PROPOSAL
Jefferson Z GlickItalyIvan Magalhaes PROPOSAL
Isabel G SaylorsArgentinaOnyama Limba QUALIFIED
Misaki F WhobreyFranceAmy Elsner UNQUALIFIED
Jeanfrancois O WhobreyUnited KingdomStephen Shaw NEW
Maisha K NickaAustraliaAmy Elsner NEW
Murillo X MarrierArgentinaStephen Shaw RENEWAL
Murillo G RutaIndiaOnyama Limba NEGOTIATION
Ricardo Q IturbideFranceElwin Sharvill NEW
Octavia N DoeBrazilAnna Fali QUALIFIED
Jeanfrancois T WieserCanadaOnyama Limba QUALIFIED
Aditya G RoysterCanadaStephen Shaw NEGOTIATION
Jennifer E CaldareraBrazilAsiya Javayant NEGOTIATION
Claire B WhobreyBrazilOnyama Limba 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>