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
Smith L VocelkaJapanBernardo Dominic RENEWAL
Greenwood X KuskoAustraliaIoni Bowcher RENEWAL
Maria I OldroydJapanIoni Bowcher RENEWAL
Johnson W CaudyUnited KingdomStephen Shaw NEW
Leja G WhobreyBrazilOnyama Limba PROPOSAL
Wickens E StensethBrazilStephen Shaw NEW
Maisha J MarrierJapanAsiya Javayant UNQUALIFIED
Nicolas P DoeGermanyIvan Magalhaes NEGOTIATION
Sinclair C RutaCanadaElwin Sharvill RENEWAL
Silvio W KuskoSpainIvan Magalhaes UNQUALIFIED
Mayumi X ChuiItalyAsiya Javayant PROPOSAL
Morrow U PaprockiBrazilBernardo Dominic QUALIFIED
Jeanfrancois W ShinkoIndiaIvan Magalhaes RENEWAL
Juan W CaudyUnited KingdomStephen Shaw NEW
Kadeem R DoeJapanOnyama Limba UNQUALIFIED
Tony V NickaItalyOnyama Limba RENEWAL
Stacey T ShinkoBrazilAsiya Javayant NEGOTIATION
Juan U NickaUnited KingdomAnna Fali QUALIFIED
Greenwood F FerenczCanadaXuxue Feng PROPOSAL
Maisha R FlosiGermanyIoni Bowcher NEGOTIATION
Aika D VocelkaUnited KingdomAnna Fali RENEWAL
Octavia L StensethCanadaBernardo Dominic PROPOSAL
Greenwood F KolmetzArgentinaElwin Sharvill PROPOSAL
Cody F DilliardGermanyElwin Sharvill UNQUALIFIED
Wickens T AlbaresItalyBernardo Dominic NEW
Maria Q BriddickBrazilStephen Shaw NEGOTIATION
Ivar M VocelkaRussiaAmy Elsner RENEWAL
Chavez O RoysterBrazilAnna Fali QUALIFIED
Kaitlin W DarakjyGermanyAmy Elsner RENEWAL
Jones S AmigonBrazilBernardo Dominic QUALIFIED
Juan Z PoquetteAustraliaIoni Bowcher RENEWAL
Julie G FigeroaRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois L CaldareraCanadaAsiya Javayant QUALIFIED
Smith F KolmetzSpainAmy Elsner PROPOSAL
Izzy O ShinkoIndiaBernardo Dominic NEW
Jones R MaletAustraliaOnyama Limba NEGOTIATION
Munro T RulapaughCanadaAmy Elsner NEW
Smith O SaylorsGermanyBernardo Dominic NEGOTIATION
James S NestleBrazilIvan Magalhaes UNQUALIFIED
Aditya L NickaGermanyAnna Fali QUALIFIED
Arvin L KolmetzCanadaOnyama Limba PROPOSAL
Ricardo J SergiCanadaIvan Magalhaes PROPOSAL
Leon K TollnerArgentinaOnyama Limba NEW
David J MaletUnited KingdomStephen Shaw PROPOSAL
Aika V BriddickAustraliaElwin Sharvill UNQUALIFIED
Ivar U PerinSpainIvan Magalhaes NEW
Deepesh B IturbideBrazilAnna Fali RENEWAL
Jennifer L DarakjyItalyOnyama Limba NEW
Ricardo O OldroydBrazilElwin Sharvill QUALIFIED
Rodrigues S SlusarskiArgentinaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez W DilliardJapanOnyama Limba QUALIFIED
Stacey K DoeFranceOnyama Limba NEGOTIATION
Mayumi B ButtBrazilAnna Fali UNQUALIFIED
Jefferson U MaletIndiaIvan Magalhaes NEGOTIATION
Darci M MacleadCanadaAnna Fali NEGOTIATION
Jeanfrancois U SergiJapanBernardo Dominic NEW
Juan Y OldroydRussiaIoni Bowcher NEW
Clifford E DarakjyCanadaBernardo Dominic RENEWAL
Darci P SaylorsArgentinaAmy Elsner PROPOSAL
Antonio U MorascaGermanyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya R InouyeRussia2024-05-24Feltz Printing Service NEW44Amy Elsner
1001Deepesh O DilliardJapan2024-06-18Benton, John B Jr RENEWAL17Anna Fali
1002Alejandro S AmigonBrazil2024-06-16Commercial Press UNQUALIFIED75Ioni Bowcher
1003Morrow K NestleItaly2024-06-16Feltz Printing Service RENEWAL41Amy Elsner
1004Cody H MaletGermany2024-06-07Rousseaux, Michael Esq UNQUALIFIED98Bernardo Dominic
1005Alejandro V FollerGermany2024-06-15Buckley Miller Wright NEW54Asiya Javayant
1006Kadeem A DarakjyAustralia2024-05-23Printing Dimensions NEW95Ioni Bowcher
1007Juan V DoeBrazil2024-06-17Morlong Associates UNQUALIFIED73Onyama Limba
1008Leja Y DilliardIndia2024-05-25Morlong Associates RENEWAL1Onyama Limba
1009Murillo A SergiUnited Kingdom2024-06-14Chemel, James L Cpa QUALIFIED8Ioni Bowcher
1010Smith I OldroydFrance2024-06-12Chanay, Jeffrey A Esq RENEWAL82Amy Elsner
1011Kaitlin F FollerItaly2024-06-04Buckley Miller Wright RENEWAL19Onyama Limba
1012Murillo Q GillianIndia2024-05-23King, Christopher A Esq PROPOSAL97Bernardo Dominic
1013Aika Z CaldareraSpain2024-06-12Printing Dimensions UNQUALIFIED85Elwin Sharvill
1014Morrow C SaylorsRussia2024-06-14Rangoni Of Florence PROPOSAL55Stephen Shaw
1015Misaki E FlosiJapan2024-06-14Buckley Miller Wright UNQUALIFIED1Stephen Shaw
1016Mujtaba T ButtItaly2024-06-06King, Christopher A Esq RENEWAL1Elwin Sharvill
1017Adams N RoysterSpain2024-06-17Commercial Press UNQUALIFIED3Ivan Magalhaes
1018Jones Y NestleJapan2024-05-27Feltz Printing Service NEW76Amy Elsner
1019Sinclair X PoquetteSpain2024-06-03Chanay, Jeffrey A Esq RENEWAL54Ioni Bowcher
1020Mujtaba H SergiCanada2024-06-16Benton, John B Jr QUALIFIED53Stephen Shaw
1021Izzy O WaycottItaly2024-06-07Rousseaux, Michael Esq RENEWAL53Xuxue Feng
1022Johnson G AlbaresItaly2024-05-26Truhlar And Truhlar Attys PROPOSAL12Asiya Javayant
1023Ricardo P FigeroaArgentina2024-06-16Feltz Printing Service NEW72Anna Fali
1024Darci A WaycottFrance2024-05-28Printing Dimensions NEGOTIATION55Amy Elsner
1025Chavez R AlbaresRussia2024-06-20Morlong Associates UNQUALIFIED53Onyama Limba
1026Maria S MaletAustralia2024-06-13Buckley Miller Wright NEW69Xuxue Feng
1027Jefferson V BowleyFrance2024-05-29Chemel, James L Cpa NEGOTIATION36Elwin Sharvill
1028Emily C SchemmerCanada2024-06-19Buckley Miller Wright UNQUALIFIED70Ivan Magalhaes
1029Alejandro S CaudyItaly2024-06-12Feltz Printing Service RENEWAL64Elwin Sharvill
1030Murillo G MacleadFrance2024-06-09Chemel, James L Cpa RENEWAL50Elwin Sharvill
1031Morrow I DilliardArgentina2024-06-10Printing Dimensions QUALIFIED29Amy Elsner
1032Faith S InouyeCanada2024-06-10Rangoni Of Florence RENEWAL5Bernardo Dominic
1033Claire A FlosiArgentina2024-06-19Commercial Press RENEWAL86Ioni Bowcher
1034Salvatore Q VenereBrazil2024-06-17Feiner Bros UNQUALIFIED13Anna Fali
1035Murillo X GarufiCanada2024-05-27Chemel, James L Cpa UNQUALIFIED96Onyama Limba
1036Mayumi Q OstroskyUnited Kingdom2024-06-01Chemel, James L Cpa UNQUALIFIED41Ivan Magalhaes
1037Antonio P NickaArgentina2024-06-18Buckley Miller Wright UNQUALIFIED99Anna Fali
1038Kadeem B GauchoGermany2024-06-21Commercial Press NEW68Asiya Javayant
1039Costa U PoquetteRussia2024-06-02Printing Dimensions RENEWAL38Amy Elsner
1040Deepesh S ChuiJapan2024-06-20Feltz Printing Service QUALIFIED32Elwin Sharvill
1041Stacey N MarrierBrazil2024-05-27Morlong Associates RENEWAL13Elwin Sharvill
1042Aditya R ButtItaly2024-06-03Printing Dimensions RENEWAL1Bernardo Dominic
1043Isabel E StockhamItaly2024-05-28Chapman, Ross E Esq QUALIFIED10Elwin Sharvill
1044Faith R PerinArgentina2024-06-05King, Christopher A Esq QUALIFIED12Bernardo Dominic
1045James N InouyeGermany2024-06-04Truhlar And Truhlar Attys NEGOTIATION32Ioni Bowcher
1046Isabel Q AmigonCanada2024-06-06King, Christopher A Esq PROPOSAL58Xuxue Feng
1047Cody R ShinkoFrance2024-06-18Rangoni Of Florence QUALIFIED99Elwin Sharvill
1048Johnson I SchemmerRussia2024-06-10Feltz Printing Service NEW83Amy Elsner
1049Leon U SergiArgentina2024-06-07Chemel, James L Cpa PROPOSAL86Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Wickens B NickaGermanyElwin Sharvill UNQUALIFIED
Ivar G GauchoBrazilIoni Bowcher UNQUALIFIED
Ashley I RoysterFranceStephen Shaw PROPOSAL
Ricardo Q VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Chavez A NickaIndiaAmy Elsner QUALIFIED
Nicolas S BologniaSpainElwin Sharvill NEW
Johnson Z MaletJapanIvan Magalhaes NEGOTIATION
Greenwood X MaletGermanyIvan Magalhaes NEW
Ivar P MacleadJapanElwin Sharvill NEGOTIATION
Deepesh L FerenczJapanElwin Sharvill QUALIFIED
Juan G MacleadIndiaAnna Fali PROPOSAL
Munro J MacleadFranceIoni Bowcher UNQUALIFIED
Aruna H DoeFranceAnna Fali UNQUALIFIED
Mujtaba W RimItalyAmy Elsner QUALIFIED
Adams V WaycottFranceIvan Magalhaes PROPOSAL
Jones G CaudyRussiaOnyama Limba RENEWAL
Chavez H SchemmerJapanXuxue Feng NEW
Jefferson J SergiUnited KingdomXuxue Feng NEW
Misaki O PaprockiSpainAnna Fali QUALIFIED
Kadeem Y MacleadCanadaStephen Shaw NEW
Morrow I MorascaFranceAsiya Javayant QUALIFIED
Johnson Z CaudyArgentinaElwin Sharvill PROPOSAL
Maisha E BowleyUnited KingdomAmy Elsner NEGOTIATION
Greenwood D OldroydCanadaBernardo Dominic RENEWAL
Kadeem O PerinBrazilIvan Magalhaes PROPOSAL
Maria I IturbideItalyStephen Shaw RENEWAL
Maria M TollnerArgentinaElwin Sharvill NEGOTIATION
Cody M MaletBrazilElwin Sharvill NEGOTIATION
Kadeem L DilliardSpainAmy Elsner QUALIFIED
Costa T PoquetteUnited KingdomBernardo Dominic UNQUALIFIED
Maria I SaylorsFranceOnyama Limba QUALIFIED
Adams Y MarrierArgentinaAmy Elsner PROPOSAL
Salvatore S FlosiIndiaOnyama Limba PROPOSAL
Emily W SaylorsAustraliaStephen Shaw RENEWAL
Deepesh X RulapaughArgentinaXuxue Feng NEW
Deepesh X MaletBrazilAnna Fali NEGOTIATION
Stacey H SchemmerFranceIoni Bowcher RENEWAL
Sinclair L MarrierSpainAnna Fali UNQUALIFIED
Emily X OstroskyArgentinaElwin Sharvill NEW
Mayumi W NestleRussiaAmy Elsner NEGOTIATION
Kaitlin L DoeCanadaXuxue Feng QUALIFIED
Clifford B ChuiIndiaElwin Sharvill PROPOSAL
Kadeem H FigeroaFranceAnna Fali UNQUALIFIED
Mayumi M CaldareraItalyStephen Shaw UNQUALIFIED
Morrow Q BriddickSpainIoni Bowcher UNQUALIFIED
Francesco J PoquetteFranceStephen Shaw RENEWAL
Isabel L FerenczRussiaStephen Shaw RENEWAL
Costa B MorascaUnited KingdomOnyama Limba NEGOTIATION
Misaki D CaudyRussiaStephen Shaw QUALIFIED
Sinclair P OstroskyBrazilStephen Shaw PROPOSAL
Frozen Columns
Name
Maisha Y Maclead
Chavez B Stockham
Antonio B Paprocki
Isabel Z Figeroa
Darci B Whobrey
Darci T Inouye
Clifford T Briddick
Juan C Rulapaugh
Leon V Bowley
Ashley C Chui
David A Campain
Emily S Ruta
Mayumi Q Flosi
Emily B Stenseth
David S Malet
Maisha T Gillian
Smith G Figeroa
Faith J Ruta
Wickens J Rulapaugh
Julie N Kusko
Mayumi T Saylors
Ricardo X Paprocki
James R Bolognia
Leon U Darakjy
Cody N Shinko
Aika F Iturbide
Faith E Royster
Costa X Figeroa
Mujtaba E Briddick
Costa L Ruta
Maisha C Paprocki
Tony M Caldarera
Maria K Paprocki
Isabel H Gillian
Clifford I Ostrosky
Maria N Gaucho
Faith P Butt
Julie W Foller
Alejandro U Slusarski
Misaki U Albares
Octavia X Marrier
Claire Z Stenseth
Greenwood I Wieser
Clifford D Oldroyd
Silvio Z Kolmetz
Silvio X Inouye
Ivar F Kolmetz
Nicolas J Whobrey
Morrow C Briddick
Clifford L Malet
IdCountryDate
1000Spain2024-06-13
1001Brazil2024-06-14
1002Brazil2024-05-24
1003Italy2024-06-02
1004Italy2024-06-16
1005Spain2024-05-25
1006Canada2024-06-10
1007France2024-06-09
1008Argentina2024-06-04
1009France2024-06-06
1010Australia2024-05-24
1011Russia2024-06-07
1012Italy2024-06-03
1013India2024-06-09
1014Brazil2024-06-15
1015Canada2024-06-16
1016Argentina2024-05-24
1017Italy2024-06-18
1018Canada2024-06-07
1019Spain2024-06-12
1020India2024-06-02
1021India2024-05-25
1022Russia2024-06-17
1023Germany2024-06-08
1024Japan2024-06-14
1025Russia2024-05-24
1026Japan2024-05-26
1027Argentina2024-05-31
1028India2024-06-10
1029Australia2024-06-12
1030Brazil2024-06-06
1031Japan2024-05-27
1032Canada2024-05-27
1033France2024-06-09
1034Japan2024-06-01
1035Germany2024-05-27
1036Russia2024-05-25
1037Australia2024-06-14
1038Brazil2024-06-19
1039Spain2024-05-23
1040Italy2024-06-13
1041India2024-06-14
1042Germany2024-05-26
1043Spain2024-05-23
1044Argentina2024-05-28
1045Canada2024-06-14
1046Russia2024-06-21
1047India2024-06-01
1048Russia2024-05-29
1049India2024-06-20

