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
Rodrigues Y WhobreyItalyBernardo Dominic QUALIFIED
Wickens W RutaRussiaBernardo Dominic QUALIFIED
Nicolas X RimUnited KingdomBernardo Dominic NEW
Leja X WhobreyJapanAmy Elsner QUALIFIED
Johnson P MaletGermanyAmy Elsner UNQUALIFIED
Morrow X PerinGermanyBernardo Dominic PROPOSAL
Leja E FigeroaCanadaIvan Magalhaes NEGOTIATION
Antonio H MorascaFranceStephen Shaw NEGOTIATION
Kaitlin K GauchoUnited KingdomAnna Fali NEGOTIATION
Smith V SaylorsRussiaStephen Shaw RENEWAL
Claire T StensethCanadaAsiya Javayant RENEWAL
Aruna A InouyeItalyBernardo Dominic UNQUALIFIED
Alejandro H PerinArgentinaXuxue Feng NEW
Greenwood C SlusarskiSpainStephen Shaw UNQUALIFIED
Rodrigues B RulapaughFranceElwin Sharvill NEGOTIATION
Aditya U BowleyUnited KingdomAmy Elsner NEGOTIATION
Kadeem H BowleyArgentinaIvan Magalhaes QUALIFIED
Kaitlin A DarakjyArgentinaAsiya Javayant NEGOTIATION
Jennifer H SaylorsUnited KingdomAnna Fali NEGOTIATION
Kadeem O IturbideSpainIvan Magalhaes QUALIFIED
Arvin W DoeRussiaAnna Fali QUALIFIED
Octavia Z WhobreyUnited KingdomXuxue Feng NEW
Rodrigues L PoquetteIndiaAnna Fali NEW
Jeanfrancois L GillianArgentinaStephen Shaw PROPOSAL
Faith H InouyeRussiaOnyama Limba QUALIFIED
Aditya K DilliardIndiaStephen Shaw NEW
Emily X MaletFranceIvan Magalhaes RENEWAL
Aika R RoysterSpainElwin Sharvill NEGOTIATION
Adams V FerenczArgentinaOnyama Limba NEGOTIATION
David Q CaudyArgentinaStephen Shaw QUALIFIED
Murillo M RulapaughRussiaAnna Fali RENEWAL
Kaitlin F TollnerUnited KingdomAnna Fali NEW
Adams X GillianGermanyElwin Sharvill UNQUALIFIED
Deepesh I MacleadBrazilOnyama Limba PROPOSAL
Jones E CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Aika I KuskoItalyAnna Fali UNQUALIFIED
Antonio Q MaletArgentinaOnyama Limba NEGOTIATION
Ivar N OstroskyCanadaAmy Elsner RENEWAL
Salvatore C MorascaGermanyAmy Elsner NEW
Aruna O MacleadItalyXuxue Feng PROPOSAL
Aika X OldroydFranceXuxue Feng QUALIFIED
Kaitlin B NestleArgentinaIvan Magalhaes PROPOSAL
Emily Z SergiRussiaAsiya Javayant RENEWAL
Octavia V PerinJapanIvan Magalhaes RENEWAL
Wickens C GauchoItalyElwin Sharvill NEW
Munro K BologniaAustraliaOnyama Limba QUALIFIED
Izzy B DarakjyFranceAsiya Javayant QUALIFIED
Cody F VenereFranceBernardo Dominic NEW
Salvatore I WieserCanadaAmy Elsner QUALIFIED
Aruna S KuskoCanadaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia G IturbideAustraliaOnyama Limba NEW
Rodrigues X BriddickItalyAmy Elsner PROPOSAL
Juan G ShinkoSpainXuxue Feng UNQUALIFIED
Stacey A FollerSpainAmy Elsner NEGOTIATION
Aruna T VenereCanadaIoni Bowcher NEW
Rodrigues Z PoquetteItalyAsiya Javayant UNQUALIFIED
Ricardo A SchemmerJapanAsiya Javayant NEGOTIATION
Jeanfrancois C AlbaresItalyAsiya Javayant QUALIFIED
Octavia O StensethIndiaAsiya Javayant PROPOSAL
Rodrigues R DilliardBrazilIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair V SergiArgentina2024-06-08Chemel, James L Cpa UNQUALIFIED92Xuxue Feng
1001Jones A ChuiIndia2024-06-09Feltz Printing Service UNQUALIFIED38Amy Elsner
1002Maisha N BologniaSpain2024-05-21Feltz Printing Service NEGOTIATION34Xuxue Feng
1003Faith C RoysterGermany2024-05-20Feiner Bros RENEWAL54Anna Fali
1004Tony S RutaSpain2024-05-25Morlong Associates QUALIFIED0Bernardo Dominic
1005Rodrigues A PaprockiArgentina2024-06-11Chapman, Ross E Esq PROPOSAL21Onyama Limba
1006Kadeem B AlbaresUnited Kingdom2024-06-02Rousseaux, Michael Esq RENEWAL91Ioni Bowcher
1007Antonio Z OldroydItaly2024-06-03Feltz Printing Service UNQUALIFIED0Asiya Javayant
1008Munro X StockhamArgentina2024-05-15Chanay, Jeffrey A Esq RENEWAL29Ioni Bowcher
1009Jones A WaycottAustralia2024-05-26Truhlar And Truhlar Attys NEGOTIATION65Amy Elsner
1010Jeanfrancois Z ShinkoRussia2024-06-10Chanay, Jeffrey A Esq RENEWAL14Bernardo Dominic
1011Aika H WaycottAustralia2024-05-24Truhlar And Truhlar Attys NEW80Onyama Limba
1012Mujtaba S DoeGermany2024-06-03Feltz Printing Service NEW39Anna Fali
1013Aditya N WaycottRussia2024-05-22Chanay, Jeffrey A Esq PROPOSAL92Xuxue Feng
1014Murillo A OstroskyGermany2024-06-11Rousseaux, Michael Esq RENEWAL45Ivan Magalhaes
1015Kaitlin U FollerRussia2024-06-06Rousseaux, Michael Esq UNQUALIFIED66Xuxue Feng
1016Rodrigues K NickaSpain2024-06-13Dorl, James J Esq NEGOTIATION85Ioni Bowcher
1017Leon S FlosiIndia2024-05-22Chemel, James L Cpa NEW70Asiya Javayant
1018Stacey Y FlosiAustralia2024-06-13Chanay, Jeffrey A Esq QUALIFIED76Elwin Sharvill
1019Octavia A MacleadAustralia2024-06-01Feiner Bros QUALIFIED93Bernardo Dominic
1020Nicolas M ButtItaly2024-06-01Truhlar And Truhlar Attys PROPOSAL63Onyama Limba
1021Jefferson U CaldareraItaly2024-05-24Rousseaux, Michael Esq RENEWAL65Elwin Sharvill
1022Juan J InouyeFrance2024-05-24Chanay, Jeffrey A Esq NEW55Elwin Sharvill
1023Mujtaba C ShinkoItaly2024-05-24Rangoni Of Florence NEGOTIATION39Xuxue Feng
1024Jeanfrancois W KuskoGermany2024-06-11Feltz Printing Service NEW52Ivan Magalhaes
1025Alejandro O FlosiArgentina2024-05-24Chemel, James L Cpa PROPOSAL57Asiya Javayant
1026Leja R DilliardFrance2024-05-20Morlong Associates QUALIFIED92Ivan Magalhaes
1027David S MorascaIndia2024-06-09King, Christopher A Esq QUALIFIED40Bernardo Dominic
1028Tony H MarrierArgentina2024-05-31Rousseaux, Michael Esq RENEWAL37Onyama Limba
1029Jeanfrancois U GlickGermany2024-05-18Printing Dimensions NEGOTIATION42Elwin Sharvill
1030Nicolas J CampainFrance2024-05-29Buckley Miller Wright PROPOSAL60Stephen Shaw
1031Darci A PaprockiArgentina2024-06-01King, Christopher A Esq RENEWAL47Amy Elsner
1032Maria Y CampainCanada2024-06-01Chapman, Ross E Esq QUALIFIED73Onyama Limba
1033Julie A RulapaughFrance2024-06-06Rangoni Of Florence QUALIFIED55Ioni Bowcher
1034Faith B DilliardFrance2024-05-21Commercial Press QUALIFIED22Amy Elsner
1035Jeanfrancois X ShinkoSpain2024-05-16King, Christopher A Esq NEW63Ivan Magalhaes
1036Maria J AlbaresSpain2024-06-11King, Christopher A Esq RENEWAL31Xuxue Feng
1037Isabel U MorascaJapan2024-05-19Feiner Bros QUALIFIED87Bernardo Dominic
1038Greenwood C MaletAustralia2024-05-19Dorl, James J Esq RENEWAL84Elwin Sharvill
1039Alejandro J StockhamFrance2024-06-02Chapman, Ross E Esq QUALIFIED68Ioni Bowcher
1040Alejandro R TollnerFrance2024-05-28Rangoni Of Florence PROPOSAL59Amy Elsner
1041Leja A RoysterGermany2024-05-15King, Christopher A Esq RENEWAL66Amy Elsner
1042Isabel V SergiRussia2024-05-30King, Christopher A Esq QUALIFIED27Ioni Bowcher
1043Leja M WaycottIndia2024-05-22Chapman, Ross E Esq PROPOSAL33Amy Elsner
1044Izzy H NestleCanada2024-05-29Feltz Printing Service NEGOTIATION68Elwin Sharvill
1045Mayumi Y MorascaItaly2024-06-05Benton, John B Jr UNQUALIFIED53Bernardo Dominic
1046Izzy M GlickRussia2024-05-22Rousseaux, Michael Esq UNQUALIFIED45Asiya Javayant
1047Silvio V WhobreyBrazil2024-05-22Chemel, James L Cpa PROPOSAL60Asiya Javayant
1048Deepesh L TollnerArgentina2024-06-10Commercial Press PROPOSAL95Anna Fali
1049Maisha D RimArgentina2024-06-11Buckley Miller Wright NEW74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Adams A VenereAustraliaIvan Magalhaes PROPOSAL
Greenwood X TollnerGermanyAnna Fali UNQUALIFIED
David I SergiAustraliaIvan Magalhaes RENEWAL
Octavia H MaletUnited KingdomAsiya Javayant UNQUALIFIED
Isabel K MacleadItalyAmy Elsner QUALIFIED
Jefferson T ShinkoArgentinaAsiya Javayant UNQUALIFIED
Kaitlin O WhobreyIndiaElwin Sharvill NEW
Octavia L OstroskyGermanyAmy Elsner NEW
Aditya W MaletJapanXuxue Feng NEW
Aruna D StockhamItalyStephen Shaw PROPOSAL
Rodrigues V BologniaIndiaElwin Sharvill QUALIFIED
Aruna O PaprockiSpainXuxue Feng QUALIFIED
Ashley P NickaGermanyElwin Sharvill NEGOTIATION
Misaki A CaudyUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois I StockhamIndiaAsiya Javayant QUALIFIED
Johnson B RutaUnited KingdomIvan Magalhaes RENEWAL
Arvin O WieserSpainBernardo Dominic QUALIFIED
Mujtaba K BowleyGermanyIvan Magalhaes UNQUALIFIED
Deepesh B VenereSpainAnna Fali UNQUALIFIED
Jones G DarakjyGermanyElwin Sharvill PROPOSAL
Mujtaba Z WieserFranceElwin Sharvill NEGOTIATION
Adams D BologniaItalyIoni Bowcher PROPOSAL
Darci T WaycottFranceStephen Shaw NEGOTIATION
Mujtaba Q TollnerBrazilAnna Fali NEGOTIATION
Rodrigues B InouyeIndiaIoni Bowcher PROPOSAL
Leon N BologniaSpainElwin Sharvill UNQUALIFIED
Tony Y KolmetzAustraliaAsiya Javayant PROPOSAL
Rodrigues R SaylorsSpainIoni Bowcher RENEWAL
Julie L NickaFranceAnna Fali NEGOTIATION
Isabel D ButtJapanIvan Magalhaes NEW
Aika A MarrierUnited KingdomIoni Bowcher QUALIFIED
Misaki P WieserFranceAmy Elsner NEGOTIATION
Jennifer R BologniaBrazilIvan Magalhaes UNQUALIFIED
Maria W StockhamJapanBernardo Dominic PROPOSAL
Stacey D RulapaughJapanStephen Shaw PROPOSAL
Smith J TollnerBrazilIvan Magalhaes NEGOTIATION
Aruna X GlickJapanAnna Fali RENEWAL
Leja M GillianItalyAnna Fali PROPOSAL
Johnson R GillianBrazilIvan Magalhaes NEW
Smith N RimRussiaBernardo Dominic NEW
Cody B SergiAustraliaElwin Sharvill QUALIFIED
Cody N GarufiUnited KingdomAmy Elsner NEGOTIATION
Murillo K SlusarskiSpainIoni Bowcher UNQUALIFIED
Munro A MarrierFranceAnna Fali UNQUALIFIED
Arvin X FigeroaJapanAnna Fali NEW
Murillo T CampainGermanyIvan Magalhaes RENEWAL
Francesco W MaletGermanyStephen Shaw QUALIFIED
Costa Q RulapaughJapanIoni Bowcher QUALIFIED
Antonio G BriddickAustraliaIvan Magalhaes NEGOTIATION
Mayumi D IturbideCanadaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Maisha N Albares
Maisha P Foller
Jefferson L Stenseth
Kadeem G Amigon
Izzy Z Malet
Jefferson Y Maclead
Aika J Inouye
Morrow N Dilliard
Stacey K Maclead
Clifford T Perin
Jeanfrancois L Shinko
Morrow W Briddick
Kadeem Q Maclead
Maria G Malet
Faith C Royster
Deepesh H Waycott
Stacey T Doe
Mujtaba F Ferencz
Maria Q Gaucho
Stacey S Stenseth
Mujtaba H Doe
Cody W Saylors
Misaki W Saylors
Adams S Albares
Chavez Z Amigon
Kadeem O Wieser
Aruna J Morasca
Arvin H Whobrey
Chavez G Kolmetz
Izzy Y Albares
Adams O Dilliard
Alejandro C Butt
Jeanfrancois T Butt
Aruna Q Paprocki
Aditya R Dilliard
Leon J Ruta
James E Stockham
Jennifer W Inouye
Aditya N Glick
Mayumi Y Caldarera
Claire R Vocelka
Chavez B Dilliard
Maisha O Royster
James W Morasca
Arvin K Kolmetz
Morrow O Slusarski
Stacey R Schemmer
Morrow Y Bowley
Leja U Shinko
Jones G Inouye
IdCountryDate
1000India2024-06-01
1001Brazil2024-05-16
1002Russia2024-05-20
1003Spain2024-05-19
1004Canada2024-06-09
1005Russia2024-05-22
1006Japan2024-05-16
1007Canada2024-05-21
1008Russia2024-06-06
1009France2024-05-25
1010Australia2024-06-12
1011United Kingdom2024-05-25
1012Canada2024-06-10
1013Argentina2024-06-09
1014Japan2024-05-26
1015United Kingdom2024-05-29
1016France2024-05-18
1017France2024-06-03
1018Spain2024-05-29
1019France2024-06-03
1020France2024-06-06
1021France2024-05-28
1022India2024-06-03
1023Spain2024-06-02
1024Argentina2024-06-03
1025Russia2024-05-30
1026Canada2024-05-20
1027Spain2024-06-04
1028Australia2024-05-18
1029India2024-06-03
1030United Kingdom2024-06-05
1031India2024-06-02
1032Germany2024-06-01
1033Australia2024-06-12
1034Germany2024-05-25
1035Russia2024-05-25
1036France2024-06-04
1037Argentina2024-05-17
1038Brazil2024-06-01
1039Australia2024-05-24
1040Canada2024-06-11
1041Argentina2024-06-02
1042Argentina2024-05-26
1043Argentina2024-06-06
1044Germany2024-06-10
1045France2024-05-20
1046Spain2024-06-09
1047India2024-06-05
1048France2024-06-04
1049Italy2024-06-08

