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
David G WieserRussiaAnna Fali QUALIFIED
Octavia N MaletIndiaAsiya Javayant PROPOSAL
Clifford I OstroskyFranceAsiya Javayant RENEWAL
Isabel H VocelkaItalyBernardo Dominic PROPOSAL
Jefferson U PerinAustraliaElwin Sharvill NEGOTIATION
Jefferson H WaycottGermanyAnna Fali UNQUALIFIED
Munro N OstroskyIndiaXuxue Feng PROPOSAL
Faith B PoquetteJapanAnna Fali UNQUALIFIED
Jones Z SaylorsBrazilElwin Sharvill RENEWAL
Maria D GillianItalyIoni Bowcher PROPOSAL
Antonio D MacleadAustraliaIvan Magalhaes UNQUALIFIED
Mayumi Q GauchoGermanyOnyama Limba NEW
Emily O IturbideIndiaAnna Fali NEGOTIATION
Julie C NickaFranceOnyama Limba NEGOTIATION
Greenwood K FigeroaRussiaIvan Magalhaes RENEWAL
Aruna N InouyeFranceAmy Elsner RENEWAL
Mujtaba F AmigonJapanAmy Elsner PROPOSAL
Clifford U SaylorsRussiaBernardo Dominic NEGOTIATION
Stacey F WaycottItalyBernardo Dominic RENEWAL
Chavez P NickaAustraliaOnyama Limba NEW
Costa K DoeJapanIvan Magalhaes RENEWAL
Greenwood K PerinGermanyAnna Fali PROPOSAL
Leon N ShinkoArgentinaIvan Magalhaes PROPOSAL
Deepesh K FerenczArgentinaElwin Sharvill RENEWAL
Smith R CampainCanadaOnyama Limba UNQUALIFIED
Ricardo I CaudyUnited KingdomIvan Magalhaes NEW
Isabel H IturbideUnited KingdomAmy Elsner RENEWAL
Kadeem D MaletArgentinaBernardo Dominic RENEWAL
Deepesh G SaylorsUnited KingdomOnyama Limba NEGOTIATION
Nicolas X TollnerRussiaStephen Shaw PROPOSAL
Julie F WaycottIndiaAsiya Javayant NEGOTIATION
Emily Q RutaIndiaOnyama Limba NEW
Octavia P MacleadAustraliaOnyama Limba NEGOTIATION
Mayumi U WhobreyIndiaOnyama Limba NEGOTIATION
Arvin J GlickRussiaAnna Fali QUALIFIED
Mayumi R NickaIndiaAmy Elsner NEGOTIATION
Chavez M WhobreyItalyAsiya Javayant PROPOSAL
Isabel M RulapaughItalyIoni Bowcher NEW
Tony N SchemmerGermanyAnna Fali UNQUALIFIED
Ashley S ChuiRussiaStephen Shaw NEGOTIATION
Jefferson Y ButtSpainAnna Fali NEGOTIATION
Ivar U RulapaughIndiaOnyama Limba QUALIFIED
Munro A FerenczGermanyOnyama Limba QUALIFIED
David Y BriddickAustraliaAnna Fali RENEWAL
Ricardo J AlbaresCanadaIvan Magalhaes RENEWAL
James C GarufiAustraliaElwin Sharvill NEW
Maisha U CampainArgentinaBernardo Dominic PROPOSAL
Ivar V CaudySpainAnna Fali QUALIFIED
Maria P GlickItalyAnna Fali QUALIFIED
James Q ShinkoArgentinaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco Y FerenczGermanyIoni Bowcher UNQUALIFIED
Faith L IturbideAustraliaOnyama Limba UNQUALIFIED
Jennifer M TollnerRussiaAnna Fali QUALIFIED
Misaki E PaprockiArgentinaElwin Sharvill PROPOSAL
Aika X PerinBrazilElwin Sharvill PROPOSAL
Isabel H BowleyItalyIoni Bowcher UNQUALIFIED
Stacey C MaletIndiaAsiya Javayant NEW
Clifford S SlusarskiSpainAnna Fali UNQUALIFIED
Jefferson P VenereCanadaOnyama Limba NEGOTIATION
Isabel G NestleUnited KingdomAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika P CampainJapan2024-05-28Rangoni Of Florence NEW0Ivan Magalhaes
1001Aditya Q FlosiSpain2024-06-08Feiner Bros PROPOSAL36Ivan Magalhaes
1002Kaitlin H MarrierItaly2024-05-16Rangoni Of Florence UNQUALIFIED22Xuxue Feng
1003Jones K PerinCanada2024-06-02Rousseaux, Michael Esq NEGOTIATION38Anna Fali
1004Sinclair X GarufiUnited Kingdom2024-05-20Morlong Associates UNQUALIFIED90Asiya Javayant
1005Costa M SergiUnited Kingdom2024-06-10Dorl, James J Esq RENEWAL0Onyama Limba
1006Sinclair L TollnerRussia2024-05-31Buckley Miller Wright RENEWAL91Ioni Bowcher
1007Arvin M RutaUnited Kingdom2024-06-06Commercial Press RENEWAL78Bernardo Dominic
1008Emily W FigeroaCanada2024-05-28Dorl, James J Esq RENEWAL50Stephen Shaw
1009Greenwood Z VocelkaSpain2024-05-29Benton, John B Jr NEW0Elwin Sharvill
1010Wickens U StockhamJapan2024-06-13Rousseaux, Michael Esq NEGOTIATION21Amy Elsner
1011Adams L BriddickJapan2024-05-28Chemel, James L Cpa RENEWAL32Bernardo Dominic
1012Juan C BowleyArgentina2024-05-25Rousseaux, Michael Esq QUALIFIED86Amy Elsner
1013Faith M StensethCanada2024-05-16Chanay, Jeffrey A Esq QUALIFIED46Ioni Bowcher
1014Julie J WaycottArgentina2024-05-27Chapman, Ross E Esq NEW5Elwin Sharvill
1015Alejandro J ShinkoUnited Kingdom2024-05-18Rangoni Of Florence UNQUALIFIED52Asiya Javayant
1016Darci T ShinkoItaly2024-05-17Benton, John B Jr NEGOTIATION1Elwin Sharvill
1017Mujtaba U WaycottJapan2024-05-15Dorl, James J Esq UNQUALIFIED31Elwin Sharvill
1018Morrow D FlosiJapan2024-06-10King, Christopher A Esq QUALIFIED10Onyama Limba
1019Jones B WhobreyCanada2024-05-26Chemel, James L Cpa NEW70Onyama Limba
1020Ashley Z WhobreySpain2024-06-08Rangoni Of Florence RENEWAL94Bernardo Dominic
1021Ricardo L SchemmerRussia2024-06-05Chemel, James L Cpa NEGOTIATION13Elwin Sharvill
1022Jones A NickaCanada2024-05-25Benton, John B Jr UNQUALIFIED11Bernardo Dominic
1023Clifford N AlbaresAustralia2024-05-28Morlong Associates NEW28Ioni Bowcher
1024Julie P ChuiIndia2024-05-31Chanay, Jeffrey A Esq NEW16Bernardo Dominic
1025Murillo W KuskoCanada2024-06-04Printing Dimensions UNQUALIFIED44Ioni Bowcher
1026Costa M BriddickIndia2024-05-19Morlong Associates NEW43Ivan Magalhaes
1027Faith W GarufiIndia2024-06-11Feltz Printing Service PROPOSAL53Asiya Javayant
1028Misaki O ChuiFrance2024-05-22Morlong Associates NEGOTIATION23Amy Elsner
1029Murillo V NickaItaly2024-05-18Chapman, Ross E Esq PROPOSAL83Elwin Sharvill
1030Maria T MorascaGermany2024-05-24Dorl, James J Esq NEW15Ivan Magalhaes
1031Juan Y TollnerArgentina2024-05-23Rangoni Of Florence NEW25Onyama Limba
1032Alejandro M GarufiFrance2024-06-02Chanay, Jeffrey A Esq NEW33Asiya Javayant
1033Aditya P FigeroaJapan2024-05-29Feiner Bros RENEWAL90Ioni Bowcher
1034Adams O MacleadItaly2024-05-27Buckley Miller Wright QUALIFIED20Elwin Sharvill
1035Mayumi U MaletAustralia2024-06-11Chapman, Ross E Esq NEGOTIATION68Amy Elsner
1036Jones U AlbaresSpain2024-06-06Rousseaux, Michael Esq NEW33Elwin Sharvill
1037Morrow J VenereCanada2024-06-05Printing Dimensions RENEWAL51Xuxue Feng
1038Misaki W MarrierCanada2024-05-29King, Christopher A Esq PROPOSAL61Stephen Shaw
1039Kadeem J TollnerUnited Kingdom2024-06-12Rangoni Of Florence UNQUALIFIED30Onyama Limba
1040Arvin P DarakjyFrance2024-06-01Benton, John B Jr NEGOTIATION7Onyama Limba
1041Mayumi Q MaletBrazil2024-06-13Commercial Press RENEWAL68Asiya Javayant
1042Silvio D InouyeArgentina2024-06-11Commercial Press NEGOTIATION84Xuxue Feng
1043Silvio S MaletBrazil2024-05-24Rangoni Of Florence NEGOTIATION69Ivan Magalhaes
1044Francesco R KolmetzCanada2024-06-12Benton, John B Jr PROPOSAL5Ioni Bowcher
1045Darci I VenereBrazil2024-05-21Commercial Press PROPOSAL75Elwin Sharvill
1046Kadeem Y AlbaresIndia2024-06-06Chanay, Jeffrey A Esq PROPOSAL89Xuxue Feng
1047Tony L RulapaughArgentina2024-05-16Dorl, James J Esq NEW46Elwin Sharvill
1048Antonio H NickaJapan2024-06-01Feiner Bros UNQUALIFIED65Elwin Sharvill
1049Juan G BologniaSpain2024-05-23Commercial Press RENEWAL63Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Clifford H FigeroaCanadaBernardo Dominic QUALIFIED
Leja P PerinFranceStephen Shaw PROPOSAL
Smith I RimJapanAsiya Javayant NEGOTIATION
Deepesh K StensethGermanyAsiya Javayant NEW
Jeanfrancois X SaylorsJapanOnyama Limba NEGOTIATION
Aruna Y GarufiItalyAmy Elsner QUALIFIED
Ivar K PerinFranceXuxue Feng RENEWAL
Arvin J BowleyBrazilIoni Bowcher QUALIFIED
Deepesh A InouyeGermanyIvan Magalhaes NEGOTIATION
Silvio F PoquetteArgentinaIvan Magalhaes NEW
Emily J CampainAustraliaOnyama Limba UNQUALIFIED
Sinclair E RoysterSpainStephen Shaw NEW
Morrow D MacleadAustraliaAmy Elsner NEW
Greenwood B PerinSpainBernardo Dominic NEW
Francesco P MacleadArgentinaAmy Elsner NEGOTIATION
Jeanfrancois I MacleadSpainOnyama Limba RENEWAL
Misaki O RimItalyIoni Bowcher QUALIFIED
Jennifer N MaletAustraliaElwin Sharvill NEW
Aditya K RoysterJapanElwin Sharvill RENEWAL
Kaitlin O CampainBrazilAnna Fali NEW
Maisha P OstroskyIndiaAmy Elsner UNQUALIFIED
Stacey Z FlosiJapanOnyama Limba PROPOSAL
Morrow I GarufiAustraliaAmy Elsner UNQUALIFIED
Adams M KuskoAustraliaBernardo Dominic NEGOTIATION
Wickens C SergiCanadaBernardo Dominic UNQUALIFIED
Johnson M WieserFranceOnyama Limba QUALIFIED
Claire K TollnerIndiaIoni Bowcher UNQUALIFIED
David F VenereUnited KingdomIvan Magalhaes PROPOSAL
Emily V FollerSpainIoni Bowcher UNQUALIFIED
Aika Y PerinUnited KingdomElwin Sharvill RENEWAL
Isabel W CaldareraItalyIvan Magalhaes NEGOTIATION
Adams J PaprockiUnited KingdomIoni Bowcher RENEWAL
Morrow M StockhamIndiaStephen Shaw RENEWAL
Silvio L SaylorsJapanAsiya Javayant NEGOTIATION
Francesco Q BriddickRussiaBernardo Dominic QUALIFIED
Kadeem Y MarrierJapanElwin Sharvill UNQUALIFIED
Rodrigues B ChuiBrazilBernardo Dominic UNQUALIFIED
Wickens F MaletUnited KingdomStephen Shaw NEGOTIATION
Antonio O DilliardBrazilElwin Sharvill UNQUALIFIED
Francesco E IturbideItalyElwin Sharvill QUALIFIED
Salvatore C RutaAustraliaBernardo Dominic UNQUALIFIED
Francesco L TollnerAustraliaOnyama Limba QUALIFIED
Jeanfrancois H BologniaFranceXuxue Feng NEW
Kaitlin J MaletGermanyOnyama Limba PROPOSAL
James Z TollnerIndiaBernardo Dominic NEW
Juan Q ShinkoCanadaAsiya Javayant PROPOSAL
Munro L AlbaresFranceAsiya Javayant QUALIFIED
Leja Z ButtSpainElwin Sharvill QUALIFIED
Aditya A AlbaresAustraliaStephen Shaw NEGOTIATION
Sinclair D CampainIndiaIoni Bowcher NEW
Frozen Columns
Name
Mayumi M Sergi
Francesco W Foller
Jefferson W Vocelka
Leja V Saylors
Maisha W Nestle
Octavia Y Stockham
Deepesh Z Wieser
Sinclair E Flosi
Johnson G Paprocki
Clifford G Maclead
Izzy C Ruta
Jeanfrancois A Ferencz
Chavez X Flosi
Tony W Waycott
Arvin K Poquette
Mayumi I Marrier
Julie H Malet
Darci P Venere
Aika U Shinko
Tony F Briddick
Mujtaba T Campain
Costa M Poquette
Faith I Figeroa
Aruna G Whobrey
Aika T Figeroa
Munro E Slusarski
Murillo U Dilliard
Antonio Y Malet
Chavez A Gaucho
Smith F Morasca
Stacey B Schemmer
Aika W Stenseth
Kadeem K Iturbide
Morrow H Schemmer
Silvio I Caldarera
Isabel B Nestle
Jeanfrancois H Poquette
Tony Z Garufi
Leja Y Morasca
Darci P Saylors
Leja B Kusko
Silvio K Paprocki
Arvin N Royster
Kadeem R Vocelka
Silvio H Albares
David V Bowley
Juan M Caudy
Juan Z Figeroa
Kadeem X Doe
Nicolas J Garufi
IdCountryDate
1000Italy2024-06-13
1001Japan2024-05-17
1002Australia2024-06-08
1003Germany2024-05-18
1004Spain2024-05-23
1005France2024-06-05
1006Canada2024-05-26
1007United Kingdom2024-06-06
1008United Kingdom2024-06-11
1009Australia2024-05-25
1010India2024-05-22
1011Italy2024-06-01
1012Argentina2024-05-28
1013Australia2024-06-02
1014Spain2024-05-25
1015Japan2024-05-16
1016India2024-05-19
1017Brazil2024-05-27
1018Italy2024-06-07
1019France2024-06-01
1020United Kingdom2024-05-31
1021Brazil2024-06-01
1022United Kingdom2024-05-18
1023Brazil2024-05-19
1024Argentina2024-05-17
1025Germany2024-06-10
1026United Kingdom2024-05-26
1027Australia2024-05-28
1028Canada2024-05-23
1029Canada2024-05-23
1030Brazil2024-05-25
1031Italy2024-05-26
1032Spain2024-05-28
1033Argentina2024-05-15
1034France2024-05-19
1035United Kingdom2024-06-02
1036Japan2024-05-19
1037Argentina2024-05-31
1038India2024-06-10
1039Argentina2024-05-29
1040Italy2024-05-17
1041Canada2024-06-10
1042Australia2024-06-12
1043Brazil2024-06-06
1044Argentina2024-06-12
1045Japan2024-06-10
1046India2024-05-30
1047Australia2024-06-09
1048Italy2024-06-06
1049France2024-06-11

