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
Costa I NickaCanadaXuxue Feng NEW
Mayumi F GauchoAustraliaAmy Elsner UNQUALIFIED
Jones F FollerGermanyAsiya Javayant NEGOTIATION
Salvatore H CaldareraBrazilAmy Elsner NEW
Claire G SlusarskiRussiaIoni Bowcher PROPOSAL
Munro F NestleBrazilOnyama Limba NEGOTIATION
Darci Z ButtItalyIvan Magalhaes PROPOSAL
Maria M WieserItalyAnna Fali NEW
Ashley J WaycottUnited KingdomAmy Elsner NEW
Faith Q StockhamArgentinaAmy Elsner PROPOSAL
Faith D IturbideJapanIvan Magalhaes QUALIFIED
Munro X PerinAustraliaIoni Bowcher UNQUALIFIED
Octavia P BologniaGermanyXuxue Feng PROPOSAL
Munro G InouyeJapanIoni Bowcher NEGOTIATION
Emily X MarrierItalyAsiya Javayant UNQUALIFIED
Ashley O DilliardFranceIvan Magalhaes UNQUALIFIED
Julie F ShinkoJapanAnna Fali RENEWAL
Kaitlin E GauchoBrazilElwin Sharvill PROPOSAL
Murillo L WieserRussiaXuxue Feng UNQUALIFIED
Rodrigues A WaycottSpainIoni Bowcher RENEWAL
Francesco L MaletIndiaBernardo Dominic NEGOTIATION
Maisha A FerenczGermanyElwin Sharvill PROPOSAL
Aruna I FollerSpainOnyama Limba NEW
Sinclair D OldroydArgentinaBernardo Dominic NEW
Wickens T MaletArgentinaAsiya Javayant NEGOTIATION
Ivar Q GarufiGermanyElwin Sharvill UNQUALIFIED
Maisha B OstroskyItalyIvan Magalhaes NEW
James G StensethRussiaAnna Fali RENEWAL
David C RutaArgentinaIoni Bowcher RENEWAL
Ricardo V RutaAustraliaIoni Bowcher UNQUALIFIED
Darci V NickaFranceAmy Elsner UNQUALIFIED
Nicolas M GillianCanadaAnna Fali RENEWAL
Salvatore G AmigonFranceBernardo Dominic NEGOTIATION
Darci V CaldareraAustraliaAmy Elsner QUALIFIED
Ricardo H OldroydIndiaStephen Shaw NEW
Ashley Q FigeroaItalyElwin Sharvill NEW
Mayumi W InouyeFranceIoni Bowcher QUALIFIED
Aruna G RoysterBrazilXuxue Feng NEW
Cody W RoysterItalyIoni Bowcher UNQUALIFIED
Darci D KolmetzBrazilIvan Magalhaes NEW
Rodrigues Z FollerAustraliaElwin Sharvill NEW
Maria M KolmetzIndiaOnyama Limba PROPOSAL
Adams Z ShinkoSpainBernardo Dominic QUALIFIED
Nicolas P TollnerArgentinaOnyama Limba PROPOSAL
Stacey A DoeUnited KingdomAnna Fali UNQUALIFIED
Faith X MorascaUnited KingdomAmy Elsner RENEWAL
Octavia H CampainBrazilStephen Shaw NEGOTIATION
Jennifer M MaletRussiaStephen Shaw UNQUALIFIED
Alejandro E PerinFranceAmy Elsner PROPOSAL
Mayumi A DarakjySpainAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow N DilliardSpainXuxue Feng NEW
Smith E FollerJapanIvan Magalhaes QUALIFIED
Ashley D ChuiCanadaXuxue Feng UNQUALIFIED
Leon K SlusarskiCanadaStephen Shaw NEGOTIATION
Arvin O TollnerJapanIoni Bowcher UNQUALIFIED
Kaitlin Q BologniaJapanAmy Elsner UNQUALIFIED
Aika U ButtUnited KingdomIoni Bowcher QUALIFIED
Rodrigues S BowleyAustraliaAmy Elsner NEGOTIATION
Isabel S FigeroaBrazilIvan Magalhaes RENEWAL
Cody V PerinFranceOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi Z WhobreyUnited Kingdom2025-04-27Morlong Associates PROPOSAL77Ivan Magalhaes
1001Misaki X KuskoUnited Kingdom2025-04-05Truhlar And Truhlar Attys NEGOTIATION31Asiya Javayant
1002Ashley K InouyeSpain2025-04-19Feltz Printing Service PROPOSAL41Ivan Magalhaes
1003Isabel L RutaSpain2025-04-28Morlong Associates QUALIFIED53Asiya Javayant
1004Smith P MacleadArgentina2025-04-20Benton, John B Jr UNQUALIFIED11Asiya Javayant
1005Aika D MorascaUnited Kingdom2025-04-02Rousseaux, Michael Esq NEW98Stephen Shaw
1006Mujtaba I SaylorsItaly2025-04-14Benton, John B Jr QUALIFIED1Stephen Shaw
1007Faith F AlbaresItaly2025-04-10Buckley Miller Wright PROPOSAL86Bernardo Dominic
1008Antonio V StensethItaly2025-04-02Dorl, James J Esq NEGOTIATION89Anna Fali
1009Emily O FigeroaSpain2025-04-04Truhlar And Truhlar Attys PROPOSAL79Elwin Sharvill
1010Claire X KolmetzSpain2025-04-09Truhlar And Truhlar Attys RENEWAL79Elwin Sharvill
1011Adams Z AmigonItaly2025-04-13Printing Dimensions NEGOTIATION95Stephen Shaw
1012Jones B PaprockiSpain2025-04-27Feiner Bros NEW84Xuxue Feng
1013Ashley Z RulapaughIndia2025-04-05Chapman, Ross E Esq RENEWAL24Asiya Javayant
1014Nicolas C StockhamCanada2025-04-10King, Christopher A Esq PROPOSAL31Onyama Limba
1015Emily V CaudyAustralia2025-04-21Chemel, James L Cpa NEW4Xuxue Feng
1016Maisha P CampainIndia2025-04-05Dorl, James J Esq NEW35Amy Elsner
1017Faith C KuskoIndia2025-04-17Dorl, James J Esq NEGOTIATION41Amy Elsner
1018Kaitlin D MorascaUnited Kingdom2025-04-17Buckley Miller Wright QUALIFIED6Stephen Shaw
1019Juan W StensethJapan2025-04-12Rangoni Of Florence NEGOTIATION61Stephen Shaw
1020Ricardo P KolmetzArgentina2025-04-16Chapman, Ross E Esq QUALIFIED15Ioni Bowcher
1021Francesco K ShinkoBrazil2025-04-03Truhlar And Truhlar Attys RENEWAL23Amy Elsner
1022Munro Z RulapaughItaly2025-04-16King, Christopher A Esq NEGOTIATION77Xuxue Feng
1023Clifford W SlusarskiFrance2025-04-10Commercial Press NEW7Stephen Shaw
1024Stacey V MaletUnited Kingdom2025-04-12Chapman, Ross E Esq UNQUALIFIED52Stephen Shaw
1025James Z WhobreySpain2025-04-05Chanay, Jeffrey A Esq QUALIFIED16Amy Elsner
1026Cody C DoeRussia2025-04-12Rangoni Of Florence UNQUALIFIED93Asiya Javayant
1027Chavez A WaycottBrazil2025-04-27Dorl, James J Esq UNQUALIFIED99Xuxue Feng
1028Claire R BriddickIndia2025-04-04Buckley Miller Wright RENEWAL96Anna Fali
1029Leja N InouyeGermany2025-04-09Chapman, Ross E Esq QUALIFIED37Amy Elsner
1030Aditya S KolmetzCanada2025-04-17Rousseaux, Michael Esq PROPOSAL33Bernardo Dominic
1031Greenwood G MorascaCanada2025-04-20Chapman, Ross E Esq PROPOSAL70Bernardo Dominic
1032Arvin N BologniaCanada2025-04-26Printing Dimensions NEW99Asiya Javayant
1033Cody B SlusarskiRussia2025-05-01Chanay, Jeffrey A Esq RENEWAL98Amy Elsner
1034Greenwood Y NestleRussia2025-04-15King, Christopher A Esq RENEWAL33Amy Elsner
1035Francesco K InouyeIndia2025-04-14Chanay, Jeffrey A Esq RENEWAL53Onyama Limba
1036Nicolas H IturbideAustralia2025-04-14Truhlar And Truhlar Attys RENEWAL35Stephen Shaw
1037Antonio G DarakjyItaly2025-04-23Buckley Miller Wright UNQUALIFIED85Amy Elsner
1038Greenwood Z RulapaughFrance2025-04-18Buckley Miller Wright QUALIFIED33Asiya Javayant
1039James E RimJapan2025-04-28Morlong Associates RENEWAL23Elwin Sharvill
1040Faith G MacleadSpain2025-04-30Truhlar And Truhlar Attys NEW91Stephen Shaw
1041Cody U ButtAustralia2025-04-20Feiner Bros QUALIFIED88Elwin Sharvill
1042Ricardo O PaprockiAustralia2025-04-04Rangoni Of Florence NEGOTIATION17Asiya Javayant
1043Darci O StockhamAustralia2025-04-08Buckley Miller Wright QUALIFIED14Ioni Bowcher
1044Arvin T MarrierFrance2025-04-25Feiner Bros RENEWAL52Amy Elsner
1045Jefferson I IturbideArgentina2025-04-11Buckley Miller Wright PROPOSAL87Onyama Limba
1046Stacey Q SchemmerBrazil2025-04-20Chanay, Jeffrey A Esq RENEWAL31Ioni Bowcher
1047Leon F SchemmerIndia2025-04-04Chapman, Ross E Esq NEGOTIATION34Xuxue Feng
1048Stacey J TollnerUnited Kingdom2025-04-08Buckley Miller Wright PROPOSAL23Stephen Shaw
1049Faith Z SlusarskiIndia2025-04-15Rangoni Of Florence NEGOTIATION93Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Morrow Q NestleArgentinaElwin Sharvill NEGOTIATION
Isabel U CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Morrow A MaletFranceAsiya Javayant NEGOTIATION
Wickens N AlbaresRussiaElwin Sharvill UNQUALIFIED
Mujtaba J GarufiAustraliaXuxue Feng QUALIFIED
Deepesh I MacleadRussiaStephen Shaw UNQUALIFIED
Wickens L GauchoJapanOnyama Limba UNQUALIFIED
James K VocelkaItalyElwin Sharvill QUALIFIED
Alejandro U BowleySpainStephen Shaw NEW
Aditya Y WhobreyGermanyBernardo Dominic NEGOTIATION
Mayumi B VenereRussiaXuxue Feng NEW
Alejandro F CaldareraRussiaAsiya Javayant UNQUALIFIED
Aruna N PoquetteGermanyXuxue Feng PROPOSAL
Greenwood T BologniaItalyIoni Bowcher UNQUALIFIED
Darci S NestleIndiaStephen Shaw UNQUALIFIED
Ricardo K RoysterJapanBernardo Dominic NEGOTIATION
Francesco P MarrierItalyAsiya Javayant NEGOTIATION
Leon J RutaSpainOnyama Limba PROPOSAL
Stacey V RoysterCanadaAmy Elsner NEGOTIATION
Stacey L GillianCanadaIvan Magalhaes QUALIFIED
Mayumi H IturbideRussiaIvan Magalhaes NEW
Sinclair R SlusarskiIndiaAnna Fali NEGOTIATION
Adams U NestleAustraliaBernardo Dominic QUALIFIED
Jones C GarufiSpainElwin Sharvill UNQUALIFIED
Clifford W OstroskyFranceAsiya Javayant QUALIFIED
Johnson W GauchoBrazilAsiya Javayant PROPOSAL
Leon N SergiCanadaBernardo Dominic PROPOSAL
Maria Q SergiCanadaIoni Bowcher UNQUALIFIED
Clifford F MarrierFranceAnna Fali NEW
Julie K RoysterCanadaXuxue Feng NEW
Stacey S FlosiIndiaAsiya Javayant NEGOTIATION
Wickens I PaprockiRussiaAmy Elsner PROPOSAL
Francesco A MaletIndiaElwin Sharvill NEW
Faith C FerenczJapanXuxue Feng RENEWAL
Jeanfrancois D FlosiItalyIoni Bowcher RENEWAL
Ivar U ButtFranceAnna Fali PROPOSAL
Alejandro R KuskoGermanyBernardo Dominic QUALIFIED
Antonio D DarakjyAustraliaAsiya Javayant QUALIFIED
Ashley C FerenczRussiaStephen Shaw QUALIFIED
Cody A ButtSpainXuxue Feng UNQUALIFIED
Deepesh Y GlickBrazilBernardo Dominic RENEWAL
Cody D FlosiItalyBernardo Dominic UNQUALIFIED
Salvatore U BologniaCanadaAnna Fali PROPOSAL
Arvin N DilliardFranceAsiya Javayant UNQUALIFIED
Rodrigues B NickaGermanyAmy Elsner NEW
Cody I BowleyCanadaElwin Sharvill PROPOSAL
Stacey X DarakjyArgentinaAmy Elsner NEW
Jefferson X ChuiRussiaAmy Elsner UNQUALIFIED
Silvio M GillianUnited KingdomBernardo Dominic QUALIFIED
Smith U FigeroaAustraliaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Mayumi Q Marrier
Mujtaba M Dilliard
Claire H Perin
Stacey Y Doe
Aruna U Iturbide
Deepesh Z Whobrey
James C Gillian
Antonio V Campain
Chavez S Waycott
David U Ferencz
Kaitlin O Maclead
Arvin C Nestle
Misaki T Bolognia
Emily B Chui
Chavez S Malet
Greenwood P Foller
Aditya G Inouye
Munro J Paprocki
Jones O Tollner
David J Waycott
Aruna U Nicka
Silvio A Flosi
Kadeem U Gillian
Jefferson F Butt
Salvatore Q Vocelka
Kaitlin K Schemmer
Aditya P Briddick
Munro R Foller
Jones X Bowley
Cody I Ferencz
Octavia P Kolmetz
Kaitlin Q Inouye
Tony D Chui
Ricardo A Wieser
David H Malet
Aruna B Gaucho
Cody S Dilliard
Julie J Caldarera
Ivar M Perin
Izzy Y Vocelka
Faith V Briddick
Wickens E Malet
Faith Q Marrier
Antonio P Whobrey
Ricardo V Ferencz
Murillo N Oldroyd
Mujtaba M Gillian
Jefferson P Figeroa
Isabel A Ruta
Claire V Campain
IdCountryDate
1000United Kingdom2025-04-27
1001Argentina2025-04-03
1002Argentina2025-04-03
1003Australia2025-04-26
1004France2025-04-25
1005Russia2025-04-05
1006Argentina2025-04-28
1007India2025-04-28
1008Canada2025-04-18
1009Spain2025-04-07
1010Russia2025-05-01
1011Italy2025-04-22
1012Australia2025-04-27
1013France2025-04-26
1014Brazil2025-04-30
1015Germany2025-04-21
1016Japan2025-04-07
1017Australia2025-04-20
1018Spain2025-04-26
1019Italy2025-04-03
1020Brazil2025-04-21
1021United Kingdom2025-04-20
1022France2025-04-17
1023India2025-04-06
1024Spain2025-04-09
1025Germany2025-04-12
1026Brazil2025-04-14
1027United Kingdom2025-04-24
1028Japan2025-04-20
1029Australia2025-04-29
1030India2025-04-03
1031India2025-04-10
1032Russia2025-04-29
1033Australia2025-04-02
1034Japan2025-04-04
1035Japan2025-05-01
1036Brazil2025-04-05
1037Russia2025-04-21
1038India2025-04-27
1039Italy2025-04-07
1040Japan2025-04-23
1041Italy2025-04-19
1042Spain2025-04-24
1043India2025-04-15
1044Japan2025-04-24
1045Japan2025-04-05
1046Japan2025-04-12
1047Argentina2025-04-10
1048Russia2025-04-15
1049Spain2025-05-01

