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
Kaitlin B WaycottSpainAmy Elsner NEGOTIATION
Sinclair B VocelkaRussiaXuxue Feng PROPOSAL
Francesco E SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Adams O StensethAustraliaStephen Shaw QUALIFIED
Claire N FerenczFranceAnna Fali NEGOTIATION
Aditya T TollnerJapanXuxue Feng NEW
Alejandro J MaletUnited KingdomAnna Fali NEW
Jeanfrancois O VenereBrazilAmy Elsner UNQUALIFIED
Salvatore D MorascaRussiaElwin Sharvill NEW
Ricardo N GauchoSpainIvan Magalhaes NEW
Kadeem Y FigeroaGermanyAsiya Javayant NEGOTIATION
Murillo V CampainItalyIvan Magalhaes PROPOSAL
Emily O StensethRussiaStephen Shaw NEW
Antonio L RoysterItalyAmy Elsner UNQUALIFIED
Julie H SchemmerArgentinaOnyama Limba RENEWAL
Faith E PaprockiFranceAsiya Javayant RENEWAL
Aditya M NestleBrazilAmy Elsner NEGOTIATION
Octavia A GauchoFranceOnyama Limba QUALIFIED
Octavia N VocelkaFranceAnna Fali NEW
Darci P NickaIndiaBernardo Dominic RENEWAL
Tony R MacleadFranceAsiya Javayant NEW
Nicolas C MacleadUnited KingdomIoni Bowcher NEGOTIATION
Nicolas D MorascaArgentinaIoni Bowcher RENEWAL
Isabel Y MaletJapanXuxue Feng PROPOSAL
Arvin O RulapaughBrazilStephen Shaw RENEWAL
Aruna C RimUnited KingdomXuxue Feng PROPOSAL
Antonio Q DoeIndiaAsiya Javayant NEW
Faith B PoquetteArgentinaElwin Sharvill UNQUALIFIED
Munro E WhobreyJapanElwin Sharvill UNQUALIFIED
Ricardo F DoeCanadaIoni Bowcher QUALIFIED
Greenwood Z KuskoJapanOnyama Limba QUALIFIED
Tony T TollnerJapanStephen Shaw PROPOSAL
Maisha B WieserJapanStephen Shaw UNQUALIFIED
Kadeem F ButtArgentinaAnna Fali NEGOTIATION
Maria G RulapaughItalyOnyama Limba UNQUALIFIED
Emily I TollnerArgentinaOnyama Limba UNQUALIFIED
Mujtaba W IturbideCanadaStephen Shaw NEW
Johnson K FigeroaSpainElwin Sharvill UNQUALIFIED
Wickens Z PerinJapanStephen Shaw NEW
Mujtaba D CampainBrazilAnna Fali NEGOTIATION
Rodrigues O AlbaresRussiaElwin Sharvill UNQUALIFIED
Costa H DoeArgentinaAnna Fali QUALIFIED
Smith M CaudyBrazilStephen Shaw RENEWAL
Morrow P MorascaItalyXuxue Feng UNQUALIFIED
Munro P RulapaughJapanAsiya Javayant RENEWAL
Leon A OstroskyUnited KingdomAsiya Javayant QUALIFIED
Ivar Q BologniaUnited KingdomAnna Fali UNQUALIFIED
Adams U FerenczUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair S FigeroaItalyElwin Sharvill PROPOSAL
Mujtaba I FerenczAustraliaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki J DoeArgentinaStephen Shaw NEW
Morrow A SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Murillo I PoquetteIndiaStephen Shaw NEGOTIATION
Maria Y FlosiRussiaElwin Sharvill QUALIFIED
James G SlusarskiSpainAnna Fali UNQUALIFIED
Jefferson H CaudyBrazilOnyama Limba UNQUALIFIED
Munro X KuskoAustraliaIvan Magalhaes UNQUALIFIED
Leon N WaycottSpainStephen Shaw NEGOTIATION
Faith F AmigonCanadaAnna Fali NEW
Adams D GillianCanadaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith A KuskoJapan2024-06-05Chapman, Ross E Esq PROPOSAL65Ivan Magalhaes
1001Nicolas Q FlosiIndia2024-05-30Dorl, James J Esq QUALIFIED35Stephen Shaw
1002Costa Q RimArgentina2024-06-13Chanay, Jeffrey A Esq NEGOTIATION1Stephen Shaw
1003Nicolas K IturbideArgentina2024-06-22Truhlar And Truhlar Attys PROPOSAL55Stephen Shaw
1004Clifford I AlbaresIndia2024-06-04Commercial Press NEGOTIATION71Asiya Javayant
1005Rodrigues X StensethBrazil2024-05-30Dorl, James J Esq NEGOTIATION56Amy Elsner
1006Claire P SchemmerItaly2024-06-07Truhlar And Truhlar Attys NEGOTIATION53Anna Fali
1007Aika E OldroydSpain2024-06-10Chapman, Ross E Esq UNQUALIFIED23Ivan Magalhaes
1008Johnson H RulapaughIndia2024-06-12Rangoni Of Florence RENEWAL66Ioni Bowcher
1009Smith I VocelkaBrazil2024-06-13Buckley Miller Wright PROPOSAL30Bernardo Dominic
1010Deepesh A WaycottGermany2024-06-04Dorl, James J Esq UNQUALIFIED12Bernardo Dominic
1011Mujtaba M WieserRussia2024-06-16Rangoni Of Florence NEW84Asiya Javayant
1012Smith U NickaRussia2024-05-26Feiner Bros NEW95Ivan Magalhaes
1013Leon N MorascaItaly2024-06-08Chemel, James L Cpa NEW25Asiya Javayant
1014Costa M FollerItaly2024-06-11Chemel, James L Cpa QUALIFIED70Bernardo Dominic
1015James X StockhamRussia2024-06-01Rousseaux, Michael Esq QUALIFIED72Ivan Magalhaes
1016Izzy L FollerArgentina2024-06-15Dorl, James J Esq NEW83Amy Elsner
1017Leon E OldroydGermany2024-05-27Morlong Associates RENEWAL60Amy Elsner
1018Deepesh D VocelkaRussia2024-06-12Buckley Miller Wright PROPOSAL49Asiya Javayant
1019Silvio W SergiAustralia2024-06-21Benton, John B Jr NEGOTIATION45Anna Fali
1020Antonio C IturbideJapan2024-05-25King, Christopher A Esq RENEWAL16Amy Elsner
1021Rodrigues U CampainSpain2024-06-13Chapman, Ross E Esq UNQUALIFIED57Ioni Bowcher
1022Claire A KuskoRussia2024-05-28Morlong Associates UNQUALIFIED68Anna Fali
1023Chavez T VenereFrance2024-06-18Dorl, James J Esq NEGOTIATION94Xuxue Feng
1024Johnson J GarufiRussia2024-06-14Chapman, Ross E Esq RENEWAL46Bernardo Dominic
1025Aruna K BriddickIndia2024-05-25Chanay, Jeffrey A Esq NEGOTIATION70Stephen Shaw
1026Maria G BologniaArgentina2024-06-21Benton, John B Jr RENEWAL6Onyama Limba
1027Leon L RoysterGermany2024-05-30Commercial Press NEGOTIATION90Ivan Magalhaes
1028Isabel A AmigonCanada2024-06-03Commercial Press NEGOTIATION67Ivan Magalhaes
1029Antonio O AlbaresSpain2024-05-26Chapman, Ross E Esq PROPOSAL11Ivan Magalhaes
1030Julie N WieserIndia2024-06-22Printing Dimensions UNQUALIFIED79Bernardo Dominic
1031Clifford T IturbideUnited Kingdom2024-06-10King, Christopher A Esq UNQUALIFIED94Elwin Sharvill
1032Ricardo J RimCanada2024-06-13King, Christopher A Esq QUALIFIED37Asiya Javayant
1033Faith Z SchemmerAustralia2024-06-05Printing Dimensions RENEWAL77Ivan Magalhaes
1034Nicolas Y IturbideGermany2024-06-16Morlong Associates QUALIFIED35Ioni Bowcher
1035Stacey Z ShinkoSpain2024-06-16Rousseaux, Michael Esq NEGOTIATION90Ioni Bowcher
1036Jeanfrancois O RimAustralia2024-06-08Feltz Printing Service NEW89Anna Fali
1037Darci P DoeJapan2024-05-25Feiner Bros NEW97Onyama Limba
1038Morrow U VenereFrance2024-06-07Truhlar And Truhlar Attys QUALIFIED92Ioni Bowcher
1039Juan N MorascaSpain2024-05-26Rangoni Of Florence PROPOSAL63Ioni Bowcher
1040Ivar U GillianAustralia2024-06-01Truhlar And Truhlar Attys UNQUALIFIED77Bernardo Dominic
1041Claire Y PoquetteFrance2024-05-26Benton, John B Jr RENEWAL10Amy Elsner
1042Wickens C DoeUnited Kingdom2024-06-10Chapman, Ross E Esq UNQUALIFIED68Ioni Bowcher
1043Deepesh D PaprockiBrazil2024-06-05Rousseaux, Michael Esq RENEWAL7Stephen Shaw
1044Nicolas J BologniaSpain2024-06-13Chanay, Jeffrey A Esq PROPOSAL47Ivan Magalhaes
1045Munro Y MaletFrance2024-06-11Benton, John B Jr UNQUALIFIED74Onyama Limba
1046Darci C WieserItaly2024-05-28Morlong Associates PROPOSAL42Amy Elsner
1047Aika V MacleadIndia2024-05-31Chapman, Ross E Esq QUALIFIED96Stephen Shaw
1048Leja Z FigeroaBrazil2024-06-04Feiner Bros UNQUALIFIED2Amy Elsner
1049Antonio P PaprockiUnited Kingdom2024-05-31Feiner Bros PROPOSAL29Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maria P MaletBrazilAmy Elsner PROPOSAL
Leja W SaylorsRussiaIoni Bowcher UNQUALIFIED
Nicolas T WaycottCanadaOnyama Limba RENEWAL
Julie W GarufiSpainXuxue Feng RENEWAL
Stacey L SergiCanadaXuxue Feng UNQUALIFIED
Wickens R GarufiJapanBernardo Dominic NEGOTIATION
Clifford B SergiItalyElwin Sharvill NEGOTIATION
Nicolas B KuskoItalyXuxue Feng NEGOTIATION
Francesco S CaudyIndiaBernardo Dominic QUALIFIED
Aika Q SchemmerItalyElwin Sharvill UNQUALIFIED
Arvin X MaletIndiaIvan Magalhaes NEW
Faith Z AmigonRussiaIoni Bowcher QUALIFIED
Johnson G CaudyBrazilBernardo Dominic RENEWAL
Tony R BowleyArgentinaElwin Sharvill NEW
Octavia X RutaCanadaBernardo Dominic PROPOSAL
Stacey C GarufiJapanXuxue Feng PROPOSAL
Maisha L NickaBrazilXuxue Feng NEW
Johnson R WaycottSpainAnna Fali QUALIFIED
Izzy L RutaFranceElwin Sharvill QUALIFIED
Greenwood F BologniaCanadaXuxue Feng QUALIFIED
Ivar Z RulapaughUnited KingdomAsiya Javayant NEW
Kadeem B WhobreyRussiaAnna Fali RENEWAL
Tony M TollnerBrazilOnyama Limba QUALIFIED
Arvin G StensethCanadaElwin Sharvill NEW
Clifford Q SchemmerArgentinaOnyama Limba RENEWAL
Emily D GillianCanadaIvan Magalhaes UNQUALIFIED
Greenwood F DoeRussiaElwin Sharvill RENEWAL
Clifford J RimJapanStephen Shaw RENEWAL
Misaki T StockhamCanadaXuxue Feng NEW
Jeanfrancois W TollnerJapanIvan Magalhaes NEGOTIATION
Silvio S IturbideBrazilOnyama Limba PROPOSAL
Jefferson V NickaSpainAmy Elsner QUALIFIED
Aditya B PaprockiCanadaElwin Sharvill PROPOSAL
Leja E FigeroaArgentinaIoni Bowcher PROPOSAL
Emily Q SaylorsAustraliaBernardo Dominic QUALIFIED
Mayumi H RutaUnited KingdomAsiya Javayant NEGOTIATION
Murillo L DarakjyArgentinaStephen Shaw UNQUALIFIED
Sinclair O RutaAustraliaAmy Elsner QUALIFIED
Aditya L BriddickSpainOnyama Limba NEGOTIATION
Wickens E CaudyRussiaIvan Magalhaes UNQUALIFIED
Stacey I ShinkoRussiaAmy Elsner UNQUALIFIED
Adams K GillianFranceStephen Shaw NEW
Ricardo C SlusarskiSpainIvan Magalhaes NEW
Sinclair A ChuiUnited KingdomAmy Elsner QUALIFIED
Faith Y RoysterItalyIvan Magalhaes RENEWAL
Deepesh X NestleJapanIoni Bowcher UNQUALIFIED
Isabel J BologniaItalyAsiya Javayant QUALIFIED
Juan C PerinItalyElwin Sharvill UNQUALIFIED
Cody C StensethArgentinaIoni Bowcher RENEWAL
Maisha B SergiSpainStephen Shaw RENEWAL
Frozen Columns
Name
Nicolas U Garufi
Ashley L Bolognia
Julie T Schemmer
Jeanfrancois L Ruta
Octavia T Oldroyd
Deepesh S Maclead
Julie E Flosi
Kaitlin M Ostrosky
Aditya T Perin
Nicolas U Vocelka
Clifford J Morasca
Munro D Rulapaugh
Sinclair U Inouye
Silvio Z Caldarera
Clifford Z Bolognia
Jefferson V Bowley
Deepesh R Flosi
Juan J Saylors
Maisha O Marrier
Misaki K Albares
Izzy E Butt
Faith G Stockham
Emily I Whobrey
Morrow X Flosi
Cody L Perin
Salvatore S Poquette
Greenwood Z Malet
Kaitlin O Marrier
Salvatore V Stockham
Ivar W Kolmetz
Izzy Q Garufi
Wickens D Ruta
Izzy M Stockham
Smith U Figeroa
Mayumi E Oldroyd
Juan Q Bolognia
Maisha I Bowley
Aruna D Glick
Maria Y Venere
Maisha H Chui
Julie Q Bolognia
Misaki S Nestle
Aditya C Marrier
Maria T Glick
Ashley P Figeroa
Adams P Gillian
Izzy O Butt
Emily K Chui
Jefferson N Slusarski
Francesco N Foller
IdCountryDate
1000Brazil2024-05-27
1001Russia2024-05-27
1002Argentina2024-06-10
1003Brazil2024-06-14
1004United Kingdom2024-06-14
1005Argentina2024-05-25
1006Canada2024-06-16
1007Russia2024-06-14
1008Italy2024-06-13
1009France2024-06-13
1010Russia2024-06-11
1011Russia2024-05-25
1012France2024-06-06
1013Brazil2024-06-01
1014India2024-06-21
1015Brazil2024-06-04
1016Russia2024-06-08
1017Canada2024-06-20
1018Australia2024-06-11
1019India2024-05-27
1020Spain2024-06-04
1021Italy2024-06-04
1022Brazil2024-06-14
1023Japan2024-06-08
1024Australia2024-06-21
1025Japan2024-05-26
1026India2024-06-05
1027Russia2024-06-10
1028United Kingdom2024-06-03
1029Spain2024-06-21
1030Germany2024-06-11
1031Brazil2024-06-04
1032United Kingdom2024-06-06
1033Germany2024-06-11
1034Canada2024-06-02
1035Brazil2024-05-30
1036United Kingdom2024-06-03
1037India2024-06-06
1038Italy2024-06-17
1039Argentina2024-06-17
1040Japan2024-06-15
1041Russia2024-05-24
1042United Kingdom2024-05-26
1043Argentina2024-06-18
1044Canada2024-06-06
1045Italy2024-06-15
1046United Kingdom2024-06-04
1047Japan2024-05-28
1048Australia2024-06-06
1049Argentina2024-06-09