On-Demand Data

NameIdCountryDate
Munro W Kusko1000France2024-05-31
Smith K Malet1001Australia2024-05-28
Kadeem D Maclead1002France2024-06-10
Ricardo Q Foller1003United Kingdom2024-05-28
Maria R Schemmer1004Brazil2024-05-22
Ricardo Y Rim1005India2024-06-07
Wickens S Ostrosky1006Argentina2024-06-13
Nicolas W Maclead1007Russia2024-05-20
Juan Z Tollner1008Russia2024-05-26
Juan B Rulapaugh1009United Kingdom2024-06-10
Arvin E Inouye1010India2024-06-12
Aruna Z Rulapaugh1011Spain2024-06-01
Johnson F Butt1012Russia2024-05-28
Leja O Garufi1013United Kingdom2024-06-05
Juan B Doe1014Japan2024-05-27
Cody O Morasca1015Russia2024-05-28
Leja U Malet1016Canada2024-05-24
Antonio Q Malet1017Japan2024-05-29
Antonio P Stenseth1018Brazil2024-05-25
Kaitlin B Albares1019Japan2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon H TollnerUnited KingdomXuxue Feng UNQUALIFIED
Jennifer N KuskoArgentinaAsiya Javayant NEGOTIATION
Salvatore T ShinkoFranceIoni Bowcher NEW
Aruna H PerinIndiaAsiya Javayant QUALIFIED
Kadeem Y MacleadSpainIvan Magalhaes RENEWAL
Ivar I CaldareraFranceAnna Fali RENEWAL
Silvio C StensethSpainAmy Elsner NEW
Deepesh X IturbideBrazilAmy Elsner PROPOSAL
Juan V StockhamUnited KingdomXuxue Feng RENEWAL
Mayumi Z VocelkaItalyIvan Magalhaes NEGOTIATION
Smith I StensethRussiaAsiya Javayant NEW
Cody A IturbideJapanAnna Fali NEW
Isabel S VocelkaUnited KingdomAmy Elsner PROPOSAL
Misaki I InouyeItalyAnna Fali PROPOSAL
Emily T ShinkoRussiaAsiya Javayant PROPOSAL
Kadeem E RimIndiaIoni Bowcher PROPOSAL
Chavez R InouyeSpainAnna Fali NEW
Adams J MarrierAustraliaXuxue Feng UNQUALIFIED
Costa A GillianRussiaAsiya Javayant PROPOSAL
Rodrigues A MaletAustraliaStephen Shaw NEGOTIATION
Wickens W ShinkoSpainOnyama Limba PROPOSAL
Ashley N KolmetzIndiaAmy Elsner RENEWAL
Cody Y ShinkoSpainOnyama Limba RENEWAL
Antonio Z KolmetzUnited KingdomAnna Fali NEW
Costa J StensethAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba L SergiItalyAsiya Javayant NEGOTIATION
Greenwood C IturbideSpainBernardo Dominic PROPOSAL
Aika R BologniaRussiaAsiya Javayant NEW
Emily S CaudyFranceElwin Sharvill PROPOSAL
Aruna I RutaFranceXuxue Feng QUALIFIED
Murillo D DoeGermanyStephen Shaw QUALIFIED
Arvin F DilliardCanadaAsiya Javayant PROPOSAL
Mayumi I AlbaresSpainStephen Shaw UNQUALIFIED
Tony T MaletArgentinaAmy Elsner RENEWAL
Claire C NestleArgentinaIoni Bowcher NEW
Murillo B IturbideItalyAsiya Javayant UNQUALIFIED
Izzy S DarakjyIndiaAsiya Javayant NEW
Sinclair P StensethRussiaIoni Bowcher UNQUALIFIED
Antonio W CaldareraBrazilAsiya Javayant NEW
Rodrigues Y KuskoItalyXuxue Feng UNQUALIFIED

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