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
Salvatore I SchemmerIndiaAmy Elsner UNQUALIFIED
Salvatore A CampainIndiaAmy Elsner UNQUALIFIED
Darci S KuskoItalyStephen Shaw QUALIFIED
Claire E MaletAustraliaBernardo Dominic UNQUALIFIED
Kaitlin W WieserArgentinaElwin Sharvill QUALIFIED
Julie L CampainSpainStephen Shaw UNQUALIFIED
Adams J SchemmerAustraliaAmy Elsner QUALIFIED
Adams A InouyeSpainOnyama Limba QUALIFIED
Jones K SaylorsBrazilIoni Bowcher NEW
David K PerinItalyBernardo Dominic NEW
Johnson K KuskoAustraliaIvan Magalhaes NEGOTIATION
Rodrigues E DilliardBrazilBernardo Dominic QUALIFIED
Clifford U SergiGermanyElwin Sharvill NEGOTIATION
Ricardo W AmigonArgentinaAnna Fali NEGOTIATION
Greenwood B CampainGermanyXuxue Feng NEW
James H ShinkoAustraliaStephen Shaw UNQUALIFIED
Darci F PerinAustraliaBernardo Dominic NEGOTIATION
Mujtaba Z VocelkaCanadaIvan Magalhaes PROPOSAL
Morrow X GarufiCanadaIvan Magalhaes NEGOTIATION
Jones Z KuskoJapanStephen Shaw NEGOTIATION
Deepesh K IturbideBrazilOnyama Limba NEW
Misaki L FollerUnited KingdomOnyama Limba NEW
Octavia Y TollnerCanadaIvan Magalhaes PROPOSAL
Octavia E PaprockiUnited KingdomStephen Shaw PROPOSAL
Aditya Y GillianRussiaIoni Bowcher NEW
Leja N SlusarskiAustraliaAmy Elsner NEW
Chavez L CaldareraCanadaAnna Fali QUALIFIED
Arvin L FlosiCanadaAmy Elsner PROPOSAL
Cody M DarakjyCanadaIvan Magalhaes NEGOTIATION
Mayumi V ShinkoAustraliaBernardo Dominic QUALIFIED
Francesco A AlbaresSpainAsiya Javayant UNQUALIFIED
Antonio N BriddickGermanyIvan Magalhaes QUALIFIED
Isabel D RimAustraliaXuxue Feng QUALIFIED
Murillo G DilliardAustraliaBernardo Dominic PROPOSAL
Silvio V KolmetzBrazilIoni Bowcher NEGOTIATION
Aika S MaletBrazilIoni Bowcher NEW
Cody T SaylorsUnited KingdomStephen Shaw RENEWAL
Kadeem V NickaGermanyAsiya Javayant NEGOTIATION
Sinclair B ButtJapanIvan Magalhaes UNQUALIFIED
James Z KolmetzBrazilIoni Bowcher PROPOSAL
Alejandro L MarrierFranceAnna Fali NEW
Aditya R VocelkaRussiaAsiya Javayant NEW
Emily I PerinBrazilAnna Fali NEW
Arvin R PaprockiGermanyBernardo Dominic NEGOTIATION
Smith P WhobreyCanadaIoni Bowcher PROPOSAL
Silvio D GauchoRussiaAsiya Javayant UNQUALIFIED
Murillo R MaletRussiaOnyama Limba NEGOTIATION
Munro C MacleadBrazilXuxue Feng PROPOSAL
Isabel V BriddickArgentinaIoni Bowcher QUALIFIED
Isabel S AlbaresAustraliaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin U IturbideGermanyAnna Fali NEGOTIATION
Wickens Z MaletUnited KingdomAmy Elsner NEGOTIATION
Kaitlin N WieserJapanIvan Magalhaes QUALIFIED
Ricardo D BriddickArgentinaAsiya Javayant QUALIFIED
Greenwood W WaycottRussiaXuxue Feng NEW
Ashley N KuskoIndiaXuxue Feng PROPOSAL
Jones O ShinkoUnited KingdomStephen Shaw QUALIFIED
Morrow X ButtBrazilAsiya Javayant RENEWAL
Jones R FerenczArgentinaIoni Bowcher NEW
Ricardo J MarrierUnited KingdomXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith A OstroskyAustralia2024-06-05Truhlar And Truhlar Attys NEGOTIATION1Ioni Bowcher
1001Salvatore N PerinItaly2024-05-28Dorl, James J Esq RENEWAL5Ivan Magalhaes
1002Salvatore C StockhamFrance2024-05-26Dorl, James J Esq RENEWAL15Ivan Magalhaes
1003Ashley M StensethItaly2024-05-28Printing Dimensions RENEWAL43Xuxue Feng
1004Sinclair G MarrierGermany2024-06-04Commercial Press PROPOSAL39Ivan Magalhaes
1005Antonio A AlbaresAustralia2024-06-04Rangoni Of Florence UNQUALIFIED18Xuxue Feng
1006James X SergiSpain2024-06-03Buckley Miller Wright NEW89Onyama Limba
1007Greenwood N RutaGermany2024-05-21King, Christopher A Esq UNQUALIFIED68Xuxue Feng
1008Chavez G GlickAustralia2024-05-30Truhlar And Truhlar Attys NEW67Ioni Bowcher
1009Ashley C GillianUnited Kingdom2024-05-31Chanay, Jeffrey A Esq RENEWAL34Ivan Magalhaes
1010Aditya O MorascaBrazil2024-06-13Chemel, James L Cpa NEGOTIATION3Ioni Bowcher
1011Antonio G BriddickSpain2024-06-09Feltz Printing Service NEGOTIATION28Onyama Limba
1012Leja L MaletItaly2024-05-20Chapman, Ross E Esq NEGOTIATION74Onyama Limba
1013Murillo Y InouyeCanada2024-06-04Dorl, James J Esq NEGOTIATION25Ivan Magalhaes
1014Maria U GauchoIndia2024-06-13Commercial Press PROPOSAL85Ioni Bowcher
1015Smith G FigeroaGermany2024-05-19Rangoni Of Florence NEGOTIATION13Anna Fali
1016Greenwood E OldroydArgentina2024-05-18Morlong Associates UNQUALIFIED23Xuxue Feng
1017Jeanfrancois C FerenczRussia2024-06-14Dorl, James J Esq RENEWAL49Bernardo Dominic
1018Emily U MaletCanada2024-05-18Rousseaux, Michael Esq NEGOTIATION45Stephen Shaw
1019Arvin F RimItaly2024-06-16Dorl, James J Esq NEGOTIATION29Stephen Shaw
1020Mayumi P GarufiGermany2024-06-06Benton, John B Jr NEW8Ioni Bowcher
1021James Y DilliardUnited Kingdom2024-05-22Feiner Bros PROPOSAL57Amy Elsner
1022Silvio V AlbaresItaly2024-06-13Chemel, James L Cpa QUALIFIED13Bernardo Dominic
1023Francesco Y OldroydSpain2024-06-02Chanay, Jeffrey A Esq RENEWAL33Anna Fali
1024Aditya S DilliardCanada2024-05-29Rangoni Of Florence QUALIFIED62Ivan Magalhaes
1025Francesco E RutaAustralia2024-06-11King, Christopher A Esq QUALIFIED13Amy Elsner
1026Jennifer A WaycottArgentina2024-05-18Feiner Bros NEGOTIATION35Ioni Bowcher
1027Costa G TollnerIndia2024-06-05Rangoni Of Florence QUALIFIED80Ioni Bowcher
1028Jennifer K DoeSpain2024-06-05Truhlar And Truhlar Attys NEGOTIATION53Xuxue Feng
1029Murillo W PoquetteSpain2024-06-14Benton, John B Jr NEW71Amy Elsner
1030Salvatore A MaletCanada2024-06-13Rangoni Of Florence NEGOTIATION93Asiya Javayant
1031Aditya K PoquetteRussia2024-05-27Benton, John B Jr NEW30Amy Elsner
1032Aika W SaylorsItaly2024-06-08Chanay, Jeffrey A Esq PROPOSAL90Onyama Limba
1033Cody S AlbaresSpain2024-05-24Feiner Bros UNQUALIFIED87Bernardo Dominic
1034Wickens Z CaldareraSpain2024-05-23Rousseaux, Michael Esq RENEWAL12Ivan Magalhaes
1035Cody A DilliardUnited Kingdom2024-05-29Benton, John B Jr QUALIFIED14Stephen Shaw
1036Wickens P RutaItaly2024-05-27Chemel, James L Cpa UNQUALIFIED93Bernardo Dominic
1037Adams Q BologniaGermany2024-05-26Rangoni Of Florence PROPOSAL45Bernardo Dominic
1038Maria Q BologniaUnited Kingdom2024-05-30Rousseaux, Michael Esq NEW75Asiya Javayant
1039Jennifer Z VocelkaGermany2024-06-12King, Christopher A Esq RENEWAL42Xuxue Feng
1040Nicolas E ChuiJapan2024-05-24Printing Dimensions UNQUALIFIED12Asiya Javayant
1041Arvin B PaprockiJapan2024-06-16Printing Dimensions NEW32Bernardo Dominic
1042Munro T SaylorsUnited Kingdom2024-05-30Commercial Press NEW64Ioni Bowcher
1043Morrow J BologniaUnited Kingdom2024-06-10Chanay, Jeffrey A Esq NEGOTIATION23Ivan Magalhaes
1044Juan L NickaBrazil2024-06-08Feltz Printing Service NEGOTIATION68Amy Elsner
1045Aruna V CampainFrance2024-06-13Feiner Bros NEGOTIATION3Onyama Limba
1046Aruna M BologniaItaly2024-05-30Feiner Bros QUALIFIED3Elwin Sharvill
1047Mujtaba W GarufiUnited Kingdom2024-06-02Benton, John B Jr NEW39Amy Elsner
1048Sinclair A RutaItaly2024-06-01Commercial Press UNQUALIFIED7Amy Elsner
1049Isabel D AmigonUnited Kingdom2024-05-24Chapman, Ross E Esq UNQUALIFIED44Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Nicolas G VenereRussiaElwin Sharvill RENEWAL
Leon J PoquetteArgentinaStephen Shaw NEGOTIATION
Francesco V RulapaughSpainAnna Fali UNQUALIFIED
Maisha W MarrierGermanyXuxue Feng NEW
Morrow G FollerIndiaAmy Elsner NEW
Ricardo P KuskoItalyIvan Magalhaes UNQUALIFIED
Cody R PoquetteBrazilAsiya Javayant NEGOTIATION
Misaki A GauchoArgentinaStephen Shaw PROPOSAL
Kadeem S SergiAustraliaAsiya Javayant NEW
Johnson F ShinkoBrazilElwin Sharvill QUALIFIED
Octavia J RulapaughIndiaBernardo Dominic PROPOSAL
Sinclair P CaudyRussiaIoni Bowcher NEW
David M SchemmerJapanOnyama Limba PROPOSAL
Johnson Q MarrierUnited KingdomIvan Magalhaes RENEWAL
Costa L OstroskyArgentinaAmy Elsner NEGOTIATION
Isabel G MaletArgentinaAmy Elsner PROPOSAL
Salvatore L NickaGermanyBernardo Dominic RENEWAL
Faith A GauchoJapanAnna Fali RENEWAL
Murillo N MorascaGermanyAsiya Javayant NEGOTIATION
Nicolas F GarufiGermanyAsiya Javayant UNQUALIFIED
Ashley W RutaJapanStephen Shaw QUALIFIED
Jennifer P CaldareraFranceIvan Magalhaes NEW
Ivar F CaldareraArgentinaIoni Bowcher UNQUALIFIED
James P MorascaCanadaElwin Sharvill UNQUALIFIED
Claire B MacleadSpainAnna Fali QUALIFIED
Munro L WhobreyAustraliaIvan Magalhaes NEGOTIATION
Adams H MaletUnited KingdomXuxue Feng UNQUALIFIED
Stacey U FigeroaCanadaIvan Magalhaes QUALIFIED
Julie J BologniaCanadaAnna Fali NEW
Costa V RutaArgentinaIoni Bowcher RENEWAL
Jones P FerenczBrazilIoni Bowcher NEGOTIATION
Maisha M DarakjyItalyAnna Fali QUALIFIED
Deepesh Z MaletAustraliaAsiya Javayant PROPOSAL
Emily L CaldareraGermanyIoni Bowcher NEGOTIATION
Nicolas P NickaArgentinaAsiya Javayant RENEWAL
Ashley U CaldareraRussiaIvan Magalhaes NEW
Chavez D GarufiAustraliaOnyama Limba NEGOTIATION
Leja E WieserJapanOnyama Limba NEGOTIATION
Kaitlin Y MorascaUnited KingdomOnyama Limba PROPOSAL
Ashley K FlosiGermanyIoni Bowcher UNQUALIFIED
Darci L MacleadBrazilAnna Fali NEW
Murillo U MaletIndiaIvan Magalhaes UNQUALIFIED
Maria Z VenereItalyStephen Shaw NEW
Deepesh Q GauchoItalyIvan Magalhaes RENEWAL
David G KolmetzArgentinaAnna Fali RENEWAL
Costa J CaudyAustraliaXuxue Feng PROPOSAL
Johnson C CaldareraRussiaIvan Magalhaes UNQUALIFIED
Francesco I SergiAustraliaElwin Sharvill NEW
Faith M FerenczGermanyXuxue Feng RENEWAL
Salvatore I RimFranceIoni Bowcher PROPOSAL
Frozen Columns
Name
Deepesh I Kolmetz
Isabel C Amigon
Johnson W Amigon
Mayumi T Perin
Murillo M Paprocki
Leon K Figeroa
Chavez K Chui
Mayumi Y Foller
Clifford X Morasca
Leja A Inouye
James H Rim
Leon S Kolmetz
Silvio E Stenseth
Aditya F Caldarera
Julie Z Rulapaugh
Murillo E Caldarera
Rodrigues A Tollner
Aruna S Venere
Faith R Nestle
Johnson Q Figeroa
Ivar J Campain
Salvatore A Campain
Jeanfrancois B Caudy
Isabel M Rim
Silvio U Slusarski
Jeanfrancois K Iturbide
Greenwood S Slusarski
Cody L Kolmetz
Aruna B Iturbide
Munro D Caldarera
Clifford U Nicka
Tony Z Amigon
Rodrigues F Nestle
Johnson I Shinko
Kaitlin A Shinko
Stacey N Morasca
Francesco H Poquette
Kadeem B Venere
Juan L Rulapaugh
Greenwood D Paprocki
Costa L Ostrosky
Adams K Maclead
Darci Q Gaucho
Aika N Kolmetz
Murillo N Gaucho
Octavia B Bowley
Tony U Vocelka
Maria J Perin
Arvin G Venere
Alejandro Q Malet
IdCountryDate
1000Italy2024-06-12
1001Australia2024-06-09
1002Argentina2024-06-07
1003Brazil2024-05-26
1004Spain2024-05-28
1005Italy2024-05-22
1006India2024-06-08
1007Australia2024-05-31
1008Germany2024-05-25
1009United Kingdom2024-06-03
1010United Kingdom2024-05-26
1011Argentina2024-06-06
1012Japan2024-06-13
1013India2024-06-12
1014Australia2024-06-08
1015Japan2024-05-25
1016Brazil2024-05-27
1017Argentina2024-05-25
1018France2024-06-13
1019Australia2024-06-04
1020Canada2024-05-27
1021Spain2024-06-02
1022Canada2024-05-25
1023United Kingdom2024-06-04
1024Australia2024-06-15
1025France2024-05-19
1026India2024-06-07
1027India2024-06-05
1028Spain2024-05-21
1029Australia2024-06-01
1030Germany2024-05-28
1031India2024-06-13
1032Japan2024-05-24
1033Australia2024-06-08
1034India2024-06-06
1035India2024-05-23
1036Australia2024-05-24
1037Australia2024-06-04
1038Italy2024-05-18
1039France2024-06-16
1040Germany2024-05-23
1041Japan2024-06-12
1042India2024-06-14
1043Germany2024-05-28
1044Germany2024-05-18
1045Italy2024-06-16
1046Italy2024-06-09
1047Germany2024-06-15
1048France2024-06-05
1049Germany2024-06-05

