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
Maisha P PoquetteCanadaAmy Elsner RENEWAL
Alejandro U NestleItalyStephen Shaw UNQUALIFIED
Morrow E ButtUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois B NickaBrazilAmy Elsner PROPOSAL
Kaitlin V BowleyCanadaOnyama Limba RENEWAL
Tony F BologniaBrazilOnyama Limba NEGOTIATION
Octavia V DilliardBrazilIvan Magalhaes PROPOSAL
Murillo E FigeroaFranceAmy Elsner NEGOTIATION
Darci D RulapaughJapanBernardo Dominic QUALIFIED
Darci S OldroydFranceIoni Bowcher NEW
Deepesh B SchemmerGermanyIoni Bowcher PROPOSAL
Sinclair Y NestleIndiaOnyama Limba PROPOSAL
Jones X AlbaresCanadaOnyama Limba NEW
Murillo G RoysterFranceIoni Bowcher NEGOTIATION
Silvio E WieserSpainOnyama Limba NEGOTIATION
Mayumi M IturbideItalyAmy Elsner NEW
Faith Q CaldareraGermanyAnna Fali NEGOTIATION
Alejandro T PerinCanadaXuxue Feng RENEWAL
David B CaudyJapanAmy Elsner QUALIFIED
Costa H StockhamItalyAmy Elsner UNQUALIFIED
Deepesh L GillianJapanAmy Elsner PROPOSAL
Nicolas C GillianAustraliaIvan Magalhaes PROPOSAL
Arvin O AmigonAustraliaXuxue Feng NEGOTIATION
Ivar L WieserSpainAmy Elsner QUALIFIED
Jefferson M FollerJapanXuxue Feng RENEWAL
Munro V VocelkaIndiaAsiya Javayant NEW
Emily H DilliardUnited KingdomIoni Bowcher RENEWAL
Octavia A RulapaughSpainAsiya Javayant UNQUALIFIED
Faith Y AmigonJapanOnyama Limba UNQUALIFIED
Nicolas Y RimBrazilAsiya Javayant NEW
Aruna E StockhamIndiaAsiya Javayant NEGOTIATION
Costa L ShinkoGermanyOnyama Limba NEW
Silvio T MaletBrazilElwin Sharvill PROPOSAL
Jennifer S GillianBrazilOnyama Limba NEW
Alejandro M ShinkoAustraliaAsiya Javayant NEW
Ashley J DilliardJapanAnna Fali UNQUALIFIED
James O GauchoJapanAsiya Javayant QUALIFIED
Arvin D FollerIndiaAnna Fali QUALIFIED
Silvio E WhobreyCanadaStephen Shaw NEGOTIATION
Ashley O MaletGermanyAnna Fali NEW
Octavia Z InouyeRussiaElwin Sharvill QUALIFIED
Jennifer P PerinSpainIvan Magalhaes PROPOSAL
Maisha B ChuiCanadaStephen Shaw UNQUALIFIED
Alejandro Z ShinkoArgentinaOnyama Limba NEGOTIATION
Salvatore T SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Adams N GauchoGermanyBernardo Dominic UNQUALIFIED
Sinclair B WieserCanadaAsiya Javayant UNQUALIFIED
Leja W RimAustraliaStephen Shaw UNQUALIFIED
Deepesh G InouyeJapanAnna Fali PROPOSAL
Mayumi Z WieserItalyStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco K DoeItalyBernardo Dominic PROPOSAL
Kaitlin K NestleRussiaXuxue Feng PROPOSAL
Wickens C MorascaAustraliaAsiya Javayant UNQUALIFIED
Julie L StockhamRussiaOnyama Limba NEGOTIATION
James Q SlusarskiJapanOnyama Limba QUALIFIED
Leja H KuskoGermanyElwin Sharvill UNQUALIFIED
David C PaprockiGermanyIvan Magalhaes UNQUALIFIED
Sinclair X VocelkaItalyStephen Shaw NEW
Nicolas U KolmetzCanadaAnna Fali RENEWAL
Jefferson Y MacleadJapanAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem S RulapaughIndia2024-05-31Chapman, Ross E Esq NEGOTIATION87Amy Elsner
1001Juan Q FigeroaSpain2024-06-03Truhlar And Truhlar Attys PROPOSAL59Onyama Limba
1002Faith N MarrierFrance2024-06-08Buckley Miller Wright PROPOSAL35Xuxue Feng
1003Sinclair Y MarrierAustralia2024-05-31Feiner Bros NEW90Asiya Javayant
1004Mujtaba K InouyeArgentina2024-06-09King, Christopher A Esq NEGOTIATION47Stephen Shaw
1005Smith Q NickaAustralia2024-06-10Commercial Press NEGOTIATION97Ivan Magalhaes
1006Kaitlin K MaletFrance2024-06-21Rangoni Of Florence NEW68Onyama Limba
1007Mujtaba A OstroskyBrazil2024-06-20Rousseaux, Michael Esq QUALIFIED28Bernardo Dominic
1008Leja R InouyeJapan2024-06-17Buckley Miller Wright RENEWAL54Amy Elsner
1009David O PerinSpain2024-06-09Chanay, Jeffrey A Esq QUALIFIED1Amy Elsner
1010Mujtaba P ShinkoItaly2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED64Anna Fali
1011Mayumi B BowleyFrance2024-06-04Chapman, Ross E Esq PROPOSAL65Xuxue Feng
1012Maisha T StockhamAustralia2024-05-25Chanay, Jeffrey A Esq NEGOTIATION86Anna Fali
1013Jeanfrancois U IturbideCanada2024-06-16Buckley Miller Wright PROPOSAL87Onyama Limba
1014Mujtaba H SlusarskiRussia2024-06-09Feiner Bros RENEWAL94Anna Fali
1015Isabel X RimAustralia2024-06-04Feiner Bros PROPOSAL79Ioni Bowcher
1016Clifford N ShinkoJapan2024-06-03Truhlar And Truhlar Attys PROPOSAL69Elwin Sharvill
1017Francesco U SaylorsIndia2024-06-08Truhlar And Truhlar Attys NEGOTIATION65Bernardo Dominic
1018Murillo O RimBrazil2024-05-31Feiner Bros QUALIFIED22Ivan Magalhaes
1019Ricardo P WaycottUnited Kingdom2024-06-15Commercial Press RENEWAL90Xuxue Feng
1020Smith H NickaBrazil2024-06-05Feiner Bros RENEWAL83Xuxue Feng
1021Jones H DarakjyBrazil2024-06-20Chemel, James L Cpa NEGOTIATION2Asiya Javayant
1022Claire D WhobreyArgentina2024-06-13Chemel, James L Cpa NEGOTIATION26Onyama Limba
1023Claire I DilliardGermany2024-06-05Feiner Bros NEGOTIATION65Xuxue Feng
1024Isabel F SlusarskiSpain2024-05-28Benton, John B Jr PROPOSAL1Ioni Bowcher
1025Juan T AmigonIndia2024-06-09Rousseaux, Michael Esq UNQUALIFIED7Amy Elsner
1026Sinclair E SaylorsArgentina2024-05-28Chemel, James L Cpa NEW41Amy Elsner
1027Julie E IturbideUnited Kingdom2024-05-29Commercial Press UNQUALIFIED36Elwin Sharvill
1028Antonio T RimUnited Kingdom2024-05-25Printing Dimensions NEGOTIATION89Asiya Javayant
1029Maria Z FigeroaFrance2024-06-04Dorl, James J Esq QUALIFIED10Stephen Shaw
1030Misaki S RutaAustralia2024-06-14Rangoni Of Florence QUALIFIED84Stephen Shaw
1031Faith Q GlickArgentina2024-06-08Morlong Associates RENEWAL40Amy Elsner
1032Arvin H KolmetzBrazil2024-05-27Chapman, Ross E Esq NEGOTIATION46Stephen Shaw
1033Leja E PaprockiJapan2024-06-17Rangoni Of Florence NEGOTIATION95Amy Elsner
1034Nicolas I KolmetzItaly2024-06-10Chanay, Jeffrey A Esq RENEWAL55Ivan Magalhaes
1035Jeanfrancois K ChuiRussia2024-05-26Chemel, James L Cpa UNQUALIFIED91Onyama Limba
1036Emily M GillianAustralia2024-05-29Morlong Associates NEW20Anna Fali
1037Aika N BowleyIndia2024-06-15Feiner Bros PROPOSAL17Ioni Bowcher
1038Antonio D StensethArgentina2024-06-05Rousseaux, Michael Esq QUALIFIED32Ioni Bowcher
1039Adams E ChuiFrance2024-05-28Dorl, James J Esq NEGOTIATION42Asiya Javayant
1040Smith U GlickIndia2024-05-24King, Christopher A Esq QUALIFIED23Ivan Magalhaes
1041Kadeem R SergiBrazil2024-06-17Morlong Associates RENEWAL33Elwin Sharvill
1042Julie U RimItaly2024-06-08Feltz Printing Service RENEWAL54Xuxue Feng
1043Johnson S InouyeSpain2024-06-12Printing Dimensions UNQUALIFIED46Asiya Javayant
1044Tony Y CaudyUnited Kingdom2024-05-27Chanay, Jeffrey A Esq NEGOTIATION97Asiya Javayant
1045Costa W DoeFrance2024-05-25Feiner Bros RENEWAL50Anna Fali
1046Jones Q KolmetzUnited Kingdom2024-06-09Rousseaux, Michael Esq NEGOTIATION87Onyama Limba
1047Smith W GlickRussia2024-06-02Chanay, Jeffrey A Esq NEW19Ivan Magalhaes
1048Adams V DilliardGermany2024-06-03Benton, John B Jr QUALIFIED50Ioni Bowcher
1049Leon J InouyeUnited Kingdom2024-06-15Rousseaux, Michael Esq UNQUALIFIED46Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jennifer A FollerFranceAnna Fali NEW
Adams Y SergiBrazilIvan Magalhaes NEW
Smith P PerinFranceBernardo Dominic RENEWAL
Rodrigues P GillianFranceIvan Magalhaes NEGOTIATION
Salvatore Q StockhamFranceXuxue Feng UNQUALIFIED
Rodrigues L TollnerAustraliaBernardo Dominic UNQUALIFIED
Deepesh E RimRussiaIvan Magalhaes PROPOSAL
Cody S CaudySpainXuxue Feng RENEWAL
James A BowleyArgentinaAnna Fali NEW
Leon H CaudyFranceElwin Sharvill QUALIFIED
Maria T AlbaresFranceOnyama Limba UNQUALIFIED
Aika B WhobreyArgentinaOnyama Limba QUALIFIED
Greenwood T BologniaFranceAnna Fali RENEWAL
Misaki A PerinUnited KingdomXuxue Feng PROPOSAL
Wickens R SergiBrazilIoni Bowcher QUALIFIED
Maisha S GarufiAustraliaAmy Elsner PROPOSAL
Silvio D VenereAustraliaAnna Fali RENEWAL
Leon R TollnerUnited KingdomElwin Sharvill NEGOTIATION
Jefferson Q DarakjyArgentinaStephen Shaw NEGOTIATION
Munro G MacleadBrazilIvan Magalhaes PROPOSAL
Emily X RulapaughArgentinaOnyama Limba QUALIFIED
David D AmigonAustraliaAmy Elsner NEGOTIATION
Misaki Z WhobreyArgentinaElwin Sharvill QUALIFIED
Murillo R IturbideIndiaBernardo Dominic PROPOSAL
Costa M OldroydFranceXuxue Feng NEW
Maria U CampainBrazilElwin Sharvill UNQUALIFIED
Maria E CampainArgentinaStephen Shaw RENEWAL
Chavez R ButtJapanElwin Sharvill QUALIFIED
Smith U BriddickFranceIoni Bowcher PROPOSAL
Juan F MaletBrazilElwin Sharvill NEW
James X FlosiArgentinaElwin Sharvill PROPOSAL
Isabel E GillianRussiaElwin Sharvill NEW
David M MorascaBrazilAsiya Javayant NEGOTIATION
Nicolas O VocelkaIndiaAmy Elsner NEGOTIATION
Wickens Y PoquetteBrazilAmy Elsner UNQUALIFIED
Julie E RutaSpainBernardo Dominic PROPOSAL
Misaki G IturbideGermanyAsiya Javayant UNQUALIFIED
Wickens D GauchoGermanyOnyama Limba NEGOTIATION
Maria A DarakjyIndiaXuxue Feng QUALIFIED
Salvatore I GarufiCanadaOnyama Limba QUALIFIED
Emily S AlbaresGermanyAnna Fali NEW
Mayumi L MaletArgentinaElwin Sharvill PROPOSAL
Silvio S RutaArgentinaAsiya Javayant UNQUALIFIED
Mayumi M BologniaBrazilStephen Shaw NEW
Adams I CaldareraAustraliaOnyama Limba RENEWAL
Mujtaba R KolmetzSpainIvan Magalhaes PROPOSAL
Johnson X DarakjyBrazilElwin Sharvill PROPOSAL
Clifford I VenereRussiaAsiya Javayant PROPOSAL
Cody T PerinArgentinaXuxue Feng PROPOSAL
Kaitlin D SlusarskiJapanElwin Sharvill RENEWAL
Frozen Columns
Name
Salvatore C Caldarera
Faith Z Vocelka
Rodrigues Q Amigon
Claire N Gillian
Maisha U Ferencz
Greenwood O Poquette
Octavia R Rim
Francesco P Waycott
James R Ferencz
Chavez T Wieser
Tony D Waycott
Izzy T Maclead
Julie Q Perin
Mujtaba J Malet
Mayumi I Chui
Costa A Nestle
Kadeem N Maclead
Munro I Butt
Misaki G Malet
Misaki Z Maclead
Nicolas W Slusarski
Izzy L Caldarera
Jennifer E Bowley
David U Dilliard
Izzy Z Royster
Mujtaba W Campain
Jones R Vocelka
Kaitlin T Bowley
Wickens W Iturbide
Emily R Figeroa
Ricardo V Venere
Kaitlin X Chui
Morrow T Tollner
Salvatore Y Waycott
Smith U Kolmetz
Adams H Morasca
Aruna V Stenseth
Alejandro U Malet
Isabel H Albares
Tony N Darakjy
Arvin L Malet
Alejandro D Flosi
Jeanfrancois S Doe
Isabel K Sergi
Darci F Briddick
Mayumi N Butt
Emily Q Oldroyd
Deepesh L Figeroa
James E Tollner
Johnson R Marrier
IdCountryDate
1000United Kingdom2024-06-08
1001United Kingdom2024-06-06
1002United Kingdom2024-05-25
1003India2024-06-02
1004Brazil2024-06-06
1005Germany2024-06-04
1006Canada2024-05-24
1007Australia2024-06-01
1008Italy2024-05-31
1009Brazil2024-06-09
1010Spain2024-06-05
1011Germany2024-06-05
1012Australia2024-06-21
1013France2024-05-23
1014Argentina2024-06-20
1015Canada2024-06-09
1016Australia2024-05-31
1017Italy2024-05-30
1018Russia2024-06-10
1019Canada2024-06-13
1020Australia2024-05-28
1021Argentina2024-05-24
1022India2024-06-15
1023Canada2024-05-26
1024Brazil2024-06-12
1025Canada2024-06-08
1026United Kingdom2024-05-31
1027Japan2024-06-13
1028Russia2024-06-18
1029Brazil2024-06-16
1030India2024-06-08
1031Germany2024-06-20
1032Germany2024-06-13
1033France2024-05-23
1034Russia2024-06-20
1035Australia2024-06-06
1036India2024-06-01
1037Canada2024-06-11
1038Brazil2024-06-12
1039Australia2024-05-24
1040Russia2024-06-12
1041Germany2024-06-12
1042Russia2024-05-27
1043India2024-06-10
1044India2024-06-13
1045Brazil2024-06-11
1046Japan2024-05-28
1047India2024-06-16
1048United Kingdom2024-06-12
1049France2024-06-14