On-Demand Data

NameIdCountryDate
Costa L Morasca1000France2025-04-16
Stacey P Gillian1001Japan2025-04-18
Greenwood O Saylors1002India2025-04-03
Silvio N Sergi1003Spain2025-04-19
Tony O Kolmetz1004Russia2025-04-22
Faith M Garufi1005Japan2025-04-18
Maisha G Stockham1006Spain2025-04-25
Johnson C Bowley1007Japan2025-04-25
Murillo N Wieser1008Australia2025-04-27
Kaitlin M Flosi1009Brazil2025-04-11
Ashley P Poquette1010France2025-04-22
Isabel X Bowley1011Brazil2025-04-21
Tony C Flosi1012Brazil2025-04-16
Kadeem V Briddick1013Brazil2025-04-22
Jones N Albares1014France2025-04-13
Smith U Ferencz1015Argentina2025-04-26
Darci X Doe1016Brazil2025-04-16
Octavia J Nicka1017Italy2025-04-04
Jeanfrancois Y Stenseth1018Australia2025-04-26
Antonio F Poquette1019Brazil2025-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja D GarufiAustraliaIoni Bowcher PROPOSAL
Maisha G MacleadBrazilOnyama Limba RENEWAL
Kadeem W FollerFranceXuxue Feng NEGOTIATION
Antonio Q GillianIndiaIvan Magalhaes RENEWAL
Morrow O OstroskyFranceAsiya Javayant UNQUALIFIED
Ricardo U SchemmerCanadaXuxue Feng NEW
Deepesh V StockhamUnited KingdomXuxue Feng QUALIFIED
Jones Q RimCanadaAsiya Javayant RENEWAL
Rodrigues T SergiSpainOnyama Limba QUALIFIED
David W KolmetzAustraliaStephen Shaw QUALIFIED
Aditya Y BologniaBrazilIoni Bowcher UNQUALIFIED
Costa Z DarakjyBrazilElwin Sharvill NEW
James D WhobreyAustraliaAmy Elsner QUALIFIED
James B MaletJapanElwin Sharvill RENEWAL
Jefferson M FigeroaGermanyAmy Elsner PROPOSAL
Aruna A BologniaGermanyAmy Elsner NEGOTIATION
Deepesh J VocelkaJapanOnyama Limba UNQUALIFIED
Emily M CaldareraCanadaOnyama Limba PROPOSAL
Francesco Y MarrierIndiaAnna Fali RENEWAL
Aruna C PerinIndiaAnna Fali RENEWAL
Octavia M MaletBrazilStephen Shaw NEW
Stacey D DarakjyItalyAsiya Javayant QUALIFIED
Mujtaba R CaudyItalyIvan Magalhaes UNQUALIFIED
Ricardo F VocelkaIndiaStephen Shaw NEGOTIATION
Darci Q SergiUnited KingdomXuxue Feng NEW
David Z MorascaSpainBernardo Dominic RENEWAL
Deepesh Z OstroskySpainAsiya Javayant RENEWAL
Francesco N WhobreyIndiaStephen Shaw NEGOTIATION
Leja J MacleadGermanyOnyama Limba PROPOSAL
Arvin C NickaJapanAnna Fali PROPOSAL
Claire G WaycottCanadaAmy Elsner UNQUALIFIED
Kadeem X CampainCanadaOnyama Limba NEW
Arvin B ButtSpainBernardo Dominic NEW
Smith G ButtBrazilIvan Magalhaes PROPOSAL
Maisha A ChuiAustraliaAmy Elsner NEGOTIATION
James S ShinkoIndiaOnyama Limba PROPOSAL
Rodrigues F GarufiRussiaAsiya Javayant RENEWAL
Nicolas O StensethIndiaOnyama Limba QUALIFIED
Emily T PoquetteJapanIvan Magalhaes NEW
Leon H VenereUnited KingdomIoni Bowcher RENEWAL

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