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
Misaki J MacleadGermanyIoni Bowcher NEW
Kaitlin S FigeroaItalyAsiya Javayant NEGOTIATION
Kadeem M SlusarskiArgentinaAnna Fali UNQUALIFIED
Mujtaba Z FigeroaSpainXuxue Feng PROPOSAL
Nicolas K ChuiSpainAmy Elsner NEGOTIATION
Jones F GauchoUnited KingdomAsiya Javayant NEGOTIATION
Maria V MorascaArgentinaAnna Fali RENEWAL
Wickens R FigeroaItalyXuxue Feng QUALIFIED
Wickens Q VocelkaUnited KingdomBernardo Dominic PROPOSAL
Maria G SergiGermanyXuxue Feng PROPOSAL
Kadeem E IturbideJapanIoni Bowcher NEW
Leon W InouyeRussiaIvan Magalhaes NEW
Juan N WieserRussiaElwin Sharvill RENEWAL
Greenwood Z FigeroaGermanyStephen Shaw QUALIFIED
Julie A OldroydUnited KingdomStephen Shaw PROPOSAL
Nicolas J BowleyCanadaBernardo Dominic NEW
Stacey X SchemmerAustraliaXuxue Feng PROPOSAL
Clifford X RulapaughBrazilBernardo Dominic UNQUALIFIED
Stacey O FlosiSpainAnna Fali PROPOSAL
Octavia P PaprockiUnited KingdomIoni Bowcher RENEWAL
Deepesh P MarrierRussiaIoni Bowcher UNQUALIFIED
Johnson F FlosiItalyAsiya Javayant NEGOTIATION
Nicolas L PoquetteSpainOnyama Limba NEGOTIATION
Aika Y VocelkaArgentinaIoni Bowcher PROPOSAL
Antonio I CaldareraJapanAsiya Javayant RENEWAL
Chavez B TollnerUnited KingdomStephen Shaw UNQUALIFIED
Octavia Z PerinIndiaAnna Fali QUALIFIED
Adams N DilliardJapanIoni Bowcher UNQUALIFIED
Cody A ChuiArgentinaXuxue Feng NEGOTIATION
Deepesh C CampainUnited KingdomXuxue Feng PROPOSAL
Leja R FigeroaArgentinaXuxue Feng RENEWAL
Maria I GlickIndiaBernardo Dominic QUALIFIED
Chavez P AmigonGermanyAmy Elsner PROPOSAL
Izzy F ButtJapanAnna Fali QUALIFIED
Julie Q MaletAustraliaBernardo Dominic UNQUALIFIED
Emily C RoysterAustraliaAnna Fali QUALIFIED
James L DilliardRussiaElwin Sharvill NEW
Rodrigues K ButtGermanyStephen Shaw RENEWAL
Misaki L MorascaItalyIvan Magalhaes NEGOTIATION
Adams I VenereBrazilIvan Magalhaes NEGOTIATION
Aika T NickaBrazilAnna Fali RENEWAL
Wickens N InouyeJapanAsiya Javayant PROPOSAL
Murillo U StensethSpainIvan Magalhaes RENEWAL
Emily R DarakjyIndiaElwin Sharvill PROPOSAL
Misaki H SlusarskiRussiaAnna Fali QUALIFIED
Chavez S TollnerArgentinaAsiya Javayant NEGOTIATION
Darci O VocelkaFranceXuxue Feng NEW
Deepesh Z PerinSpainXuxue Feng RENEWAL
Julie N SaylorsFranceStephen Shaw NEW
Murillo D ChuiItalyIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Maisha J WieserIndiaAmy Elsner NEGOTIATION
Aika Q BriddickGermanyIoni Bowcher PROPOSAL
Morrow J FigeroaFranceXuxue Feng QUALIFIED
Leon A MarrierUnited KingdomAmy Elsner RENEWAL
Jennifer B MarrierBrazilAmy Elsner NEGOTIATION
Kaitlin X PoquetteItalyStephen Shaw RENEWAL
Morrow O GlickUnited KingdomXuxue Feng QUALIFIED
Octavia E PerinAustraliaXuxue Feng NEW
Aruna F IturbideUnited KingdomStephen Shaw NEW
Greenwood W StockhamAustraliaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams L CampainBrazil2024-06-21Chanay, Jeffrey A Esq RENEWAL28Asiya Javayant
1001Silvio B RimArgentina2024-06-14King, Christopher A Esq NEW28Xuxue Feng
1002Maisha J ButtItaly2024-06-10Printing Dimensions NEGOTIATION39Amy Elsner
1003Alejandro K CaudyUnited Kingdom2024-06-17Dorl, James J Esq NEGOTIATION2Anna Fali
1004James D BologniaBrazil2024-06-20Rousseaux, Michael Esq NEW6Ioni Bowcher
1005Darci P DoeSpain2024-06-08Benton, John B Jr UNQUALIFIED83Asiya Javayant
1006Adams V GauchoJapan2024-06-19Morlong Associates NEGOTIATION81Asiya Javayant
1007Octavia C NestleArgentina2024-05-29Truhlar And Truhlar Attys UNQUALIFIED81Elwin Sharvill
1008Rodrigues Y StensethAustralia2024-06-13Feltz Printing Service QUALIFIED96Ivan Magalhaes
1009Kaitlin B DilliardRussia2024-06-01Feiner Bros NEW42Stephen Shaw
1010Chavez W AlbaresBrazil2024-05-29Benton, John B Jr UNQUALIFIED29Amy Elsner
1011Maisha U MarrierUnited Kingdom2024-06-20Benton, John B Jr QUALIFIED62Stephen Shaw
1012Antonio V GlickItaly2024-06-04Truhlar And Truhlar Attys PROPOSAL18Asiya Javayant
1013Izzy K KolmetzAustralia2024-06-19Feiner Bros RENEWAL39Stephen Shaw
1014Cody H PaprockiCanada2024-06-03Chapman, Ross E Esq NEGOTIATION72Elwin Sharvill
1015Julie Q CaudyCanada2024-06-09Commercial Press QUALIFIED40Ivan Magalhaes
1016Antonio C FlosiSpain2024-05-29Chemel, James L Cpa UNQUALIFIED75Onyama Limba
1017Costa U MarrierItaly2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED53Amy Elsner
1018Silvio M GauchoAustralia2024-06-04Commercial Press NEGOTIATION72Onyama Limba
1019Ricardo P WaycottUnited Kingdom2024-06-19Rangoni Of Florence NEGOTIATION57Bernardo Dominic
1020Leja F PaprockiItaly2024-06-23Buckley Miller Wright UNQUALIFIED67Amy Elsner
1021Tony T OstroskyUnited Kingdom2024-06-06Buckley Miller Wright PROPOSAL49Amy Elsner
1022Darci S DoeSpain2024-06-03Printing Dimensions QUALIFIED15Elwin Sharvill
1023Aika G NestleJapan2024-06-24Benton, John B Jr PROPOSAL3Onyama Limba
1024James K KolmetzSpain2024-06-02Morlong Associates RENEWAL65Bernardo Dominic
1025Morrow I DarakjySpain2024-06-14Chapman, Ross E Esq NEW21Amy Elsner
1026Stacey L SergiItaly2024-06-04Rangoni Of Florence NEW21Xuxue Feng
1027Maria I StockhamGermany2024-06-04Rangoni Of Florence PROPOSAL41Ivan Magalhaes
1028Mujtaba I ShinkoAustralia2024-06-23Buckley Miller Wright UNQUALIFIED28Stephen Shaw
1029David N CaldareraUnited Kingdom2024-05-27Morlong Associates NEW61Ioni Bowcher
1030Francesco U PaprockiBrazil2024-06-15Truhlar And Truhlar Attys QUALIFIED15Xuxue Feng
1031Tony Q SchemmerBrazil2024-05-29Chanay, Jeffrey A Esq QUALIFIED91Ivan Magalhaes
1032Silvio S FlosiSpain2024-06-22Truhlar And Truhlar Attys PROPOSAL33Xuxue Feng
1033Octavia B OstroskyAustralia2024-06-10Morlong Associates NEGOTIATION67Asiya Javayant
1034Ivar X RutaCanada2024-06-03Chanay, Jeffrey A Esq QUALIFIED2Bernardo Dominic
1035Julie M CaudyJapan2024-06-24Truhlar And Truhlar Attys RENEWAL13Ioni Bowcher
1036James B DarakjyCanada2024-05-26Benton, John B Jr PROPOSAL76Amy Elsner
1037Jennifer O OstroskySpain2024-06-13Feiner Bros NEW70Ivan Magalhaes
1038Aditya F SlusarskiFrance2024-06-04Commercial Press RENEWAL21Elwin Sharvill
1039Sinclair H SlusarskiFrance2024-06-01Printing Dimensions NEGOTIATION88Amy Elsner
1040James X RoysterBrazil2024-06-16Benton, John B Jr UNQUALIFIED23Ivan Magalhaes
1041Ivar W GarufiCanada2024-06-07Chapman, Ross E Esq RENEWAL25Xuxue Feng
1042Octavia R WhobreySpain2024-05-29Chapman, Ross E Esq RENEWAL97Stephen Shaw
1043Mujtaba P StockhamJapan2024-06-23Morlong Associates PROPOSAL62Bernardo Dominic
1044Kadeem X GillianRussia2024-06-07Chanay, Jeffrey A Esq RENEWAL98Onyama Limba
1045Ivar J GarufiSpain2024-06-13Chapman, Ross E Esq NEW36Ivan Magalhaes
1046Kaitlin V CaldareraJapan2024-06-01Benton, John B Jr UNQUALIFIED63Stephen Shaw
1047Isabel K StockhamRussia2024-06-23Feiner Bros QUALIFIED95Amy Elsner
1048Morrow J NickaRussia2024-05-26Morlong Associates PROPOSAL70Elwin Sharvill
1049Chavez B RoysterUnited Kingdom2024-06-01Rousseaux, Michael Esq NEGOTIATION39Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Antonio J GauchoRussiaAnna Fali NEW
Ashley O FigeroaGermanyIoni Bowcher NEW
Jennifer C MaletUnited KingdomBernardo Dominic RENEWAL
Aruna K SlusarskiArgentinaOnyama Limba QUALIFIED
Costa X OldroydGermanyStephen Shaw UNQUALIFIED
Ricardo C RutaJapanAnna Fali RENEWAL
Mujtaba D RimAustraliaBernardo Dominic RENEWAL
Adams Q StensethGermanyAsiya Javayant UNQUALIFIED
David Z MaletRussiaOnyama Limba PROPOSAL
Kaitlin Q NestleItalyAmy Elsner NEW
Jennifer Q MaletArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois A NickaArgentinaOnyama Limba UNQUALIFIED
Maria J GauchoIndiaBernardo Dominic QUALIFIED
Jefferson S SlusarskiCanadaIoni Bowcher UNQUALIFIED
Izzy Q FlosiArgentinaElwin Sharvill UNQUALIFIED
Kaitlin K SchemmerAustraliaOnyama Limba NEGOTIATION
Greenwood U ButtFranceXuxue Feng QUALIFIED
Jones B FollerJapanIoni Bowcher NEW
Nicolas F RutaFranceBernardo Dominic UNQUALIFIED
Deepesh U WhobreyJapanAnna Fali RENEWAL
Antonio M OstroskyItalyAnna Fali RENEWAL
Cody K MaletArgentinaIvan Magalhaes NEW
Sinclair M RimRussiaXuxue Feng RENEWAL
Sinclair Y CaudySpainXuxue Feng QUALIFIED
David G BriddickAustraliaElwin Sharvill NEW
Francesco C FigeroaAustraliaAmy Elsner QUALIFIED
Leon O NestleAustraliaIoni Bowcher NEGOTIATION
Julie A DilliardUnited KingdomXuxue Feng NEGOTIATION
Isabel T DilliardIndiaIvan Magalhaes RENEWAL
Aruna Z RutaIndiaStephen Shaw PROPOSAL
Leja E FollerJapanAnna Fali NEW
Leon P CampainJapanBernardo Dominic PROPOSAL
Emily Q CaudyGermanyIvan Magalhaes PROPOSAL
Cody B WieserUnited KingdomXuxue Feng NEW
Claire M OstroskyItalyAmy Elsner PROPOSAL
Murillo O OstroskyJapanBernardo Dominic PROPOSAL
Alejandro J DarakjyFranceXuxue Feng NEW
Aika O WaycottSpainIoni Bowcher RENEWAL
Emily Y VocelkaSpainIoni Bowcher RENEWAL
David Z CampainFranceIvan Magalhaes UNQUALIFIED
James R BriddickJapanElwin Sharvill UNQUALIFIED
Izzy H KolmetzItalyIoni Bowcher UNQUALIFIED
Darci R ShinkoJapanElwin Sharvill QUALIFIED
Nicolas W CaudyFranceIoni Bowcher NEGOTIATION
Johnson F OstroskyGermanyXuxue Feng PROPOSAL
Chavez Q FerenczGermanyIoni Bowcher RENEWAL
Adams Y WhobreyItalyAnna Fali PROPOSAL
Munro U PaprockiBrazilAsiya Javayant NEGOTIATION
Chavez D StockhamRussiaOnyama Limba QUALIFIED
Adams F OstroskyJapanBernardo Dominic NEGOTIATION
Frozen Columns
Name
Tony W Royster
Kaitlin J Maclead
Arvin Y Foller
Ashley I Ruta
Izzy A Iturbide
Isabel G Kolmetz
Kadeem B Rim
Arvin F Butt
Murillo J Bolognia
Izzy E Amigon
Mayumi O Flosi
David J Dilliard
Smith L Garufi
Alejandro H Foller
Rodrigues K Iturbide
Smith N Saylors
Cody H Flosi
Clifford F Marrier
Salvatore Q Nestle
Mayumi F Ostrosky
Johnson L Whobrey
Faith L Glick
Cody F Kolmetz
Arvin H Albares
Tony F Saylors
Alejandro G Kusko
Aruna O Morasca
Izzy L Doe
Isabel N Morasca
James L Vocelka
Silvio W Ferencz
James E Bolognia
Jones U Caldarera
Deepesh S Ruta
Faith Q Venere
Izzy L Figeroa
Murillo O Morasca
Emily F Campain
James P Tollner
Claire R Gaucho
Francesco Y Dilliard
Kadeem I Vocelka
Johnson J Vocelka
Izzy R Maclead
Jefferson X Foller
Mujtaba H Glick
Jennifer V Garufi
Greenwood Y Stenseth
Rodrigues B Poquette
Kadeem B Malet
IdCountryDate
1000Japan2024-06-22
1001Japan2024-06-13
1002Italy2024-06-02
1003Brazil2024-06-10
1004Australia2024-05-27
1005Japan2024-05-26
1006Australia2024-06-17
1007India2024-06-10
1008Germany2024-05-26
1009Argentina2024-06-22
1010Australia2024-06-09
1011Russia2024-06-15
1012United Kingdom2024-06-18
1013Japan2024-06-05
1014India2024-06-14
1015Spain2024-06-10
1016France2024-05-27
1017Germany2024-06-14
1018Russia2024-06-01
1019Russia2024-06-21
1020France2024-06-03
1021Italy2024-05-29
1022France2024-06-21
1023France2024-06-14
1024Canada2024-05-26
1025Russia2024-06-20
1026Russia2024-06-07
1027Japan2024-05-26
1028Japan2024-06-03
1029Argentina2024-06-02
1030Australia2024-06-18
1031France2024-05-30
1032United Kingdom2024-06-21
1033France2024-06-12
1034United Kingdom2024-06-11
1035Germany2024-06-23
1036Russia2024-06-03
1037Russia2024-05-26
1038Spain2024-06-02
1039Canada2024-06-17
1040United Kingdom2024-06-08
1041Italy2024-06-23
1042Canada2024-06-10
1043Russia2024-06-03
1044India2024-06-13
1045Argentina2024-06-08
1046India2024-06-09
1047France2024-06-16
1048Brazil2024-06-20
1049Germany2024-06-12

