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
Silvio S FlosiFranceOnyama Limba PROPOSAL
Smith N MaletAustraliaIoni Bowcher QUALIFIED
Octavia S FollerItalyAsiya Javayant RENEWAL
Rodrigues P BologniaUnited KingdomIoni Bowcher RENEWAL
Tony Z MarrierCanadaOnyama Limba NEGOTIATION
Arvin J FollerCanadaElwin Sharvill PROPOSAL
Silvio F PaprockiSpainIoni Bowcher NEGOTIATION
Mayumi T RulapaughGermanyAnna Fali QUALIFIED
Maria K VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Jennifer U MaletGermanyElwin Sharvill UNQUALIFIED
Arvin B FigeroaSpainXuxue Feng NEW
Salvatore D OstroskyAustraliaBernardo Dominic QUALIFIED
Ricardo B MaletItalyOnyama Limba PROPOSAL
Nicolas I KolmetzGermanyElwin Sharvill PROPOSAL
Silvio J IturbideFranceXuxue Feng NEW
Adams I RutaUnited KingdomElwin Sharvill QUALIFIED
Darci P WieserArgentinaIoni Bowcher PROPOSAL
Maria G SchemmerAustraliaElwin Sharvill UNQUALIFIED
Aruna L StockhamBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois J StensethFranceIvan Magalhaes PROPOSAL
Adams E BriddickRussiaIoni Bowcher QUALIFIED
Misaki A IturbideRussiaIvan Magalhaes PROPOSAL
Costa T FollerCanadaAnna Fali NEGOTIATION
Misaki I FlosiCanadaBernardo Dominic NEGOTIATION
Wickens J SchemmerGermanyElwin Sharvill PROPOSAL
Kadeem T RoysterUnited KingdomXuxue Feng NEW
Aika P AmigonUnited KingdomIoni Bowcher NEGOTIATION
Ivar U KolmetzGermanyBernardo Dominic UNQUALIFIED
Jennifer N KolmetzItalyAmy Elsner NEGOTIATION
Greenwood C StensethItalyAsiya Javayant PROPOSAL
Francesco O RoysterItalyBernardo Dominic PROPOSAL
James N FigeroaArgentinaXuxue Feng NEGOTIATION
Mayumi H WaycottUnited KingdomAnna Fali QUALIFIED
Aditya X VocelkaRussiaAnna Fali QUALIFIED
Maria T PerinCanadaOnyama Limba RENEWAL
Jones E KuskoArgentinaIvan Magalhaes RENEWAL
Wickens I MarrierBrazilAsiya Javayant PROPOSAL
Faith D StockhamAustraliaAmy Elsner QUALIFIED
Wickens G ShinkoAustraliaXuxue Feng RENEWAL
Faith A MacleadGermanyAnna Fali PROPOSAL
Wickens L RoysterIndiaAmy Elsner QUALIFIED
Francesco F FlosiRussiaOnyama Limba NEGOTIATION
Misaki K KuskoGermanyAnna Fali QUALIFIED
Julie S AlbaresUnited KingdomBernardo Dominic PROPOSAL
Maisha H WhobreySpainAsiya Javayant RENEWAL
Deepesh V KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Julie Y MaletFranceAmy Elsner NEGOTIATION
Costa P MaletArgentinaIoni Bowcher NEW
Johnson X RutaGermanyAnna Fali NEW
Leja F SaylorsFranceStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith H RimGermanyStephen Shaw UNQUALIFIED
Alejandro I MaletAustraliaElwin Sharvill NEW
Claire Y StockhamAustraliaAsiya Javayant RENEWAL
Rodrigues I VenereUnited KingdomAmy Elsner QUALIFIED
Faith V CaldareraIndiaAsiya Javayant PROPOSAL
Johnson D DoeIndiaXuxue Feng QUALIFIED
Maria H FerenczItalyOnyama Limba PROPOSAL
Faith H RulapaughGermanyStephen Shaw RENEWAL
Aika X FerenczSpainIvan Magalhaes UNQUALIFIED
Jeanfrancois B KuskoSpainBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo T KuskoIndia2025-04-25Rangoni Of Florence QUALIFIED27Asiya Javayant
1001Jeanfrancois A MaletSpain2025-04-25Dorl, James J Esq NEGOTIATION27Anna Fali
1002Morrow W CaudySpain2025-04-09Chanay, Jeffrey A Esq QUALIFIED91Xuxue Feng
1003David U WaycottFrance2025-04-20Rangoni Of Florence RENEWAL69Bernardo Dominic
1004Octavia O SchemmerGermany2025-04-10Rousseaux, Michael Esq NEGOTIATION26Onyama Limba
1005Greenwood Y WaycottBrazil2025-04-25Benton, John B Jr RENEWAL66Anna Fali
1006Clifford M PerinRussia2025-04-29Feltz Printing Service UNQUALIFIED0Stephen Shaw
1007Jennifer A BriddickArgentina2025-04-30Chanay, Jeffrey A Esq NEW96Ioni Bowcher
1008Johnson V FigeroaFrance2025-04-03King, Christopher A Esq RENEWAL25Amy Elsner
1009Jeanfrancois D MaletAustralia2025-04-15Commercial Press RENEWAL56Stephen Shaw
1010Nicolas W FlosiJapan2025-04-11Chanay, Jeffrey A Esq UNQUALIFIED24Amy Elsner
1011Jennifer L VenereBrazil2025-04-18Benton, John B Jr NEW32Anna Fali
1012Juan X PerinIndia2025-04-27Dorl, James J Esq RENEWAL84Amy Elsner
1013Jones S IturbideRussia2025-04-04Feltz Printing Service PROPOSAL47Elwin Sharvill
1014Nicolas N VocelkaAustralia2025-04-21Feltz Printing Service UNQUALIFIED0Ivan Magalhaes
1015Darci B SergiSpain2025-04-23Chemel, James L Cpa PROPOSAL37Elwin Sharvill
1016Juan L ChuiSpain2025-04-30Dorl, James J Esq QUALIFIED36Ivan Magalhaes
1017Chavez V SlusarskiItaly2025-04-27Buckley Miller Wright QUALIFIED7Asiya Javayant
1018Cody D WieserRussia2025-04-27Buckley Miller Wright UNQUALIFIED11Xuxue Feng
1019Jefferson Q DoeArgentina2025-04-12Feiner Bros QUALIFIED80Bernardo Dominic
1020Izzy A VocelkaSpain2025-04-06Commercial Press UNQUALIFIED48Elwin Sharvill
1021Faith Z SchemmerItaly2025-04-08Benton, John B Jr NEGOTIATION5Onyama Limba
1022Ivar W ShinkoJapan2025-04-25Feltz Printing Service NEW24Stephen Shaw
1023Faith X NickaRussia2025-04-25Feiner Bros QUALIFIED76Ioni Bowcher
1024Morrow Z InouyeRussia2025-04-11Dorl, James J Esq UNQUALIFIED68Bernardo Dominic
1025Leon X BowleyUnited Kingdom2025-04-24Rangoni Of Florence NEW7Xuxue Feng
1026Octavia J VocelkaAustralia2025-04-16King, Christopher A Esq NEW86Xuxue Feng
1027Maisha Y DoeGermany2025-04-29Feiner Bros QUALIFIED13Ivan Magalhaes
1028Cody X ButtJapan2025-04-27Feltz Printing Service PROPOSAL65Amy Elsner
1029Tony B PerinSpain2025-04-11Rousseaux, Michael Esq NEGOTIATION57Ivan Magalhaes
1030Aruna U KuskoItaly2025-04-01Dorl, James J Esq QUALIFIED16Asiya Javayant
1031Deepesh I PerinRussia2025-04-15Morlong Associates PROPOSAL57Asiya Javayant
1032Leja A CaldareraUnited Kingdom2025-04-14Morlong Associates PROPOSAL63Asiya Javayant
1033Costa A MacleadBrazil2025-04-06Rousseaux, Michael Esq NEW25Onyama Limba
1034Jefferson R BriddickAustralia2025-04-24Feltz Printing Service NEGOTIATION58Amy Elsner
1035Juan Z StockhamSpain2025-04-02Chanay, Jeffrey A Esq NEW73Onyama Limba
1036Ivar R CaldareraIndia2025-04-06King, Christopher A Esq NEW44Amy Elsner
1037Ivar P FigeroaJapan2025-04-15Benton, John B Jr QUALIFIED11Anna Fali
1038Maria I FerenczAustralia2025-04-10Benton, John B Jr NEW2Anna Fali
1039Chavez O GarufiRussia2025-04-03Buckley Miller Wright NEW12Xuxue Feng
1040Maria Q CampainFrance2025-04-03Commercial Press RENEWAL67Asiya Javayant
1041Aditya E MaletGermany2025-04-30Commercial Press UNQUALIFIED45Stephen Shaw
1042Kadeem H ChuiUnited Kingdom2025-04-02King, Christopher A Esq QUALIFIED60Anna Fali
1043Antonio L RulapaughRussia2025-04-14Chanay, Jeffrey A Esq QUALIFIED49Asiya Javayant
1044Maisha K RutaCanada2025-04-10Chanay, Jeffrey A Esq PROPOSAL13Asiya Javayant
1045Mayumi M NestleFrance2025-04-28Rangoni Of Florence QUALIFIED98Amy Elsner
1046Claire Z WhobreyFrance2025-04-08Printing Dimensions PROPOSAL74Amy Elsner
1047Costa T WaycottItaly2025-04-26Dorl, James J Esq PROPOSAL33Bernardo Dominic
1048Isabel U DoeUnited Kingdom2025-04-30Buckley Miller Wright QUALIFIED98Amy Elsner
1049Tony I WhobreyArgentina2025-04-07Rangoni Of Florence NEGOTIATION24Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
David P KuskoIndiaAmy Elsner QUALIFIED
Emily O OstroskyFranceAmy Elsner UNQUALIFIED
Leon Q NickaArgentinaStephen Shaw PROPOSAL
Darci S GarufiBrazilElwin Sharvill NEGOTIATION
Salvatore C BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Aika F StensethArgentinaBernardo Dominic NEW
Jefferson F AlbaresItalyAnna Fali NEGOTIATION
Ashley R DilliardJapanIvan Magalhaes UNQUALIFIED
Deepesh J WaycottBrazilXuxue Feng QUALIFIED
Alejandro A PaprockiRussiaBernardo Dominic PROPOSAL
Aika L OstroskyArgentinaAnna Fali UNQUALIFIED
Ashley B FollerAustraliaStephen Shaw PROPOSAL
Emily J PerinUnited KingdomOnyama Limba PROPOSAL
Wickens Y MorascaUnited KingdomElwin Sharvill NEW
Leon P SergiRussiaBernardo Dominic QUALIFIED
Tony M BriddickAustraliaAmy Elsner NEW
Aruna B MaletRussiaIvan Magalhaes QUALIFIED
Alejandro T WieserArgentinaAsiya Javayant PROPOSAL
Francesco T VocelkaJapanOnyama Limba UNQUALIFIED
Mayumi W VocelkaRussiaIvan Magalhaes NEW
Ivar I GarufiItalyIvan Magalhaes NEW
Antonio J SlusarskiIndiaIoni Bowcher NEGOTIATION
Izzy Z GarufiJapanIoni Bowcher QUALIFIED
Clifford B RutaBrazilXuxue Feng UNQUALIFIED
Salvatore F RulapaughBrazilOnyama Limba QUALIFIED
Darci D AmigonIndiaIoni Bowcher NEGOTIATION
Darci G SlusarskiIndiaElwin Sharvill NEGOTIATION
Aruna G MaletFranceStephen Shaw UNQUALIFIED
Arvin C FerenczGermanyIvan Magalhaes QUALIFIED
Smith V ChuiJapanAmy Elsner RENEWAL
Ashley P WhobreyIndiaIvan Magalhaes QUALIFIED
Cody Q WieserGermanyElwin Sharvill PROPOSAL
Isabel K VocelkaRussiaAmy Elsner NEW
Cody N NickaJapanIoni Bowcher NEGOTIATION
Francesco I PaprockiGermanyStephen Shaw RENEWAL
Antonio Y IturbideIndiaIoni Bowcher NEW
Kaitlin S RoysterJapanAnna Fali QUALIFIED
Julie P VocelkaAustraliaAnna Fali PROPOSAL
Francesco L AmigonArgentinaElwin Sharvill UNQUALIFIED
Ivar Y StensethRussiaElwin Sharvill NEGOTIATION
Mujtaba M ShinkoArgentinaBernardo Dominic NEGOTIATION
Deepesh S PerinArgentinaBernardo Dominic PROPOSAL
Maria H AlbaresArgentinaElwin Sharvill NEGOTIATION
Kaitlin S ChuiArgentinaIoni Bowcher PROPOSAL
Deepesh K BowleyFranceStephen Shaw NEW
Maria W MorascaIndiaOnyama Limba NEW
Adams H OstroskyItalyIoni Bowcher QUALIFIED
Sinclair P MaletAustraliaOnyama Limba QUALIFIED
Claire V WieserUnited KingdomAnna Fali NEW
James H DarakjyBrazilXuxue Feng NEGOTIATION
Frozen Columns
Name
David Q Malet
Tony T Iturbide
Ricardo X Gillian
Francesco Z Butt
Maria V Paprocki
Munro S Malet
Jefferson J Oldroyd
James X Schemmer
Adams O Foller
Salvatore E Royster
Adams O Darakjy
Emily V Iturbide
Arvin N Gaucho
Salvatore H Waycott
Sinclair U Albares
Jennifer I Malet
Ricardo U Bolognia
Misaki B Rim
Salvatore U Rim
Maisha D Marrier
Smith V Darakjy
Salvatore L Caldarera
Deepesh O Iturbide
Antonio X Gaucho
Octavia G Oldroyd
Silvio F Dilliard
Leon R Saylors
Maria N Royster
Morrow U Darakjy
Izzy G Paprocki
Costa R Rim
Chavez N Butt
Octavia Y Gillian
Ricardo N Malet
Ricardo P Bolognia
Tony D Chui
Maisha L Butt
Leja H Rim
Ivar H Gaucho
Nicolas V Figeroa
David E Campain
Wickens X Flosi
Aruna Z Briddick
Izzy T Chui
Misaki S Nestle
Arvin L Maclead
Maisha U Garufi
Adams O Saylors
Kadeem C Ruta
Leja F Albares
IdCountryDate
1000Canada2025-04-27
1001Russia2025-04-28
1002India2025-04-17
1003Germany2025-04-18
1004Russia2025-04-04
1005Australia2025-04-26
1006Japan2025-04-06
1007Germany2025-04-28
1008Brazil2025-04-29
1009United Kingdom2025-04-05
1010Spain2025-04-25
1011Brazil2025-04-03
1012United Kingdom2025-04-07
1013Argentina2025-04-16
1014France2025-04-10
1015United Kingdom2025-04-13
1016Argentina2025-04-20
1017United Kingdom2025-04-10
1018Canada2025-04-13
1019Russia2025-04-27
1020India2025-04-18
1021Canada2025-04-26
1022Spain2025-04-30
1023France2025-04-27
1024Italy2025-04-13
1025Argentina2025-04-11
1026Canada2025-04-11
1027France2025-04-07
1028United Kingdom2025-04-14
1029Japan2025-04-27
1030Spain2025-04-06
1031France2025-04-18
1032France2025-04-09
1033Australia2025-04-17
1034France2025-04-22
1035Argentina2025-04-16
1036Germany2025-04-04
1037Germany2025-04-05
1038Spain2025-04-06
1039United Kingdom2025-04-12
1040Italy2025-04-29
1041India2025-04-02
1042Japan2025-04-09
1043Australia2025-04-10
1044United Kingdom2025-04-20
1045India2025-04-07
1046Spain2025-04-16
1047France2025-04-07
1048Spain2025-04-19
1049Germany2025-04-06