On-Demand Data

NameIdCountryDate
Aika Q Slusarski1000Russia2024-06-21
Isabel O Sergi1001United Kingdom2024-06-11
Ivar C Kolmetz1002Argentina2024-06-12
Rodrigues H Gillian1003Canada2024-06-09
Mayumi Z Glick1004Brazil2024-06-07
Julie Z Whobrey1005Brazil2024-06-20
Ashley E Shinko1006Argentina2024-06-20
Tony R Paprocki1007Australia2024-06-07
Aika V Oldroyd1008Spain2024-05-28
Morrow I Caldarera1009Australia2024-06-06
Izzy D Nestle1010Spain2024-05-31
Kaitlin Z Amigon1011Germany2024-06-14
James S Stenseth1012Russia2024-06-14
Nicolas W Shinko1013Russia2024-06-16
Leon X Marrier1014Italy2024-06-05
Alejandro O Inouye1015United Kingdom2024-06-09
Deepesh N Gillian1016Germany2024-05-26
Cody S Butt1017Japan2024-05-29
Mujtaba F Whobrey1018Argentina2024-06-15
Aika B Stenseth1019India2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez Y AlbaresGermanyAnna Fali NEGOTIATION
Deepesh R WaycottFranceIvan Magalhaes RENEWAL
Octavia R SchemmerItalyOnyama Limba NEW
Cody D GarufiRussiaElwin Sharvill NEGOTIATION
Izzy U BologniaIndiaXuxue Feng UNQUALIFIED
Darci G GauchoGermanyStephen Shaw NEW
Antonio A PaprockiItalyIvan Magalhaes NEGOTIATION
Ivar U GarufiSpainBernardo Dominic PROPOSAL
Jeanfrancois B FigeroaSpainIvan Magalhaes NEGOTIATION
Maria S RoysterSpainAsiya Javayant NEGOTIATION
Octavia F BriddickSpainIvan Magalhaes RENEWAL
Leon R PaprockiBrazilAnna Fali NEW
Wickens F PerinIndiaXuxue Feng RENEWAL
Sinclair S MaletItalyIoni Bowcher UNQUALIFIED
David E InouyeSpainElwin Sharvill QUALIFIED
Alejandro M GauchoSpainElwin Sharvill RENEWAL
Costa X SaylorsItalyOnyama Limba RENEWAL
Juan X DoeFranceAnna Fali NEW
Ricardo O DilliardJapanAnna Fali QUALIFIED
Arvin W DilliardGermanyStephen Shaw UNQUALIFIED
Antonio K GarufiIndiaAmy Elsner QUALIFIED
Jefferson K SaylorsUnited KingdomElwin Sharvill NEW
Ashley A OstroskySpainAmy Elsner QUALIFIED
Julie Q AlbaresGermanyAsiya Javayant UNQUALIFIED
Kaitlin H StockhamSpainBernardo Dominic QUALIFIED
Adams I VenereAustraliaBernardo Dominic QUALIFIED
Leja D GarufiItalyElwin Sharvill RENEWAL
Cody W StensethBrazilIoni Bowcher NEW
Jeanfrancois J WaycottCanadaAmy Elsner PROPOSAL
Ashley T InouyeIndiaElwin Sharvill NEW
Jennifer S OldroydSpainStephen Shaw UNQUALIFIED
Jennifer O MorascaGermanyAnna Fali PROPOSAL
Murillo Q OstroskyAustraliaIvan Magalhaes PROPOSAL
Munro F PaprockiJapanStephen Shaw PROPOSAL
Costa M RutaIndiaElwin Sharvill UNQUALIFIED
Kadeem A RimRussiaAsiya Javayant NEW
Emily I ShinkoArgentinaElwin Sharvill NEGOTIATION
Antonio W KolmetzIndiaElwin Sharvill QUALIFIED
Rodrigues T WhobreyRussiaAmy Elsner RENEWAL
Ashley I ButtIndiaIvan Magalhaes 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>