On-Demand Data

NameIdCountryDate
Maisha K Kolmetz1000Australia2024-06-24
Clifford C Rim1001Brazil2024-06-13
Greenwood A Malet1002United Kingdom2024-06-21
Aika J Malet1003Japan2024-06-21
Jeanfrancois E Kusko1004Canada2024-06-02
Leon A Inouye1005United Kingdom2024-06-04
Murillo L Bowley1006Germany2024-06-08
Maria J Marrier1007Argentina2024-05-29
Misaki S Marrier1008Canada2024-05-30
Aika J Rulapaugh1009United Kingdom2024-06-07
Cody D Marrier1010France2024-06-16
Faith A Sergi1011Spain2024-05-28
James F Campain1012Brazil2024-06-03
Claire I Garufi1013Italy2024-06-23
Julie B Glick1014Japan2024-06-05
Claire H Kusko1015United Kingdom2024-06-07
Izzy P Ruta1016Australia2024-06-22
Costa E Malet1017Italy2024-06-11
Ashley S Garufi1018Brazil2024-06-21
Misaki G Stenseth1019India2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar N IturbideUnited KingdomBernardo Dominic NEW
Ricardo D MorascaBrazilElwin Sharvill UNQUALIFIED
Aditya A VenereUnited KingdomIoni Bowcher RENEWAL
Aditya X FlosiItalyIoni Bowcher NEGOTIATION
Deepesh K AmigonArgentinaXuxue Feng UNQUALIFIED
Ashley D BologniaItalyElwin Sharvill QUALIFIED
Jefferson L CampainGermanyAsiya Javayant UNQUALIFIED
Maria X FollerGermanyStephen Shaw PROPOSAL
Julie V WhobreyCanadaAnna Fali NEGOTIATION
Morrow H InouyeUnited KingdomElwin Sharvill NEGOTIATION
Leja Q TollnerFranceIvan Magalhaes NEW
Antonio O AmigonBrazilBernardo Dominic NEW
Kadeem X GlickUnited KingdomElwin Sharvill QUALIFIED
Ashley X BowleyItalyIoni Bowcher QUALIFIED
Faith J MarrierJapanAmy Elsner NEGOTIATION
James N CaudyUnited KingdomOnyama Limba NEW
Adams U VenereFranceBernardo Dominic QUALIFIED
Greenwood C SlusarskiCanadaAmy Elsner PROPOSAL
Leon I VocelkaJapanAmy Elsner UNQUALIFIED
James T CaudyAustraliaBernardo Dominic PROPOSAL
Kaitlin I OldroydItalyOnyama Limba NEGOTIATION
Costa A BriddickFranceOnyama Limba RENEWAL
Julie N ButtSpainAsiya Javayant PROPOSAL
Leon L MacleadArgentinaAsiya Javayant UNQUALIFIED
Kadeem N SaylorsAustraliaAnna Fali UNQUALIFIED
Isabel T DoeRussiaStephen Shaw QUALIFIED
Wickens Q AmigonFranceXuxue Feng NEW
Aruna V MarrierFranceStephen Shaw UNQUALIFIED
Silvio C GlickUnited KingdomElwin Sharvill PROPOSAL
Salvatore S KuskoUnited KingdomIoni Bowcher NEGOTIATION
Maisha P WieserSpainBernardo Dominic RENEWAL
Octavia V TollnerJapanAnna Fali PROPOSAL
Julie R MaletBrazilOnyama Limba NEW
Adams R SlusarskiRussiaOnyama Limba QUALIFIED
Clifford J StockhamItalyAnna Fali UNQUALIFIED
Misaki Y GillianFranceIvan Magalhaes NEW
Kadeem F VenereBrazilIvan Magalhaes RENEWAL
Salvatore G MaletSpainIvan Magalhaes UNQUALIFIED
James A NestleIndiaAmy Elsner NEGOTIATION
Rodrigues Y DoeRussiaIoni Bowcher NEGOTIATION

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