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
Stacey M AmigonItalyAmy Elsner PROPOSAL
Kaitlin J InouyeArgentinaAsiya Javayant NEW
Aika P InouyeFranceIoni Bowcher NEGOTIATION
Leon G FigeroaRussiaXuxue Feng PROPOSAL
Smith F OldroydJapanIoni Bowcher RENEWAL
Antonio N InouyeSpainIoni Bowcher NEW
James A RimGermanyOnyama Limba RENEWAL
Wickens X CaldareraBrazilAnna Fali RENEWAL
James D PaprockiGermanyIoni Bowcher NEGOTIATION
Sinclair O StensethUnited KingdomAsiya Javayant NEGOTIATION
Wickens E SaylorsJapanElwin Sharvill PROPOSAL
Mayumi O KolmetzJapanAsiya Javayant UNQUALIFIED
Wickens V NickaSpainOnyama Limba UNQUALIFIED
Ivar A CaldareraSpainAsiya Javayant QUALIFIED
Costa E FlosiUnited KingdomStephen Shaw PROPOSAL
Arvin Q AlbaresItalyBernardo Dominic NEGOTIATION
Ricardo Z GarufiJapanXuxue Feng PROPOSAL
Claire T FerenczSpainAmy Elsner UNQUALIFIED
Emily H GauchoFranceElwin Sharvill RENEWAL
Misaki C CaldareraSpainOnyama Limba QUALIFIED
Maisha C RulapaughUnited KingdomAnna Fali PROPOSAL
Kadeem U RulapaughGermanyBernardo Dominic NEW
Sinclair P FerenczItalyOnyama Limba RENEWAL
Jones S DarakjyAustraliaStephen Shaw RENEWAL
Rodrigues S RoysterCanadaXuxue Feng QUALIFIED
Maria I OldroydGermanyElwin Sharvill NEGOTIATION
Francesco H GarufiItalyIoni Bowcher NEGOTIATION
Alejandro E FigeroaGermanyIvan Magalhaes NEW
Darci T VocelkaAustraliaStephen Shaw NEW
Nicolas E DarakjyGermanyStephen Shaw NEGOTIATION
Isabel X GillianBrazilIoni Bowcher RENEWAL
Kaitlin R RoysterAustraliaAnna Fali PROPOSAL
Silvio A WhobreyUnited KingdomOnyama Limba NEW
Cody Q MaletCanadaBernardo Dominic RENEWAL
Adams L OldroydBrazilAnna Fali RENEWAL
Deepesh G KolmetzGermanyIoni Bowcher NEW
Salvatore G PaprockiIndiaXuxue Feng RENEWAL
Rodrigues O CaldareraJapanIoni Bowcher RENEWAL
Smith R MacleadJapanStephen Shaw PROPOSAL
Chavez X StensethRussiaIoni Bowcher NEW
Johnson R GarufiBrazilXuxue Feng NEW
Stacey Q PerinCanadaStephen Shaw UNQUALIFIED
Antonio F RutaUnited KingdomAsiya Javayant PROPOSAL
Sinclair V GauchoCanadaElwin Sharvill PROPOSAL
Rodrigues O BriddickItalyIvan Magalhaes NEGOTIATION
Adams E WhobreyJapanElwin Sharvill NEGOTIATION
Adams L FollerRussiaOnyama Limba RENEWAL
Sinclair L VenereArgentinaAsiya Javayant QUALIFIED
Greenwood I StensethIndiaBernardo Dominic NEW
Greenwood G FerenczGermanyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith O OldroydFranceElwin Sharvill NEGOTIATION
Aditya T KolmetzGermanyIoni Bowcher NEGOTIATION
Arvin G MacleadItalyIoni Bowcher QUALIFIED
Jefferson D PerinArgentinaStephen Shaw UNQUALIFIED
Nicolas Z SlusarskiAustraliaOnyama Limba NEW
Isabel T ChuiAustraliaAsiya Javayant QUALIFIED
Claire K VocelkaSpainAmy Elsner UNQUALIFIED
Rodrigues N OldroydGermanyXuxue Feng RENEWAL
Izzy H CaudyArgentinaBernardo Dominic RENEWAL
Murillo V CaldareraBrazilIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci Q WieserJapan2024-06-16King, Christopher A Esq NEW73Stephen Shaw
1001Francesco Z GauchoAustralia2024-06-10Feiner Bros UNQUALIFIED98Ivan Magalhaes
1002Rodrigues M GlickBrazil2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED76Asiya Javayant
1003Aruna I MorascaBrazil2024-06-22Truhlar And Truhlar Attys UNQUALIFIED2Ivan Magalhaes
1004Costa G OstroskyUnited Kingdom2024-06-21Morlong Associates NEGOTIATION31Amy Elsner
1005James D FlosiItaly2024-06-03Truhlar And Truhlar Attys QUALIFIED61Amy Elsner
1006Mayumi Z ButtItaly2024-06-01Chemel, James L Cpa NEW35Onyama Limba
1007Alejandro Z RimItaly2024-06-21Printing Dimensions NEW38Amy Elsner
1008Sinclair M PerinIndia2024-05-31Rangoni Of Florence QUALIFIED76Onyama Limba
1009Juan L MorascaIndia2024-06-14Buckley Miller Wright PROPOSAL88Ioni Bowcher
1010Claire H VenereGermany2024-06-07Feiner Bros PROPOSAL33Amy Elsner
1011Octavia W GillianUnited Kingdom2024-05-30Commercial Press NEW12Onyama Limba
1012Adams R IturbideGermany2024-06-10Feiner Bros NEW91Ioni Bowcher
1013Aika P MorascaAustralia2024-06-20Rousseaux, Michael Esq PROPOSAL74Ioni Bowcher
1014Leja W TollnerJapan2024-06-01Rousseaux, Michael Esq RENEWAL30Ivan Magalhaes
1015Ivar T MaletFrance2024-06-22Chemel, James L Cpa NEGOTIATION55Anna Fali
1016Wickens B GlickSpain2024-05-24Benton, John B Jr RENEWAL68Xuxue Feng
1017Arvin P PoquetteUnited Kingdom2024-06-13Buckley Miller Wright UNQUALIFIED39Xuxue Feng
1018Jones M MorascaJapan2024-06-21Chemel, James L Cpa UNQUALIFIED78Asiya Javayant
1019Tony K KolmetzArgentina2024-06-16Printing Dimensions RENEWAL55Ioni Bowcher
1020Munro D TollnerFrance2024-06-07Rousseaux, Michael Esq RENEWAL95Amy Elsner
1021Maisha Y StensethAustralia2024-06-17Chanay, Jeffrey A Esq QUALIFIED86Anna Fali
1022Kaitlin T NickaIndia2024-06-01Printing Dimensions NEGOTIATION39Onyama Limba
1023Clifford O FollerIndia2024-05-29Feltz Printing Service PROPOSAL22Bernardo Dominic
1024Salvatore J KolmetzFrance2024-05-29Rousseaux, Michael Esq QUALIFIED24Elwin Sharvill
1025Ashley X RulapaughUnited Kingdom2024-05-29Commercial Press UNQUALIFIED62Ioni Bowcher
1026Cody Z ShinkoArgentina2024-06-01Rousseaux, Michael Esq UNQUALIFIED57Xuxue Feng
1027Silvio I BriddickJapan2024-05-31Feiner Bros UNQUALIFIED95Ioni Bowcher
1028Maria R AmigonJapan2024-06-21Feltz Printing Service NEGOTIATION7Xuxue Feng
1029Johnson V ButtAustralia2024-06-18Chemel, James L Cpa QUALIFIED39Bernardo Dominic
1030Ricardo I CaudyFrance2024-05-24Chemel, James L Cpa RENEWAL57Xuxue Feng
1031Costa W WieserAustralia2024-06-16Chanay, Jeffrey A Esq QUALIFIED85Xuxue Feng
1032Francesco Z DilliardBrazil2024-06-12Rousseaux, Michael Esq RENEWAL43Elwin Sharvill
1033Cody J MarrierFrance2024-06-10Dorl, James J Esq RENEWAL9Asiya Javayant
1034Isabel K RoysterItaly2024-05-27Feltz Printing Service NEW24Onyama Limba
1035Ashley Q VocelkaSpain2024-06-09Printing Dimensions PROPOSAL51Stephen Shaw
1036Francesco K GillianArgentina2024-06-13Rousseaux, Michael Esq PROPOSAL77Elwin Sharvill
1037Deepesh K CaldareraBrazil2024-06-04Printing Dimensions PROPOSAL38Bernardo Dominic
1038Smith B FerenczSpain2024-06-04Commercial Press UNQUALIFIED29Ioni Bowcher
1039David D MarrierIndia2024-06-05Printing Dimensions PROPOSAL28Anna Fali
1040Juan B FerenczUnited Kingdom2024-06-05Chapman, Ross E Esq QUALIFIED86Xuxue Feng
1041Jennifer F WieserFrance2024-06-04Truhlar And Truhlar Attys NEW50Bernardo Dominic
1042Leon J DarakjyAustralia2024-06-10Feltz Printing Service UNQUALIFIED22Ioni Bowcher
1043Leon A SchemmerUnited Kingdom2024-06-05Commercial Press PROPOSAL45Asiya Javayant
1044Morrow Y GauchoAustralia2024-06-21Commercial Press UNQUALIFIED65Ioni Bowcher
1045Nicolas Y FigeroaBrazil2024-05-29Benton, John B Jr RENEWAL0Ivan Magalhaes
1046James I GauchoGermany2024-06-01Rangoni Of Florence RENEWAL54Stephen Shaw
1047Silvio T CaudyBrazil2024-06-20Buckley Miller Wright NEW88Asiya Javayant
1048Maria B WhobreySpain2024-06-02Morlong Associates UNQUALIFIED43Asiya Javayant
1049Ivar X KuskoArgentina2024-06-13Buckley Miller Wright RENEWAL31Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Murillo V BologniaUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba M SaylorsCanadaBernardo Dominic UNQUALIFIED
Wickens H StensethAustraliaAnna Fali UNQUALIFIED
Smith X RutaIndiaAsiya Javayant QUALIFIED
Cody K FerenczSpainElwin Sharvill NEGOTIATION
Chavez W PerinGermanyAnna Fali UNQUALIFIED
Ashley P VocelkaUnited KingdomStephen Shaw PROPOSAL
David Y MaletItalyAmy Elsner UNQUALIFIED
Aika U NickaRussiaAmy Elsner NEW
Rodrigues L ShinkoSpainIvan Magalhaes PROPOSAL
Jennifer O OldroydRussiaElwin Sharvill RENEWAL
Claire S WaycottJapanIvan Magalhaes PROPOSAL
Ivar G RoysterUnited KingdomBernardo Dominic UNQUALIFIED
Izzy P NestleItalyIvan Magalhaes NEW
Octavia P SaylorsJapanAsiya Javayant PROPOSAL
Leon X VocelkaItalyOnyama Limba QUALIFIED
Ricardo J RutaIndiaStephen Shaw NEW
Kadeem Q OldroydArgentinaAmy Elsner QUALIFIED
James H RulapaughIndiaBernardo Dominic QUALIFIED
Kaitlin N SlusarskiAustraliaAnna Fali QUALIFIED
Chavez I RimAustraliaBernardo Dominic PROPOSAL
Claire M PoquetteBrazilStephen Shaw NEGOTIATION
Munro G CaldareraArgentinaOnyama Limba NEW
Ashley G StockhamArgentinaAmy Elsner QUALIFIED
Chavez K CaldareraItalyAsiya Javayant NEW
Julie K OstroskyArgentinaAmy Elsner NEW
Jennifer C BriddickUnited KingdomBernardo Dominic UNQUALIFIED
Ashley X RutaGermanyBernardo Dominic NEW
Octavia F SaylorsSpainAmy Elsner QUALIFIED
Tony E NickaSpainIvan Magalhaes NEW
Octavia U KuskoAustraliaBernardo Dominic PROPOSAL
Salvatore Y AlbaresCanadaIoni Bowcher NEW
Silvio U KuskoBrazilBernardo Dominic NEGOTIATION
Chavez U CampainUnited KingdomBernardo Dominic NEGOTIATION
Darci R GarufiSpainStephen Shaw QUALIFIED
Salvatore Z FerenczArgentinaXuxue Feng RENEWAL
David F PaprockiAustraliaStephen Shaw UNQUALIFIED
Juan Z RutaJapanIoni Bowcher NEGOTIATION
Ivar G PoquetteRussiaStephen Shaw UNQUALIFIED
Silvio K NestleJapanXuxue Feng PROPOSAL
Sinclair C RimIndiaElwin Sharvill PROPOSAL
Salvatore U GauchoGermanyAmy Elsner NEGOTIATION
Nicolas H VenereIndiaAsiya Javayant QUALIFIED
Sinclair K FerenczJapanXuxue Feng UNQUALIFIED
Darci K PerinSpainBernardo Dominic RENEWAL
Clifford A DoeRussiaAnna Fali PROPOSAL
Munro C MorascaIndiaIvan Magalhaes NEGOTIATION
David P RimArgentinaStephen Shaw QUALIFIED
Alejandro L FigeroaIndiaStephen Shaw UNQUALIFIED
Alejandro T ChuiCanadaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Ivar V Kusko
Costa Z Rulapaugh
Isabel V Venere
Adams Z Iturbide
David D Maclead
Kadeem B Royster
Johnson M Flosi
Sinclair K Schemmer
Salvatore U Wieser
David W Schemmer
Adams Z Venere
Francesco B Gaucho
Alejandro W Chui
Deepesh K Schemmer
Jones V Oldroyd
Alejandro C Stenseth
Leon N Gaucho
Julie H Shinko
Darci K Schemmer
Isabel K Darakjy
Ricardo R Rim
Antonio Z Sergi
Nicolas K Chui
Aditya S Schemmer
Antonio Q Royster
Faith A Saylors
Rodrigues F Bowley
Jones J Gaucho
Stacey J Sergi
Kadeem L Albares
Salvatore N Wieser
Maisha R Nestle
Greenwood V Sergi
Isabel T Figeroa
Kadeem U Amigon
Jennifer R Bolognia
Claire N Chui
Smith X Waycott
David B Bowley
Stacey R Caudy
Silvio U Butt
Silvio O Stockham
Kadeem D Glick
Leja Q Amigon
Johnson T Ostrosky
Jefferson O Malet
Claire V Glick
Maisha Z Ruta
Silvio I Vocelka
Isabel Q Nicka
IdCountryDate
1000Russia2024-06-06
1001Spain2024-05-24
1002Brazil2024-06-17
1003Germany2024-06-17
1004Germany2024-05-24
1005Italy2024-06-16
1006Argentina2024-06-02
1007Argentina2024-05-29
1008Spain2024-06-13
1009France2024-06-12
1010Japan2024-06-15
1011Japan2024-05-24
1012Argentina2024-06-07
1013India2024-06-18
1014Argentina2024-06-14
1015Russia2024-05-24
1016Spain2024-06-06
1017France2024-05-27
1018Brazil2024-06-21
1019Argentina2024-05-31
1020Argentina2024-06-16
1021Japan2024-06-07
1022United Kingdom2024-05-24
1023Argentina2024-06-20
1024France2024-05-27
1025India2024-06-22
1026United Kingdom2024-05-31
1027Spain2024-06-09
1028Italy2024-05-25
1029Japan2024-06-17
1030Argentina2024-05-24
1031Japan2024-06-01
1032Italy2024-06-14
1033Japan2024-06-14
1034France2024-06-04
1035Japan2024-06-22
1036Australia2024-06-13
1037Canada2024-06-04
1038India2024-05-29
1039Italy2024-06-05
1040Canada2024-06-21
1041Spain2024-06-02
1042Germany2024-05-29
1043Italy2024-06-19
1044Canada2024-06-09
1045India2024-06-19
1046United Kingdom2024-05-25
1047India2024-05-31
1048Brazil2024-06-06
1049Italy2024-05-30