On-Demand Data

NameIdCountryDate
Ashley P Rulapaugh1000Russia2024-06-05
Juan O Schemmer1001Canada2024-06-06
Smith Z Gaucho1002Argentina2024-05-30
Leon H Venere1003Russia2024-05-24
Leon O Nicka1004Russia2024-05-28
Misaki S Marrier1005Germany2024-06-18
Leja C Poquette1006Argentina2024-06-08
Jefferson F Venere1007Russia2024-06-17
Jones K Bowley1008Italy2024-05-26
Ivar X Oldroyd1009Argentina2024-06-05
Aika X Amigon1010Russia2024-05-30
Deepesh W Oldroyd1011Australia2024-06-10
Octavia M Rulapaugh1012India2024-05-24
Jefferson W Malet1013United Kingdom2024-06-06
Silvio A Royster1014Australia2024-05-25
Isabel L Rim1015Russia2024-06-18
David F Slusarski1016France2024-06-17
Faith T Paprocki1017United Kingdom2024-06-16
Kadeem M Ruta1018Brazil2024-06-19
Aditya L Albares1019United Kingdom2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh C MorascaRussiaElwin Sharvill PROPOSAL
Emily R GarufiSpainAmy Elsner QUALIFIED
Jennifer V ButtUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues G GillianItalyBernardo Dominic NEW
Izzy C BologniaJapanBernardo Dominic NEGOTIATION
Juan R RoysterJapanIoni Bowcher QUALIFIED
Aika X GauchoUnited KingdomOnyama Limba QUALIFIED
Cody G IturbideItalyAmy Elsner QUALIFIED
Jeanfrancois M DoeSpainAsiya Javayant UNQUALIFIED
Darci J SaylorsJapanIoni Bowcher UNQUALIFIED
Maisha E DarakjyIndiaElwin Sharvill PROPOSAL
Rodrigues H VenereBrazilAsiya Javayant UNQUALIFIED
Johnson E BologniaAustraliaStephen Shaw PROPOSAL
Maria H GillianFranceAsiya Javayant PROPOSAL
Costa Q FigeroaItalyXuxue Feng PROPOSAL
Claire L VocelkaGermanyAnna Fali NEW
Antonio K RoysterJapanAnna Fali RENEWAL
Maria J PoquetteSpainIoni Bowcher PROPOSAL
Alejandro T FerenczRussiaAnna Fali PROPOSAL
Kadeem J BriddickJapanOnyama Limba PROPOSAL
Antonio Q ChuiArgentinaElwin Sharvill QUALIFIED
Kaitlin J CaldareraAustraliaOnyama Limba QUALIFIED
David A WieserAustraliaAsiya Javayant UNQUALIFIED
Ashley U DilliardGermanyXuxue Feng QUALIFIED
Clifford F OstroskyIndiaAmy Elsner NEGOTIATION
Ivar O RimSpainBernardo Dominic QUALIFIED
Wickens R DarakjyFranceIoni Bowcher UNQUALIFIED
Sinclair A NestleItalyBernardo Dominic UNQUALIFIED
Jefferson B BowleyAustraliaStephen Shaw UNQUALIFIED
Cody A KolmetzGermanyXuxue Feng RENEWAL
Darci P CampainItalyIvan Magalhaes QUALIFIED
Maria Y KuskoBrazilElwin Sharvill NEW
Maisha L StensethRussiaAnna Fali NEW
Aditya D DoeIndiaBernardo Dominic NEW
Aruna N DoeRussiaIvan Magalhaes NEGOTIATION
Morrow V SchemmerArgentinaAsiya Javayant QUALIFIED
Leja T DarakjySpainXuxue Feng QUALIFIED
Johnson Y DoeAustraliaAnna Fali RENEWAL
Aika N TollnerIndiaAmy Elsner RENEWAL
Ashley P DoeSpainXuxue Feng 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>