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
Aika W MaletGermanyXuxue Feng QUALIFIED
Alejandro S OstroskyUnited KingdomOnyama Limba PROPOSAL
Juan B ButtAustraliaIoni Bowcher RENEWAL
Murillo L FlosiUnited KingdomXuxue Feng RENEWAL
Johnson Y FerenczBrazilStephen Shaw NEW
Julie A VenereBrazilBernardo Dominic UNQUALIFIED
Aditya A WhobreyRussiaXuxue Feng RENEWAL
Juan T KolmetzItalyStephen Shaw QUALIFIED
Murillo M SlusarskiIndiaAnna Fali PROPOSAL
Morrow D RoysterFranceElwin Sharvill QUALIFIED
Juan A MaletFranceOnyama Limba RENEWAL
Maria V DoeFranceElwin Sharvill RENEWAL
Ashley P ButtBrazilElwin Sharvill RENEWAL
Claire F KuskoRussiaIoni Bowcher NEW
Isabel E WaycottSpainXuxue Feng UNQUALIFIED
Ricardo S OstroskyRussiaAsiya Javayant RENEWAL
Leja J FigeroaJapanStephen Shaw NEW
Cody G AlbaresFranceBernardo Dominic UNQUALIFIED
Isabel S OstroskyGermanyOnyama Limba PROPOSAL
Rodrigues C WieserCanadaElwin Sharvill PROPOSAL
Smith D NickaJapanIoni Bowcher NEW
Johnson Z WieserCanadaElwin Sharvill NEW
Misaki H RoysterJapanStephen Shaw NEGOTIATION
Jeanfrancois A PerinJapanOnyama Limba NEW
Johnson P OldroydBrazilBernardo Dominic UNQUALIFIED
Claire A GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas B PoquetteAustraliaIvan Magalhaes RENEWAL
Misaki G RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Greenwood E ButtArgentinaAsiya Javayant PROPOSAL
Julie G OldroydCanadaAsiya Javayant QUALIFIED
Johnson U CaldareraCanadaAsiya Javayant NEGOTIATION
Tony A MaletJapanBernardo Dominic UNQUALIFIED
Clifford Q ShinkoCanadaElwin Sharvill NEW
Faith N CampainItalyElwin Sharvill NEGOTIATION
Ashley V MaletAustraliaAnna Fali NEW
Rodrigues W DilliardArgentinaAnna Fali PROPOSAL
Misaki X GillianArgentinaAsiya Javayant NEGOTIATION
Munro F ButtAustraliaIvan Magalhaes RENEWAL
Alejandro U NickaSpainElwin Sharvill UNQUALIFIED
Juan G CaldareraUnited KingdomAsiya Javayant QUALIFIED
Ashley U MaletJapanIvan Magalhaes RENEWAL
Munro Z PaprockiItalyAnna Fali QUALIFIED
Tony G VocelkaGermanyElwin Sharvill UNQUALIFIED
Ricardo S BriddickJapanElwin Sharvill RENEWAL
Leja F GarufiAustraliaIvan Magalhaes RENEWAL
Munro R KuskoIndiaBernardo Dominic PROPOSAL
Julie N FollerSpainBernardo Dominic PROPOSAL
Morrow E PaprockiCanadaAnna Fali PROPOSAL
Wickens S BriddickGermanyElwin Sharvill NEGOTIATION
Jefferson U AmigonItalyIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair I WhobreyArgentinaAnna Fali PROPOSAL
Alejandro D CaldareraIndiaOnyama Limba QUALIFIED
Greenwood F GarufiCanadaIoni Bowcher QUALIFIED
Chavez T GillianArgentinaOnyama Limba PROPOSAL
Sinclair X VenereItalyBernardo Dominic UNQUALIFIED
Jeanfrancois A CaudyGermanyAsiya Javayant UNQUALIFIED
Maria M MacleadUnited KingdomIvan Magalhaes PROPOSAL
Silvio J SaylorsGermanyBernardo Dominic NEW
Jennifer Y FollerFranceXuxue Feng UNQUALIFIED
Salvatore C BowleyRussiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith J FollerRussia2025-05-25Commercial Press RENEWAL3Stephen Shaw
1001Aditya K DilliardArgentina2025-05-29Chanay, Jeffrey A Esq NEGOTIATION3Ivan Magalhaes
1002Nicolas Z WaycottFrance2025-05-25Feltz Printing Service PROPOSAL56Amy Elsner
1003Sinclair Z CampainSpain2025-05-06Commercial Press QUALIFIED38Xuxue Feng
1004Tony L BowleyCanada2025-05-05Morlong Associates QUALIFIED77Ivan Magalhaes
1005Octavia E FigeroaArgentina2025-05-03Feltz Printing Service NEGOTIATION24Amy Elsner
1006Rodrigues M ChuiGermany2025-05-19Commercial Press NEW11Asiya Javayant
1007Aika F MarrierJapan2025-05-16Feltz Printing Service NEGOTIATION31Onyama Limba
1008Silvio Z StockhamRussia2025-05-03King, Christopher A Esq QUALIFIED51Amy Elsner
1009Mujtaba Q GillianUnited Kingdom2025-05-04Benton, John B Jr UNQUALIFIED42Onyama Limba
1010Cody N GarufiItaly2025-05-21Commercial Press NEGOTIATION84Bernardo Dominic
1011Alejandro H RutaJapan2025-05-13Chapman, Ross E Esq NEW62Amy Elsner
1012Silvio I GlickAustralia2025-05-26Commercial Press NEW73Elwin Sharvill
1013Misaki J PaprockiGermany2025-05-18Chapman, Ross E Esq PROPOSAL13Xuxue Feng
1014Nicolas K NestleRussia2025-05-19Buckley Miller Wright RENEWAL40Ioni Bowcher
1015Greenwood Q WhobreyFrance2025-05-23King, Christopher A Esq UNQUALIFIED14Asiya Javayant
1016Leja V RutaCanada2025-05-12Benton, John B Jr UNQUALIFIED62Elwin Sharvill
1017Ashley A SergiCanada2025-05-19King, Christopher A Esq UNQUALIFIED65Stephen Shaw
1018Murillo U MacleadIndia2025-05-20Feiner Bros QUALIFIED77Xuxue Feng
1019Rodrigues S AlbaresCanada2025-05-20Buckley Miller Wright RENEWAL13Elwin Sharvill
1020Aruna V PoquetteJapan2025-05-28Buckley Miller Wright UNQUALIFIED22Ioni Bowcher
1021Mujtaba Z TollnerItaly2025-05-11Morlong Associates UNQUALIFIED6Anna Fali
1022Clifford U MorascaItaly2025-05-08Chanay, Jeffrey A Esq PROPOSAL20Xuxue Feng
1023Faith W GarufiArgentina2025-05-25Rangoni Of Florence NEGOTIATION90Bernardo Dominic
1024Aruna D InouyeJapan2025-05-19Chemel, James L Cpa NEW52Elwin Sharvill
1025Morrow U KolmetzCanada2025-05-08Feiner Bros NEW73Stephen Shaw
1026Wickens F ChuiJapan2025-05-21Commercial Press NEGOTIATION68Onyama Limba
1027Costa V KolmetzJapan2025-05-05Chapman, Ross E Esq NEW60Stephen Shaw
1028Izzy D WhobreyIndia2025-05-16Truhlar And Truhlar Attys NEW19Anna Fali
1029Aditya Y StockhamUnited Kingdom2025-05-19Printing Dimensions NEW88Anna Fali
1030Izzy N CaldareraArgentina2025-05-13Feltz Printing Service PROPOSAL10Xuxue Feng
1031Maisha S CaldareraArgentina2025-05-07Buckley Miller Wright NEW31Asiya Javayant
1032Juan F SchemmerItaly2025-05-18Commercial Press RENEWAL63Amy Elsner
1033Faith A InouyeCanada2025-05-10King, Christopher A Esq NEGOTIATION36Stephen Shaw
1034Claire V BowleyRussia2025-05-12Morlong Associates NEGOTIATION13Ioni Bowcher
1035Jeanfrancois W PaprockiIndia2025-05-27Buckley Miller Wright NEGOTIATION98Elwin Sharvill
1036Emily F SergiRussia2025-05-31Chanay, Jeffrey A Esq NEW5Xuxue Feng
1037Cody E BriddickSpain2025-05-23Commercial Press QUALIFIED45Elwin Sharvill
1038Darci C CaldareraSpain2025-05-05Dorl, James J Esq NEW84Asiya Javayant
1039Kadeem J RulapaughBrazil2025-05-15Rousseaux, Michael Esq NEW63Ioni Bowcher
1040Darci S KuskoUnited Kingdom2025-05-06Commercial Press UNQUALIFIED46Asiya Javayant
1041Kaitlin I PoquetteAustralia2025-05-20Chemel, James L Cpa NEGOTIATION13Amy Elsner
1042Wickens K WieserSpain2025-05-20Feiner Bros NEGOTIATION53Xuxue Feng
1043Julie B TollnerFrance2025-05-26Commercial Press PROPOSAL64Anna Fali
1044Clifford X CampainBrazil2025-05-20Rousseaux, Michael Esq PROPOSAL7Elwin Sharvill
1045Chavez J SlusarskiCanada2025-05-29King, Christopher A Esq NEGOTIATION9Ivan Magalhaes
1046Chavez N IturbideRussia2025-05-10Buckley Miller Wright QUALIFIED99Amy Elsner
1047Arvin U PoquetteBrazil2025-05-25King, Christopher A Esq NEGOTIATION0Onyama Limba
1048Costa R RimGermany2025-05-14King, Christopher A Esq NEGOTIATION2Onyama Limba
1049Juan X VocelkaGermany2025-05-27Feltz Printing Service PROPOSAL8Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Salvatore Q PaprockiItalyBernardo Dominic UNQUALIFIED
Jones Y DarakjyItalyStephen Shaw PROPOSAL
Mayumi N PerinArgentinaStephen Shaw NEGOTIATION
Smith F FlosiArgentinaIoni Bowcher NEGOTIATION
Wickens T SchemmerJapanIvan Magalhaes QUALIFIED
Isabel L PoquetteSpainIvan Magalhaes NEW
Isabel J WaycottRussiaIvan Magalhaes NEGOTIATION
Octavia Z SaylorsIndiaBernardo Dominic QUALIFIED
Jennifer F CaudyRussiaElwin Sharvill PROPOSAL
Clifford T RulapaughAustraliaOnyama Limba RENEWAL
Tony M SchemmerSpainAmy Elsner UNQUALIFIED
Ashley E GillianIndiaAnna Fali PROPOSAL
Misaki X MarrierRussiaXuxue Feng NEW
Leja P FigeroaBrazilElwin Sharvill QUALIFIED
Aruna J CaldareraAustraliaStephen Shaw PROPOSAL
Ivar M KolmetzJapanBernardo Dominic QUALIFIED
Claire S BowleyBrazilXuxue Feng RENEWAL
Murillo K WaycottFranceStephen Shaw NEW
Octavia Q SaylorsBrazilAsiya Javayant NEW
Sinclair U GauchoSpainBernardo Dominic UNQUALIFIED
Smith Q CaudyGermanyXuxue Feng NEGOTIATION
Chavez C IturbideFranceXuxue Feng UNQUALIFIED
Emily L ChuiSpainIvan Magalhaes NEW
Jennifer X OstroskyFranceElwin Sharvill UNQUALIFIED
Darci K CaldareraIndiaXuxue Feng NEGOTIATION
Costa B VocelkaItalyAnna Fali UNQUALIFIED
Tony Q MaletRussiaElwin Sharvill PROPOSAL
Murillo H MarrierSpainXuxue Feng NEW
Stacey B CampainSpainStephen Shaw UNQUALIFIED
Misaki H WaycottGermanyOnyama Limba QUALIFIED
Johnson N ChuiItalyIvan Magalhaes RENEWAL
Jones J RulapaughItalyStephen Shaw PROPOSAL
Darci W StensethAustraliaStephen Shaw QUALIFIED
Stacey Q PaprockiJapanElwin Sharvill NEGOTIATION
Nicolas U BriddickRussiaAmy Elsner RENEWAL
Jennifer X RulapaughGermanyXuxue Feng PROPOSAL
Emily I RutaGermanyAnna Fali PROPOSAL
Emily Y RoysterFranceIvan Magalhaes RENEWAL
Ashley O VenereBrazilStephen Shaw PROPOSAL
Antonio K VocelkaSpainBernardo Dominic RENEWAL
Arvin Z RulapaughAustraliaElwin Sharvill RENEWAL
Deepesh G StockhamSpainAsiya Javayant QUALIFIED
Greenwood E VocelkaGermanyIvan Magalhaes QUALIFIED
Deepesh Y GillianUnited KingdomBernardo Dominic QUALIFIED
Emily T DilliardRussiaAnna Fali NEGOTIATION
Arvin M MarrierJapanAsiya Javayant RENEWAL
Maisha N AmigonBrazilAmy Elsner PROPOSAL
Ricardo M KolmetzUnited KingdomOnyama Limba PROPOSAL
Leja Y OstroskyJapanElwin Sharvill UNQUALIFIED
Cody X AlbaresGermanyAmy Elsner QUALIFIED
Frozen Columns
Name
Maisha X Albares
Kadeem R Shinko
Emily M Kolmetz
James Q Rulapaugh
Murillo B Caudy
Morrow N Whobrey
Morrow D Amigon
Claire P Perin
Jennifer N Darakjy
Ashley T Amigon
Salvatore H Bowley
Nicolas Z Malet
Aruna X Kusko
Ricardo M Morasca
Izzy R Saylors
Rodrigues N Wieser
Aika A Schemmer
Silvio S Paprocki
Aika S Oldroyd
David B Oldroyd
Morrow Z Maclead
Jefferson M Darakjy
Clifford E Foller
David D Flosi
Claire O Bowley
Munro W Kusko
Misaki Q Kolmetz
Mujtaba Y Saylors
Mayumi K Caldarera
Misaki I Flosi
Octavia Q Tollner
Arvin A Shinko
Adams W Darakjy
Octavia V Albares
Clifford R Perin
Aruna E Venere
Ricardo B Figeroa
Aditya D Paprocki
Emily A Nicka
Tony H Figeroa
Jefferson Z Oldroyd
Cody D Chui
Claire B Iturbide
Kadeem H Caldarera
Kadeem C Nestle
Clifford S Dilliard
Deepesh L Stockham
Rodrigues U Gillian
Johnson Q Stockham
Sinclair B Perin
IdCountryDate
1000Australia2025-05-09
1001Italy2025-05-03
1002France2025-05-29
1003United Kingdom2025-05-07
1004Germany2025-05-18
1005France2025-05-21
1006Italy2025-05-14
1007Canada2025-05-04
1008Japan2025-05-28
1009Canada2025-05-19
1010Japan2025-05-19
1011Spain2025-05-19
1012Germany2025-05-04
1013Russia2025-05-11
1014Canada2025-05-03
1015Australia2025-05-22
1016Australia2025-05-17
1017Spain2025-05-15
1018Russia2025-05-10
1019Spain2025-05-19
1020France2025-05-12
1021Australia2025-05-25
1022Argentina2025-05-12
1023Australia2025-05-16
1024Italy2025-05-27
1025United Kingdom2025-05-05
1026Spain2025-05-11
1027Russia2025-05-17
1028Canada2025-05-24
1029Brazil2025-05-27
1030Russia2025-05-31
1031Brazil2025-05-28
1032Italy2025-05-28
1033United Kingdom2025-05-24
1034Russia2025-05-24
1035Germany2025-05-04
1036Germany2025-05-30
1037Italy2025-05-20
1038Germany2025-05-15
1039Australia2025-05-28
1040Canada2025-05-08
1041India2025-05-23
1042United Kingdom2025-05-21
1043Spain2025-05-21
1044Brazil2025-05-15
1045Spain2025-05-03
1046Germany2025-05-07
1047Japan2025-05-24
1048United Kingdom2025-05-23
1049Brazil2025-05-18