On-Demand Data

NameIdCountryDate
Arvin V Schemmer1000Canada2024-06-22
Tony C Kusko1001Canada2024-06-06
Kadeem E Vocelka1002Australia2024-05-27
Isabel E Oldroyd1003India2024-06-13
Mayumi M Ferencz1004France2024-06-02
Francesco P Nestle1005India2024-06-06
Deepesh B Waycott1006Japan2024-05-27
Jefferson E Poquette1007Japan2024-05-24
Alejandro K Waycott1008Italy2024-06-16
Juan E Campain1009Spain2024-05-31
Wickens C Foller1010United Kingdom2024-06-01
Antonio D Poquette1011India2024-05-26
Adams E Butt1012Australia2024-06-12
Rodrigues V Waycott1013Argentina2024-06-13
Clifford N Oldroyd1014United Kingdom2024-06-05
Jones N Wieser1015Brazil2024-06-12
James L Marrier1016United Kingdom2024-06-03
Johnson V Chui1017Canada2024-05-27
Maria R Gaucho1018Canada2024-05-27
Salvatore Q Malet1019France2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci U SlusarskiSpainAnna Fali NEGOTIATION
Nicolas R GillianFranceAsiya Javayant QUALIFIED
Smith I CaldareraAustraliaAsiya Javayant QUALIFIED
Smith J CaudyCanadaAsiya Javayant PROPOSAL
Ashley B DarakjyArgentinaAsiya Javayant NEW
Murillo R MacleadSpainAnna Fali NEW
Leon T BologniaGermanyStephen Shaw NEGOTIATION
Ashley D RulapaughFranceElwin Sharvill QUALIFIED
Kaitlin S BriddickJapanElwin Sharvill RENEWAL
Deepesh X StockhamBrazilElwin Sharvill RENEWAL
Ricardo X MacleadCanadaAsiya Javayant UNQUALIFIED
Costa N CaldareraJapanAsiya Javayant RENEWAL
Greenwood I FerenczBrazilXuxue Feng NEGOTIATION
Clifford A SlusarskiRussiaBernardo Dominic NEGOTIATION
Nicolas X RutaIndiaIoni Bowcher NEGOTIATION
Leja I StensethRussiaElwin Sharvill NEGOTIATION
Ricardo H AlbaresFranceStephen Shaw NEW
Rodrigues Z MaletSpainAmy Elsner NEW
Darci A GauchoFranceBernardo Dominic NEGOTIATION
Johnson E CampainArgentinaBernardo Dominic UNQUALIFIED
Jennifer W PaprockiJapanStephen Shaw PROPOSAL
Morrow Z BowleyBrazilAnna Fali UNQUALIFIED
Wickens E MarrierItalyAnna Fali UNQUALIFIED
Silvio H MorascaBrazilIoni Bowcher RENEWAL
Octavia P BriddickAustraliaIvan Magalhaes RENEWAL
Faith T NestleJapanStephen Shaw QUALIFIED
Antonio Y SergiRussiaIvan Magalhaes RENEWAL
Alejandro H WieserItalyIvan Magalhaes NEW
Chavez L KuskoItalyAmy Elsner NEGOTIATION
Kaitlin C IturbideRussiaStephen Shaw NEW
Francesco W CaudyItalyAsiya Javayant PROPOSAL
Johnson Z SaylorsItalyXuxue Feng NEW
Aditya K NickaBrazilIvan Magalhaes QUALIFIED
Munro R RoysterAustraliaXuxue Feng PROPOSAL
Ashley P KolmetzJapanIoni Bowcher NEW
Kadeem R StockhamFranceXuxue Feng UNQUALIFIED
Leon F DarakjyCanadaIoni Bowcher RENEWAL
Antonio C DarakjyJapanOnyama Limba PROPOSAL
Darci P CaldareraSpainAsiya Javayant NEW
Antonio A MarrierIndiaStephen 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>