On-Demand Data

NameIdCountryDate
Juan L Malet1000Germany2024-05-20
Tony J Schemmer1001Italy2024-05-25
Greenwood X Figeroa1002Japan2024-06-14
Clifford H Garufi1003Australia2024-06-14
Tony T Figeroa1004United Kingdom2024-06-10
Juan P Saylors1005Germany2024-06-04
Clifford B Whobrey1006United Kingdom2024-06-14
Smith W Caldarera1007Canada2024-06-06
Ashley H Rim1008Argentina2024-06-11
Aruna D Shinko1009Argentina2024-05-25
Julie M Slusarski1010Brazil2024-06-07
Ricardo N Maclead1011Argentina2024-06-06
Smith E Paprocki1012Germany2024-06-13
Aruna T Rulapaugh1013India2024-06-12
Emily N Sergi1014Australia2024-05-20
Faith R Albares1015France2024-05-21
Juan U Garufi1016Japan2024-06-09
Juan V Amigon1017United Kingdom2024-06-09
Jeanfrancois L Gaucho1018Brazil2024-05-27
Morrow I Marrier1019Germany2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin E DarakjyAustraliaOnyama Limba PROPOSAL
Aruna V GauchoSpainElwin Sharvill QUALIFIED
Leon P SaylorsAustraliaIoni Bowcher PROPOSAL
Tony N SlusarskiItalyXuxue Feng NEGOTIATION
Munro R IturbideAustraliaIoni Bowcher UNQUALIFIED
Mayumi P RoysterSpainIvan Magalhaes NEGOTIATION
Emily M ButtCanadaAnna Fali QUALIFIED
Leon X RoysterItalyXuxue Feng NEW
Ivar M GlickItalyAmy Elsner RENEWAL
Greenwood S PoquetteAustraliaAnna Fali PROPOSAL
Emily D NickaIndiaAnna Fali NEGOTIATION
Faith Z InouyeJapanBernardo Dominic UNQUALIFIED
Ivar C SergiIndiaXuxue Feng UNQUALIFIED
Faith K NestleSpainOnyama Limba QUALIFIED
Faith D PerinAustraliaIoni Bowcher RENEWAL
Tony M CaldareraGermanyElwin Sharvill NEW
Jennifer N TollnerSpainBernardo Dominic UNQUALIFIED
Jefferson I PaprockiSpainIoni Bowcher NEGOTIATION
Nicolas T KolmetzGermanyXuxue Feng UNQUALIFIED
Kadeem J MacleadUnited KingdomBernardo Dominic RENEWAL
Jones P WieserUnited KingdomElwin Sharvill NEGOTIATION
Stacey X MaletGermanyAmy Elsner UNQUALIFIED
Misaki Y WieserSpainBernardo Dominic PROPOSAL
Kaitlin H TollnerFranceIvan Magalhaes NEGOTIATION
Silvio W AlbaresBrazilXuxue Feng RENEWAL
Faith T WieserSpainBernardo Dominic PROPOSAL
Ashley Z CampainIndiaStephen Shaw NEW
Kaitlin M OstroskyGermanyXuxue Feng UNQUALIFIED
Aditya D StockhamJapanIvan Magalhaes QUALIFIED
Alejandro N KuskoSpainStephen Shaw NEGOTIATION
Greenwood C DilliardFranceIoni Bowcher RENEWAL
Murillo W DarakjyBrazilStephen Shaw NEW
Costa S GauchoJapanXuxue Feng NEGOTIATION
Jones J BologniaRussiaAmy Elsner RENEWAL
Sinclair G SchemmerFranceAmy Elsner QUALIFIED
Aika N GillianRussiaBernardo Dominic NEGOTIATION
Ivar I StockhamBrazilAsiya Javayant PROPOSAL
Ashley V SaylorsFranceXuxue Feng NEGOTIATION
Isabel X GauchoCanadaElwin Sharvill NEGOTIATION
Leja Q DoeJapanOnyama Limba NEW

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