On-Demand Data

NameIdCountryDate
Darci R Vocelka1000Spain2024-06-04
Murillo M Inouye1001United Kingdom2024-06-13
Izzy M Caudy1002India2024-05-29
Silvio P Bowley1003Germany2024-05-17
Mayumi B Bolognia1004Australia2024-06-04
Stacey N Ferencz1005Russia2024-05-17
Julie F Slusarski1006Italy2024-05-27
Julie S Nestle1007Canada2024-05-30
Maisha A Darakjy1008Russia2024-06-11
Claire E Caudy1009France2024-05-31
Aruna E Foller1010India2024-06-01
Juan S Butt1011Canada2024-05-20
Darci W Saylors1012Japan2024-05-24
Julie I Tollner1013Spain2024-06-12
Cody E Amigon1014Russia2024-05-30
Deepesh R Whobrey1015Australia2024-05-15
Misaki N Gaucho1016Brazil2024-06-08
Kadeem J Gillian1017Brazil2024-05-16
Aruna P Caudy1018Spain2024-06-05
Juan Y Wieser1019Canada2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas X BowleyUnited KingdomAsiya Javayant QUALIFIED
Costa I WieserBrazilXuxue Feng QUALIFIED
Smith F CaldareraUnited KingdomAnna Fali QUALIFIED
Cody A PerinIndiaIvan Magalhaes QUALIFIED
Darci Q StockhamGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois Q FollerArgentinaStephen Shaw UNQUALIFIED
Salvatore I MaletIndiaAmy Elsner PROPOSAL
Maisha X SergiIndiaElwin Sharvill NEGOTIATION
Izzy V MaletFranceOnyama Limba QUALIFIED
Adams I WhobreyBrazilAsiya Javayant RENEWAL
Izzy C ChuiFranceAnna Fali PROPOSAL
Adams A FerenczArgentinaBernardo Dominic QUALIFIED
Juan M WaycottIndiaAsiya Javayant QUALIFIED
Stacey B OldroydArgentinaStephen Shaw NEW
Ashley X MarrierRussiaXuxue Feng RENEWAL
Morrow G GarufiItalyAnna Fali UNQUALIFIED
Misaki U WieserFranceElwin Sharvill RENEWAL
Clifford Z PaprockiGermanyStephen Shaw QUALIFIED
Nicolas F TollnerCanadaAsiya Javayant RENEWAL
Mujtaba J StensethArgentinaAsiya Javayant QUALIFIED
Smith D NestleRussiaIvan Magalhaes RENEWAL
Isabel I NestleGermanyOnyama Limba PROPOSAL
Jennifer A AmigonAustraliaStephen Shaw NEW
Maria S MorascaSpainElwin Sharvill NEW
Wickens U GarufiJapanAmy Elsner PROPOSAL
Claire P OstroskyRussiaAsiya Javayant NEGOTIATION
James H IturbideItalyOnyama Limba NEGOTIATION
Morrow N MaletFranceIoni Bowcher UNQUALIFIED
Clifford O SlusarskiIndiaElwin Sharvill NEW
Juan E KuskoSpainAnna Fali QUALIFIED
Izzy J MaletUnited KingdomBernardo Dominic RENEWAL
Nicolas O ShinkoGermanyElwin Sharvill RENEWAL
Jones A OstroskyCanadaBernardo Dominic RENEWAL
Faith Z VenereUnited KingdomElwin Sharvill UNQUALIFIED
Misaki V AlbaresRussiaAsiya Javayant PROPOSAL
Aruna C MorascaCanadaOnyama Limba UNQUALIFIED
Leja T KolmetzItalyElwin Sharvill UNQUALIFIED
Emily H NickaSpainAsiya Javayant NEW
Francesco L NestleArgentinaAsiya Javayant NEGOTIATION
Mayumi T KuskoGermanyXuxue Feng 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>