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 K AmigonCanadaStephen Shaw NEGOTIATION
Faith Q WhobreyUnited KingdomAmy Elsner PROPOSAL
Ashley M GarufiGermanyXuxue Feng UNQUALIFIED
Costa T VocelkaRussiaAnna Fali QUALIFIED
Isabel M KuskoUnited KingdomAmy Elsner NEW
Smith B FigeroaAustraliaIoni Bowcher NEGOTIATION
Julie Z StensethIndiaElwin Sharvill NEW
Stacey T IturbideGermanyAmy Elsner PROPOSAL
Salvatore V ShinkoIndiaAmy Elsner NEGOTIATION
Aika V GlickUnited KingdomXuxue Feng NEGOTIATION
Rodrigues Z FigeroaAustraliaAnna Fali QUALIFIED
Ricardo O RimItalyIvan Magalhaes RENEWAL
Isabel L FlosiIndiaIvan Magalhaes NEGOTIATION
Ivar P PoquetteIndiaOnyama Limba NEW
Maisha W CaldareraUnited KingdomAnna Fali PROPOSAL
Adams V MaletUnited KingdomAmy Elsner NEGOTIATION
Darci L RulapaughJapanBernardo Dominic RENEWAL
Tony S FlosiGermanyAsiya Javayant PROPOSAL
Ashley D MaletArgentinaAnna Fali QUALIFIED
Claire E OldroydItalyIoni Bowcher QUALIFIED
Jefferson D RoysterCanadaAnna Fali UNQUALIFIED
Adams R KuskoItalyStephen Shaw QUALIFIED
Kaitlin H NestleJapanStephen Shaw RENEWAL
David S ChuiCanadaXuxue Feng QUALIFIED
Sinclair E CaudyRussiaAmy Elsner UNQUALIFIED
Costa E DoeRussiaBernardo Dominic QUALIFIED
Emily V AmigonIndiaIvan Magalhaes UNQUALIFIED
Ivar J BologniaFranceAnna Fali PROPOSAL
Nicolas A CaudyItalyAmy Elsner QUALIFIED
Nicolas N BowleyRussiaElwin Sharvill QUALIFIED
Francesco G ChuiBrazilXuxue Feng UNQUALIFIED
Costa X DarakjyJapanAnna Fali NEW
Ricardo C GlickGermanyIoni Bowcher UNQUALIFIED
Maria E KolmetzSpainIvan Magalhaes PROPOSAL
Johnson A KolmetzArgentinaOnyama Limba NEW
Ivar M GillianGermanyIvan Magalhaes PROPOSAL
Deepesh B PerinSpainOnyama Limba NEGOTIATION
James F PerinGermanyStephen Shaw NEGOTIATION
Alejandro M GillianAustraliaXuxue Feng RENEWAL
Cody Z WieserUnited KingdomAnna Fali RENEWAL
Johnson W BologniaItalyElwin Sharvill PROPOSAL
Maria T GlickIndiaIvan Magalhaes PROPOSAL
Alejandro W GlickItalyBernardo Dominic RENEWAL
Silvio T DilliardIndiaIoni Bowcher UNQUALIFIED
Nicolas T InouyeJapanAnna Fali NEGOTIATION
Mujtaba F MaletSpainIvan Magalhaes NEW
Jones U FerenczItalyElwin Sharvill RENEWAL
Aika L MaletUnited KingdomBernardo Dominic PROPOSAL
Leja D DarakjyCanadaAsiya Javayant NEW
Wickens T BowleyBrazilAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha X TollnerSpainXuxue Feng QUALIFIED
Rodrigues B RoysterUnited KingdomIoni Bowcher QUALIFIED
Maria W GauchoIndiaElwin Sharvill NEGOTIATION
Morrow P PaprockiUnited KingdomAnna Fali QUALIFIED
Francesco D VocelkaRussiaIoni Bowcher NEGOTIATION
Misaki H InouyeFranceIvan Magalhaes PROPOSAL
Kaitlin Z ChuiAustraliaOnyama Limba PROPOSAL
Ricardo M ButtArgentinaAnna Fali QUALIFIED
Alejandro C InouyeIndiaBernardo Dominic UNQUALIFIED
Morrow Q CaldareraAustraliaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony G DoeFrance2024-06-21King, Christopher A Esq RENEWAL92Asiya Javayant
1001Rodrigues K KolmetzArgentina2024-06-15Dorl, James J Esq NEGOTIATION79Elwin Sharvill
1002Johnson T GauchoRussia2024-05-25Rousseaux, Michael Esq RENEWAL90Anna Fali
1003Maria V RutaAustralia2024-06-05Commercial Press QUALIFIED43Ioni Bowcher
1004Silvio B MorascaBrazil2024-06-20Buckley Miller Wright QUALIFIED52Onyama Limba
1005Sinclair L NestleItaly2024-06-17Chapman, Ross E Esq PROPOSAL48Bernardo Dominic
1006Chavez G MorascaCanada2024-06-06Dorl, James J Esq NEW48Ivan Magalhaes
1007Ricardo X FollerFrance2024-06-08Rousseaux, Michael Esq NEGOTIATION33Bernardo Dominic
1008Juan M BologniaAustralia2024-06-20Feltz Printing Service PROPOSAL4Asiya Javayant
1009Tony U DoeFrance2024-05-26Truhlar And Truhlar Attys NEW23Onyama Limba
1010Maisha O AmigonItaly2024-06-15Rousseaux, Michael Esq QUALIFIED30Onyama Limba
1011Misaki E SlusarskiJapan2024-05-24Truhlar And Truhlar Attys QUALIFIED38Amy Elsner
1012Sinclair Q RoysterItaly2024-06-06Chanay, Jeffrey A Esq RENEWAL86Xuxue Feng
1013Isabel C FollerRussia2024-05-25Commercial Press NEGOTIATION79Xuxue Feng
1014Darci W NestleFrance2024-06-15Feltz Printing Service PROPOSAL89Ivan Magalhaes
1015Maisha T KolmetzFrance2024-06-21Buckley Miller Wright PROPOSAL21Elwin Sharvill
1016Julie C FerenczIndia2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED20Onyama Limba
1017Kaitlin O StockhamAustralia2024-06-21Morlong Associates QUALIFIED51Ioni Bowcher
1018David R StockhamFrance2024-05-30Buckley Miller Wright RENEWAL22Bernardo Dominic
1019Nicolas G WieserIndia2024-05-24Morlong Associates NEGOTIATION87Onyama Limba
1020Wickens M AlbaresBrazil2024-06-11King, Christopher A Esq PROPOSAL99Xuxue Feng
1021Costa R DarakjyGermany2024-05-26Chemel, James L Cpa NEGOTIATION76Anna Fali
1022Chavez O SergiAustralia2024-05-29Buckley Miller Wright PROPOSAL86Bernardo Dominic
1023Greenwood S RoysterSpain2024-06-21Benton, John B Jr UNQUALIFIED31Amy Elsner
1024Jones M GarufiFrance2024-06-04Buckley Miller Wright QUALIFIED69Amy Elsner
1025Octavia P NestleFrance2024-06-12Chanay, Jeffrey A Esq NEGOTIATION86Stephen Shaw
1026Clifford X WieserBrazil2024-05-28Rangoni Of Florence QUALIFIED26Ivan Magalhaes
1027Alejandro G SaylorsFrance2024-06-13Buckley Miller Wright NEW66Amy Elsner
1028Clifford Z BriddickItaly2024-06-10King, Christopher A Esq PROPOSAL59Amy Elsner
1029Ricardo Q StensethIndia2024-06-13Printing Dimensions RENEWAL87Ioni Bowcher
1030Izzy V GlickIndia2024-06-15Dorl, James J Esq UNQUALIFIED56Bernardo Dominic
1031Jeanfrancois C FerenczItaly2024-05-24Benton, John B Jr QUALIFIED18Stephen Shaw
1032Jefferson M MarrierJapan2024-06-01Rangoni Of Florence RENEWAL4Onyama Limba
1033Jennifer L RimUnited Kingdom2024-06-20Dorl, James J Esq NEGOTIATION13Anna Fali
1034Jennifer A CampainArgentina2024-06-21Morlong Associates UNQUALIFIED74Asiya Javayant
1035Nicolas I AmigonItaly2024-06-08Chemel, James L Cpa NEGOTIATION45Ioni Bowcher
1036Jeanfrancois T IturbideIndia2024-06-18Rousseaux, Michael Esq PROPOSAL63Bernardo Dominic
1037Morrow Y IturbideArgentina2024-06-09Rangoni Of Florence QUALIFIED30Ivan Magalhaes
1038Aditya G MaletRussia2024-06-06Chemel, James L Cpa QUALIFIED73Asiya Javayant
1039Isabel F SergiItaly2024-06-14Morlong Associates NEGOTIATION12Amy Elsner
1040Misaki Z NickaFrance2024-05-26Feltz Printing Service NEGOTIATION79Ioni Bowcher
1041Octavia G TollnerArgentina2024-05-28Benton, John B Jr UNQUALIFIED46Ioni Bowcher
1042Darci K KolmetzSpain2024-06-19Chanay, Jeffrey A Esq RENEWAL48Xuxue Feng
1043James M VenereItaly2024-06-05Benton, John B Jr RENEWAL90Amy Elsner
1044Ashley O DilliardJapan2024-05-25King, Christopher A Esq RENEWAL91Bernardo Dominic
1045Arvin N MarrierJapan2024-06-18Commercial Press PROPOSAL39Elwin Sharvill
1046Darci N KuskoAustralia2024-06-13Chapman, Ross E Esq RENEWAL98Stephen Shaw
1047Morrow E RulapaughRussia2024-06-14Feiner Bros RENEWAL63Asiya Javayant
1048Izzy M NickaGermany2024-06-05Buckley Miller Wright NEGOTIATION24Elwin Sharvill
1049Greenwood M GarufiSpain2024-06-19Commercial Press UNQUALIFIED43Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Isabel D StensethFranceElwin Sharvill QUALIFIED
Mayumi R IturbideGermanyIvan Magalhaes RENEWAL
Silvio T FlosiItalyStephen Shaw QUALIFIED
Maisha Z CampainAustraliaXuxue Feng PROPOSAL
Ashley I StockhamArgentinaBernardo Dominic QUALIFIED
Jennifer P NestleGermanyOnyama Limba RENEWAL
Costa N WieserBrazilAsiya Javayant NEW
Aruna U RimIndiaBernardo Dominic QUALIFIED
Arvin K StensethCanadaBernardo Dominic PROPOSAL
Misaki O RutaUnited KingdomXuxue Feng UNQUALIFIED
Alejandro X DoeArgentinaBernardo Dominic NEW
Jefferson S WhobreyBrazilAnna Fali QUALIFIED
Alejandro U ChuiArgentinaAnna Fali NEGOTIATION
Jeanfrancois Y FollerCanadaIvan Magalhaes NEW
Nicolas V SergiFranceOnyama Limba PROPOSAL
Wickens R DilliardIndiaElwin Sharvill NEGOTIATION
Leon I KolmetzJapanOnyama Limba NEW
Aika S WaycottArgentinaOnyama Limba NEGOTIATION
Deepesh A WaycottAustraliaIvan Magalhaes UNQUALIFIED
Chavez J SaylorsUnited KingdomAnna Fali UNQUALIFIED
Jones C VenereFranceIvan Magalhaes RENEWAL
Jefferson B ShinkoItalyIvan Magalhaes RENEWAL
Sinclair V InouyeArgentinaXuxue Feng RENEWAL
Ivar S OstroskyIndiaXuxue Feng UNQUALIFIED
Emily Q DarakjyFranceAnna Fali NEW
Kadeem G FollerAustraliaAsiya Javayant NEW
Kaitlin F SaylorsGermanyAnna Fali UNQUALIFIED
Nicolas M InouyeJapanOnyama Limba NEW
Morrow E MaletItalyAmy Elsner NEW
Maisha J CaldareraUnited KingdomAsiya Javayant NEW
Rodrigues Z PaprockiSpainXuxue Feng UNQUALIFIED
Ivar T GarufiGermanyIvan Magalhaes NEW
Claire W SergiArgentinaElwin Sharvill UNQUALIFIED
Kadeem I MorascaJapanIoni Bowcher UNQUALIFIED
Aika T FerenczCanadaOnyama Limba UNQUALIFIED
Cody M CampainGermanyIoni Bowcher PROPOSAL
Greenwood J FerenczRussiaStephen Shaw UNQUALIFIED
Munro B CampainArgentinaElwin Sharvill UNQUALIFIED
Ashley O StensethIndiaStephen Shaw NEW
Sinclair Z BriddickCanadaElwin Sharvill RENEWAL
Emily P OldroydCanadaIvan Magalhaes QUALIFIED
Maria A MaletCanadaElwin Sharvill PROPOSAL
Maisha F FollerAustraliaElwin Sharvill RENEWAL
David D BologniaBrazilOnyama Limba NEW
Cody J GlickJapanOnyama Limba QUALIFIED
Johnson W RulapaughAustraliaStephen Shaw NEW
Julie T StensethFranceAmy Elsner RENEWAL
Jones P MaletFranceAnna Fali PROPOSAL
David E RutaRussiaAmy Elsner UNQUALIFIED
Tony Q FerenczGermanyAsiya Javayant QUALIFIED
Frozen Columns
Name
Tony W Caudy
Octavia I Nestle
Mujtaba M Gaucho
Mujtaba W Wieser
Ashley H Foller
Jennifer A Chui
Faith V Malet
Ivar K Stockham
Clifford Q Ostrosky
Alejandro T Caldarera
Jefferson U Gaucho
David X Vocelka
Deepesh T Paprocki
Murillo C Gillian
James F Rim
Jefferson L Rim
Clifford B Albares
David E Campain
Ivar Y Schemmer
Aruna H Ferencz
Ricardo L Oldroyd
Maria D Shinko
Maisha E Ostrosky
Aika E Whobrey
Alejandro L Flosi
Smith W Flosi
David Y Shinko
Maria F Iturbide
Claire K Saylors
Leja A Caldarera
Costa M Ostrosky
Clifford E Whobrey
Morrow I Maclead
Ivar V Figeroa
Aika C Waycott
Aruna X Vocelka
Faith K Stenseth
Aditya B Chui
Tony P Iturbide
Clifford R Royster
Cody S Shinko
Jennifer O Shinko
Wickens L Bowley
Cody N Whobrey
Arvin A Venere
Aruna Y Nestle
Claire A Bowley
Deepesh O Vocelka
Adams O Dilliard
Morrow J Venere
IdCountryDate
1000Spain2024-05-31
1001Canada2024-06-19
1002Italy2024-06-08
1003Japan2024-06-01
1004Spain2024-06-14
1005United Kingdom2024-06-08
1006Russia2024-05-24
1007India2024-06-04
1008United Kingdom2024-06-04
1009Argentina2024-06-16
1010Brazil2024-06-10
1011Germany2024-05-29
1012Russia2024-05-29
1013Brazil2024-05-28
1014United Kingdom2024-05-25
1015Argentina2024-05-30
1016France2024-06-12
1017Italy2024-06-04
1018United Kingdom2024-06-11
1019Japan2024-06-18
1020Japan2024-06-08
1021Italy2024-06-02
1022Japan2024-06-17
1023Australia2024-06-18
1024Australia2024-06-11
1025Russia2024-06-03
1026Argentina2024-06-05
1027Argentina2024-06-17
1028India2024-06-02
1029France2024-06-02
1030Australia2024-06-09
1031France2024-06-01
1032Australia2024-06-15
1033Argentina2024-06-06
1034Italy2024-06-04
1035Brazil2024-05-26
1036United Kingdom2024-05-31
1037Germany2024-05-26
1038Canada2024-06-05
1039Japan2024-05-24
1040Canada2024-06-08
1041Canada2024-05-30
1042Germany2024-05-24
1043Canada2024-06-06
1044Germany2024-06-07
1045Spain2024-06-08
1046Argentina2024-06-21
1047Germany2024-06-12
1048Argentina2024-05-30
1049Canada2024-05-30