On-Demand Data

NameIdCountryDate
Alejandro G Kolmetz1000India2024-06-10
Mayumi W Paprocki1001Brazil2024-06-03
Julie C Waycott1002Germany2024-06-15
Wickens S Caldarera1003Spain2024-05-27
Maria M Campain1004France2024-06-06
Aditya B Malet1005France2024-06-05
David K Amigon1006Spain2024-06-17
Izzy O Glick1007Russia2024-05-30
Aruna G Ferencz1008Brazil2024-06-11
Chavez X Stockham1009Germany2024-06-18
Jefferson U Kolmetz1010Japan2024-06-01
Faith P Kolmetz1011Germany2024-05-24
Leon V Ruta1012Japan2024-06-09
Maria K Gillian1013India2024-06-03
Greenwood E Albares1014Japan2024-06-20
Mujtaba Z Ferencz1015Italy2024-06-21
Deepesh L Royster1016India2024-05-28
Wickens Y Stockham1017Argentina2024-05-30
Faith W Maclead1018India2024-05-25
Rodrigues E Marrier1019Brazil2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon Q ShinkoJapanAmy Elsner RENEWAL
David E CampainAustraliaBernardo Dominic NEGOTIATION
Greenwood J AmigonFranceXuxue Feng NEGOTIATION
Johnson Z NickaJapanIoni Bowcher PROPOSAL
Maria Z InouyeItalyBernardo Dominic NEW
James X FollerFranceXuxue Feng QUALIFIED
Deepesh O CaudySpainElwin Sharvill UNQUALIFIED
Sinclair Z AmigonJapanElwin Sharvill QUALIFIED
Kadeem V ChuiIndiaElwin Sharvill NEGOTIATION
Munro L RimSpainBernardo Dominic NEGOTIATION
Nicolas U MaletRussiaAsiya Javayant NEGOTIATION
James W StensethIndiaIvan Magalhaes QUALIFIED
Juan Z VenereUnited KingdomBernardo Dominic RENEWAL
Stacey J GillianUnited KingdomStephen Shaw UNQUALIFIED
Clifford N BologniaAustraliaBernardo Dominic PROPOSAL
Nicolas L CaudyItalyBernardo Dominic RENEWAL
Faith G SaylorsSpainAnna Fali PROPOSAL
Chavez N NestleGermanyAmy Elsner UNQUALIFIED
Rodrigues V VenereGermanyAsiya Javayant RENEWAL
Cody G ShinkoJapanAmy Elsner QUALIFIED
Jefferson E CaldareraItalyStephen Shaw QUALIFIED
Jones P KolmetzRussiaStephen Shaw QUALIFIED
Misaki S MorascaGermanyAmy Elsner RENEWAL
Aika L OstroskyFranceIoni Bowcher NEGOTIATION
Rodrigues Y SaylorsCanadaIvan Magalhaes UNQUALIFIED
Kadeem E FollerJapanStephen Shaw PROPOSAL
Jefferson A BriddickFranceXuxue Feng UNQUALIFIED
Nicolas I CaudyFranceIvan Magalhaes RENEWAL
Sinclair P StensethBrazilAsiya Javayant NEGOTIATION
Darci U BowleyFranceElwin Sharvill NEW
Adams O FlosiGermanyAsiya Javayant PROPOSAL
Nicolas Q MorascaAustraliaOnyama Limba UNQUALIFIED
Maria Y GauchoItalyIoni Bowcher RENEWAL
Tony P RutaCanadaAsiya Javayant PROPOSAL
Murillo H SchemmerRussiaBernardo Dominic PROPOSAL
Silvio H MarrierSpainAsiya Javayant UNQUALIFIED
Costa Q StockhamBrazilIvan Magalhaes UNQUALIFIED
Jennifer K FollerUnited KingdomOnyama Limba PROPOSAL
Julie W MorascaGermanyElwin Sharvill RENEWAL
Deepesh L MarrierJapanOnyama 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>