On-Demand Data

NameIdCountryDate
Aruna Q Oldroyd1000Russia2025-04-23
Jefferson H Saylors1001Italy2025-04-29
Ivar T Maclead1002Australia2025-04-25
Nicolas G Malet1003Brazil2025-04-21
Jones K Dilliard1004Argentina2025-04-19
Mayumi F Malet1005India2025-04-28
Jones C Darakjy1006France2025-04-26
Izzy S Campain1007Germany2025-04-01
Silvio X Ruta1008France2025-04-10
Julie K Gaucho1009Italy2025-04-02
Jones M Perin1010Germany2025-04-29
Mayumi E Sergi1011Italy2025-04-26
Wickens H Rim1012India2025-04-27
Misaki Q Garufi1013Russia2025-04-30
Ivar A Doe1014Australia2025-04-17
Maisha W Figeroa1015Brazil2025-04-03
Leja M Caudy1016United Kingdom2025-04-11
Maisha D Inouye1017India2025-04-10
Murillo Z Poquette1018Australia2025-04-28
Arvin M Saylors1019Brazil2025-04-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro B SaylorsAustraliaBernardo Dominic RENEWAL
Ivar K ButtUnited KingdomAmy Elsner PROPOSAL
Leon O FollerJapanOnyama Limba NEGOTIATION
Julie H StockhamJapanElwin Sharvill PROPOSAL
James M BowleyGermanyIoni Bowcher NEW
David I DarakjyRussiaOnyama Limba UNQUALIFIED
Munro B DoeItalyElwin Sharvill NEW
Jefferson B BologniaFranceXuxue Feng NEGOTIATION
Greenwood B RulapaughSpainIvan Magalhaes PROPOSAL
Mujtaba S MorascaBrazilAsiya Javayant PROPOSAL
Cody Z GarufiAustraliaAsiya Javayant RENEWAL
Greenwood W MaletUnited KingdomAmy Elsner NEGOTIATION
Rodrigues L BriddickUnited KingdomAsiya Javayant RENEWAL
David H FerenczFranceAmy Elsner UNQUALIFIED
Jefferson B WhobreyGermanyAnna Fali NEGOTIATION
Kaitlin V MacleadUnited KingdomBernardo Dominic NEW
Deepesh C SchemmerFranceIvan Magalhaes NEGOTIATION
Costa N WhobreyAustraliaIvan Magalhaes RENEWAL
Costa P PaprockiFranceAsiya Javayant PROPOSAL
Nicolas B RulapaughGermanyStephen Shaw UNQUALIFIED
Jennifer V FerenczSpainXuxue Feng NEGOTIATION
Tony G RoysterUnited KingdomIoni Bowcher NEW
Nicolas B FollerItalyAnna Fali NEW
Tony V BowleyBrazilAsiya Javayant PROPOSAL
Morrow C WaycottBrazilElwin Sharvill RENEWAL
Julie J ButtAustraliaBernardo Dominic NEW
Wickens S OstroskyGermanyIoni Bowcher UNQUALIFIED
Mujtaba Y AmigonJapanElwin Sharvill NEW
Ivar R AlbaresCanadaIvan Magalhaes RENEWAL
Cody L ShinkoIndiaOnyama Limba RENEWAL
Cody F SlusarskiCanadaElwin Sharvill QUALIFIED
Darci F GlickJapanStephen Shaw PROPOSAL
Costa A SergiFranceAsiya Javayant UNQUALIFIED
Alejandro K GlickArgentinaBernardo Dominic NEGOTIATION
Kaitlin D CampainJapanXuxue Feng PROPOSAL
Juan I InouyeArgentinaElwin Sharvill PROPOSAL
Kadeem W BriddickUnited KingdomAnna Fali NEW
Alejandro D DoeIndiaIoni Bowcher PROPOSAL
Aditya C RoysterAustraliaAnna Fali UNQUALIFIED
Mayumi V ShinkoGermanyElwin Sharvill 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>