On-Demand Data

NameIdCountryDate
Chavez P Foller1000Canada2024-06-01
Jones X Garufi1001Australia2024-05-29
Misaki B Iturbide1002Canada2024-05-31
Mayumi R Oldroyd1003Canada2024-06-18
Stacey Z Figeroa1004Spain2024-06-22
Wickens P Kusko1005Spain2024-06-16
Mujtaba H Glick1006United Kingdom2024-05-25
Misaki U Inouye1007Canada2024-06-17
Kaitlin A Ostrosky1008Germany2024-05-28
Stacey J Inouye1009Australia2024-06-14
Chavez D Poquette1010Germany2024-06-19
Aruna Z Royster1011Brazil2024-05-25
Greenwood O Shinko1012France2024-06-06
Kaitlin H Rulapaugh1013France2024-06-03
Octavia Q Whobrey1014Germany2024-06-14
Maria O Nestle1015United Kingdom2024-05-28
Octavia P Glick1016India2024-05-28
Ashley N Bolognia1017Canada2024-06-22
Maisha F Nestle1018Russia2024-06-16
Smith B Iturbide1019Italy2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James J DoeUnited KingdomXuxue Feng QUALIFIED
Antonio Q RoysterIndiaBernardo Dominic RENEWAL
James Q PerinFranceAnna Fali QUALIFIED
Wickens H VenereFranceAmy Elsner PROPOSAL
Aruna U RimArgentinaIvan Magalhaes NEW
Mujtaba A WieserUnited KingdomAsiya Javayant NEGOTIATION
Johnson B MarrierIndiaIvan Magalhaes NEW
Maria Y ButtSpainAnna Fali QUALIFIED
Aditya E PaprockiBrazilAsiya Javayant PROPOSAL
Salvatore Z FlosiUnited KingdomAmy Elsner NEW
Juan T OstroskyJapanElwin Sharvill PROPOSAL
Jennifer J RoysterIndiaAsiya Javayant RENEWAL
Smith N GarufiFranceElwin Sharvill PROPOSAL
Antonio D FerenczRussiaAsiya Javayant UNQUALIFIED
Claire S OldroydRussiaIoni Bowcher RENEWAL
Kadeem S VocelkaRussiaOnyama Limba UNQUALIFIED
Cody S BologniaGermanyStephen Shaw NEGOTIATION
Tony C BowleySpainOnyama Limba RENEWAL
Ivar O FerenczItalyOnyama Limba NEGOTIATION
Arvin Z BriddickUnited KingdomAmy Elsner UNQUALIFIED
Izzy M PerinSpainBernardo Dominic PROPOSAL
Arvin K WaycottFranceXuxue Feng NEGOTIATION
Mayumi C WaycottAustraliaXuxue Feng NEW
Sinclair G MarrierJapanAmy Elsner UNQUALIFIED
Aruna C CampainRussiaXuxue Feng PROPOSAL
Juan Q SaylorsGermanyStephen Shaw RENEWAL
Adams K CampainCanadaIoni Bowcher UNQUALIFIED
Jefferson E StensethIndiaIvan Magalhaes NEGOTIATION
Francesco O GauchoGermanyAnna Fali QUALIFIED
Mujtaba O KolmetzCanadaOnyama Limba NEW
Leon X RoysterSpainIoni Bowcher NEGOTIATION
Jefferson Y NestleSpainStephen Shaw RENEWAL
Alejandro M DoeIndiaIvan Magalhaes QUALIFIED
David B SlusarskiAustraliaIvan Magalhaes PROPOSAL
Salvatore M DilliardItalyOnyama Limba NEGOTIATION
Salvatore H MacleadGermanyBernardo Dominic NEW
Jennifer X ShinkoArgentinaAsiya Javayant NEGOTIATION
Izzy W GarufiUnited KingdomOnyama Limba RENEWAL
Sinclair L DarakjyCanadaXuxue Feng NEW
Ashley D RoysterSpainStephen Shaw 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>