On-Demand Data

NameIdCountryDate
Rodrigues O Butt1000France2025-05-22
Smith M Slusarski1001Spain2025-05-02
Julie V Saylors1002United Kingdom2025-05-26
Ivar S Sergi1003Australia2025-05-16
Stacey B Malet1004Brazil2025-05-11
Aditya B Chui1005Spain2025-05-04
David Q Ruta1006Australia2025-05-29
Octavia Y Caudy1007Australia2025-05-10
Jefferson D Stockham1008Italy2025-05-28
Adams H Paprocki1009Spain2025-05-10
Chavez Q Gaucho1010Italy2025-05-16
Antonio L Nicka1011United Kingdom2025-05-09
Ashley U Shinko1012Canada2025-05-09
Rodrigues E Briddick1013Russia2025-05-26
Stacey T Morasca1014Germany2025-05-17
Murillo G Rim1015Argentina2025-05-27
Mayumi D Bowley1016Canada2025-05-15
Cody T Saylors1017Australia2025-05-04
Octavia V Schemmer1018Australia2025-05-21
Faith U Stockham1019Argentina2025-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody M MaletCanadaAmy Elsner NEW
Chavez J DilliardUnited KingdomXuxue Feng NEW
Aruna P FigeroaGermanyIvan Magalhaes UNQUALIFIED
Ivar G BowleyArgentinaIoni Bowcher NEGOTIATION
Juan H InouyeSpainBernardo Dominic NEGOTIATION
Kaitlin R WieserJapanIoni Bowcher PROPOSAL
Emily K MarrierArgentinaAnna Fali QUALIFIED
Adams A BowleyUnited KingdomIoni Bowcher NEGOTIATION
Leon Q SchemmerAustraliaAmy Elsner PROPOSAL
Mayumi W InouyeItalyXuxue Feng RENEWAL
Claire Z NestleAustraliaStephen Shaw RENEWAL
Munro K KolmetzSpainIoni Bowcher PROPOSAL
Wickens U DilliardBrazilIvan Magalhaes UNQUALIFIED
Kaitlin J WieserAustraliaIvan Magalhaes PROPOSAL
Arvin V PerinRussiaIvan Magalhaes RENEWAL
Faith V RoysterBrazilElwin Sharvill QUALIFIED
Smith V TollnerJapanXuxue Feng NEGOTIATION
Kadeem Y AlbaresItalyElwin Sharvill NEGOTIATION
Darci P RutaIndiaXuxue Feng UNQUALIFIED
Costa S RoysterRussiaIvan Magalhaes PROPOSAL
Nicolas A GlickArgentinaXuxue Feng PROPOSAL
Antonio V PaprockiGermanyOnyama Limba NEGOTIATION
Francesco S SaylorsArgentinaIvan Magalhaes NEGOTIATION
Smith T VocelkaJapanAmy Elsner PROPOSAL
James I OldroydJapanIoni Bowcher QUALIFIED
Deepesh B MaletAustraliaBernardo Dominic NEGOTIATION
Faith Y PoquetteAustraliaXuxue Feng QUALIFIED
Antonio T BriddickFranceXuxue Feng NEGOTIATION
Jones J MaletRussiaAnna Fali UNQUALIFIED
Johnson E InouyeArgentinaIoni Bowcher NEGOTIATION
Deepesh Z DarakjyAustraliaAsiya Javayant UNQUALIFIED
Johnson H RutaItalyElwin Sharvill UNQUALIFIED
Ivar Y OstroskyItalyBernardo Dominic NEW
Maisha R KolmetzFranceBernardo Dominic PROPOSAL
Greenwood B VenereAustraliaAmy Elsner RENEWAL
Maisha Z BowleyIndiaXuxue Feng PROPOSAL
Maisha H IturbideIndiaXuxue Feng RENEWAL
Faith L BowleyAustraliaAmy Elsner UNQUALIFIED
Leon D MorascaFranceElwin Sharvill PROPOSAL
Maria F CampainArgentinaAmy Elsner 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>