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
Murillo Y GarufiIndiaIoni Bowcher UNQUALIFIED
Costa L MorascaItalyIvan Magalhaes NEGOTIATION
Claire C FlosiSpainStephen Shaw PROPOSAL
Greenwood T BowleyGermanyOnyama Limba PROPOSAL
Leja Q GillianArgentinaOnyama Limba PROPOSAL
Jeanfrancois Y IturbideUnited KingdomIvan Magalhaes QUALIFIED
Maisha Q WaycottGermanyAmy Elsner NEGOTIATION
Stacey Y GauchoRussiaOnyama Limba RENEWAL
Jennifer N SlusarskiAustraliaIoni Bowcher QUALIFIED
Cody M FollerIndiaIoni Bowcher PROPOSAL
Ivar Y CaudyCanadaIvan Magalhaes NEGOTIATION
Munro E OstroskyJapanBernardo Dominic QUALIFIED
Greenwood G AlbaresAustraliaXuxue Feng UNQUALIFIED
Mujtaba L PerinJapanBernardo Dominic NEW
Isabel F WaycottGermanyAnna Fali NEW
Nicolas I DilliardIndiaElwin Sharvill PROPOSAL
Octavia V KolmetzAustraliaAsiya Javayant UNQUALIFIED
Emily E PoquetteJapanStephen Shaw UNQUALIFIED
Munro S MaletArgentinaIoni Bowcher NEW
Morrow C MaletCanadaOnyama Limba PROPOSAL
Aditya T BriddickGermanyAmy Elsner RENEWAL
Jones I GarufiUnited KingdomStephen Shaw NEW
Leon T OstroskyJapanStephen Shaw PROPOSAL
Ricardo P RoysterFranceElwin Sharvill PROPOSAL
Leon C VenereGermanyStephen Shaw PROPOSAL
Darci X GillianArgentinaIoni Bowcher RENEWAL
Alejandro A FollerUnited KingdomBernardo Dominic NEW
Chavez E GarufiFranceStephen Shaw RENEWAL
Leon J NickaIndiaBernardo Dominic RENEWAL
Jennifer E MorascaRussiaXuxue Feng RENEWAL
Mujtaba R RutaGermanyBernardo Dominic PROPOSAL
Mujtaba A BriddickRussiaElwin Sharvill NEGOTIATION
Jones C GillianIndiaBernardo Dominic NEGOTIATION
Tony U DilliardGermanyAnna Fali UNQUALIFIED
Kadeem P PerinJapanElwin Sharvill RENEWAL
Leon F RutaCanadaXuxue Feng NEW
Aika I AmigonSpainXuxue Feng UNQUALIFIED
Darci R FerenczAustraliaIvan Magalhaes PROPOSAL
Alejandro J StockhamFranceElwin Sharvill NEW
Antonio Q DarakjyRussiaIoni Bowcher RENEWAL
Aditya B InouyeArgentinaElwin Sharvill NEGOTIATION
Juan F DarakjySpainAmy Elsner RENEWAL
Aditya Q OldroydItalyIoni Bowcher QUALIFIED
Isabel V StockhamAustraliaAmy Elsner NEGOTIATION
Emily X PoquetteBrazilBernardo Dominic QUALIFIED
Jones L StockhamBrazilBernardo Dominic NEGOTIATION
Jennifer O ChuiGermanyIoni Bowcher NEW
Darci X GlickItalyStephen Shaw QUALIFIED
Isabel Z OldroydCanadaAnna Fali RENEWAL
Mayumi V FlosiArgentinaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco B SaylorsBrazilStephen Shaw RENEWAL
Ivar H NickaBrazilBernardo Dominic PROPOSAL
Maria E ChuiItalyXuxue Feng PROPOSAL
Jefferson I MacleadItalyElwin Sharvill RENEWAL
Mayumi Y RimArgentinaStephen Shaw RENEWAL
Emily L PoquetteItalyStephen Shaw NEGOTIATION
Sinclair S DoeBrazilAsiya Javayant QUALIFIED
Jennifer I OstroskyItalyStephen Shaw RENEWAL
Arvin C NestleJapanStephen Shaw UNQUALIFIED
Jefferson S VocelkaSpainOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha C SchemmerCanada2024-05-22Benton, John B Jr UNQUALIFIED93Stephen Shaw
1001Aruna Y CaudyCanada2024-06-03Dorl, James J Esq NEW64Anna Fali
1002Emily S MaletArgentina2024-06-02Commercial Press QUALIFIED4Amy Elsner
1003Ashley F FollerFrance2024-05-25Buckley Miller Wright NEGOTIATION16Stephen Shaw
1004Jennifer T ShinkoRussia2024-06-08Feltz Printing Service UNQUALIFIED90Bernardo Dominic
1005Chavez S SlusarskiSpain2024-06-06Rangoni Of Florence QUALIFIED93Anna Fali
1006David I MarrierBrazil2024-06-06King, Christopher A Esq QUALIFIED6Amy Elsner
1007Alejandro Y MacleadArgentina2024-05-21Benton, John B Jr PROPOSAL11Amy Elsner
1008Leja W AmigonBrazil2024-06-11Dorl, James J Esq NEGOTIATION32Ivan Magalhaes
1009Octavia A GlickFrance2024-05-23Chanay, Jeffrey A Esq PROPOSAL67Elwin Sharvill
1010Mayumi O ShinkoSpain2024-05-23Morlong Associates RENEWAL80Ivan Magalhaes
1011Juan V CaldareraFrance2024-05-29King, Christopher A Esq QUALIFIED40Asiya Javayant
1012Jennifer C BologniaAustralia2024-05-27Feltz Printing Service QUALIFIED74Bernardo Dominic
1013Leon R SlusarskiArgentina2024-06-06Buckley Miller Wright NEGOTIATION77Ioni Bowcher
1014Morrow E SlusarskiItaly2024-06-14Dorl, James J Esq UNQUALIFIED74Stephen Shaw
1015Greenwood W FollerArgentina2024-05-30Rangoni Of Florence QUALIFIED54Elwin Sharvill
1016Greenwood D ChuiItaly2024-05-23Morlong Associates RENEWAL26Anna Fali
1017Greenwood J RutaAustralia2024-06-13Benton, John B Jr RENEWAL39Amy Elsner
1018Octavia F InouyeBrazil2024-06-14Printing Dimensions PROPOSAL46Ivan Magalhaes
1019Faith G PaprockiUnited Kingdom2024-06-01Commercial Press PROPOSAL32Ioni Bowcher
1020David Q CaldareraItaly2024-06-13Feiner Bros QUALIFIED55Onyama Limba
1021Aruna F StockhamRussia2024-05-30Chemel, James L Cpa NEW14Xuxue Feng
1022Nicolas T CampainFrance2024-06-16Benton, John B Jr UNQUALIFIED87Asiya Javayant
1023Kaitlin I RulapaughItaly2024-05-25Feiner Bros UNQUALIFIED11Onyama Limba
1024Greenwood V StockhamIndia2024-05-31Benton, John B Jr NEGOTIATION59Stephen Shaw
1025Deepesh N SchemmerGermany2024-06-02Chanay, Jeffrey A Esq NEGOTIATION8Amy Elsner
1026Isabel H GauchoRussia2024-06-05Dorl, James J Esq QUALIFIED52Elwin Sharvill
1027Adams I SaylorsFrance2024-06-04Benton, John B Jr PROPOSAL72Onyama Limba
1028Aditya G WhobreySpain2024-05-31Printing Dimensions NEW72Stephen Shaw
1029Jefferson W FlosiAustralia2024-06-18King, Christopher A Esq NEW79Elwin Sharvill
1030Nicolas W DoeRussia2024-06-13Chapman, Ross E Esq QUALIFIED60Asiya Javayant
1031Ashley U StensethBrazil2024-06-05Buckley Miller Wright NEGOTIATION0Elwin Sharvill
1032Silvio R RoysterFrance2024-05-30King, Christopher A Esq NEGOTIATION72Ioni Bowcher
1033Costa V InouyeSpain2024-05-30Truhlar And Truhlar Attys NEGOTIATION91Ivan Magalhaes
1034Claire E StensethSpain2024-06-05Rousseaux, Michael Esq UNQUALIFIED45Ioni Bowcher
1035Misaki J RulapaughJapan2024-05-26King, Christopher A Esq UNQUALIFIED14Onyama Limba
1036Stacey S RimGermany2024-06-11Truhlar And Truhlar Attys UNQUALIFIED1Xuxue Feng
1037Silvio B SlusarskiFrance2024-05-24Dorl, James J Esq UNQUALIFIED36Xuxue Feng
1038Jefferson V CaudyBrazil2024-06-16Feltz Printing Service NEW6Asiya Javayant
1039Jones E PaprockiAustralia2024-06-06Chapman, Ross E Esq QUALIFIED8Bernardo Dominic
1040Tony O FerenczJapan2024-05-28Feiner Bros QUALIFIED12Xuxue Feng
1041Adams E FigeroaUnited Kingdom2024-06-12Printing Dimensions NEGOTIATION29Asiya Javayant
1042James H CaudyArgentina2024-06-01Benton, John B Jr NEW10Xuxue Feng
1043Aika H AlbaresCanada2024-05-26Truhlar And Truhlar Attys NEGOTIATION72Bernardo Dominic
1044Wickens S RoysterUnited Kingdom2024-06-16King, Christopher A Esq PROPOSAL32Ivan Magalhaes
1045Izzy F CaldareraSpain2024-06-05Benton, John B Jr QUALIFIED94Ivan Magalhaes
1046Nicolas H StockhamSpain2024-05-27Chapman, Ross E Esq UNQUALIFIED61Ivan Magalhaes
1047Johnson A PerinCanada2024-06-06Morlong Associates PROPOSAL51Onyama Limba
1048Silvio E VocelkaItaly2024-06-09Commercial Press NEW3Asiya Javayant
1049Alejandro D GauchoUnited Kingdom2024-06-18Feiner Bros QUALIFIED19Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ivar L KuskoFranceIoni Bowcher QUALIFIED
Ashley R ChuiUnited KingdomOnyama Limba UNQUALIFIED
Cody S PoquetteRussiaIvan Magalhaes RENEWAL
Jennifer P GarufiFranceBernardo Dominic QUALIFIED
Jennifer E TollnerArgentinaAsiya Javayant QUALIFIED
Greenwood M ButtAustraliaAnna Fali RENEWAL
Leja Q DoeUnited KingdomIvan Magalhaes RENEWAL
Ivar S MorascaSpainElwin Sharvill NEW
Leja N SlusarskiArgentinaXuxue Feng RENEWAL
James O StockhamJapanAsiya Javayant UNQUALIFIED
Nicolas Z ShinkoIndiaIoni Bowcher NEGOTIATION
Claire I ButtItalyStephen Shaw RENEWAL
Munro L VenereItalyIvan Magalhaes NEGOTIATION
Octavia M MarrierFranceStephen Shaw UNQUALIFIED
Jeanfrancois V AlbaresGermanyXuxue Feng UNQUALIFIED
Jones J CaldareraItalyAsiya Javayant PROPOSAL
Octavia J SaylorsIndiaElwin Sharvill PROPOSAL
Leja R SlusarskiCanadaXuxue Feng PROPOSAL
Leon E SchemmerItalyAsiya Javayant PROPOSAL
Nicolas D SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia S AlbaresAustraliaIvan Magalhaes RENEWAL
Johnson B CampainFranceStephen Shaw PROPOSAL
Maria L PaprockiAustraliaIoni Bowcher NEGOTIATION
Silvio V GillianBrazilStephen Shaw QUALIFIED
Wickens Z CaldareraGermanyIoni Bowcher UNQUALIFIED
Leon J PaprockiIndiaOnyama Limba QUALIFIED
Emily M VocelkaSpainXuxue Feng NEGOTIATION
Nicolas G MacleadUnited KingdomAnna Fali QUALIFIED
Ricardo Q WaycottUnited KingdomAsiya Javayant RENEWAL
Salvatore E GarufiCanadaIvan Magalhaes PROPOSAL
Chavez J MorascaBrazilAsiya Javayant RENEWAL
Nicolas L ButtIndiaIvan Magalhaes UNQUALIFIED
Deepesh I TollnerGermanyXuxue Feng NEGOTIATION
Jennifer B MaletSpainAnna Fali RENEWAL
Jennifer S AlbaresItalyAsiya Javayant RENEWAL
Smith J OldroydFranceIvan Magalhaes QUALIFIED
Nicolas Q ButtUnited KingdomAmy Elsner UNQUALIFIED
Ivar R BowleyFranceAnna Fali RENEWAL
Alejandro J CaldareraSpainAsiya Javayant UNQUALIFIED
Johnson Z KuskoJapanOnyama Limba NEGOTIATION
Silvio B PoquetteIndiaBernardo Dominic NEGOTIATION
Adams E BowleyJapanElwin Sharvill NEW
Antonio G IturbideSpainBernardo Dominic PROPOSAL
Darci E CaldareraGermanyStephen Shaw NEGOTIATION
Jeanfrancois L KolmetzBrazilXuxue Feng RENEWAL
Smith R WaycottGermanyAsiya Javayant NEGOTIATION
Alejandro B BologniaGermanyElwin Sharvill PROPOSAL
Rodrigues H ChuiJapanElwin Sharvill NEGOTIATION
Leon Z SchemmerAustraliaAsiya Javayant NEW
Kadeem H PoquetteUnited KingdomIoni Bowcher RENEWAL
Frozen Columns
Name
Morrow F Marrier
Maisha K Chui
Leja G Dilliard
Kaitlin J Bolognia
Deepesh K Iturbide
Salvatore T Rulapaugh
Stacey C Schemmer
Misaki U Whobrey
Greenwood Z Foller
David Z Nicka
Rodrigues H Ruta
Johnson O Bolognia
Isabel M Gaucho
Sinclair S Malet
Arvin M Butt
Smith S Slusarski
Maria W Bolognia
Ricardo L Caldarera
Isabel D Tollner
Tony I Caldarera
Kadeem R Ferencz
Aika I Ruta
Munro B Royster
Jeanfrancois E Rulapaugh
Francesco E Garufi
Francesco C Rulapaugh
Kaitlin U Ruta
Stacey L Oldroyd
Cody C Dilliard
Jennifer P Chui
Aika T Kusko
Maisha R Caudy
Antonio H Malet
Ashley J Kolmetz
Sinclair M Bolognia
Morrow Y Whobrey
Murillo H Schemmer
Ivar Z Stockham
Jennifer C Glick
Salvatore I Albares
Tony H Vocelka
Mayumi F Rim
Ashley C Kusko
Tony Y Oldroyd
Rodrigues L Butt
Jones H Caudy
Julie Y Venere
Isabel Y Briddick
Aditya A Albares
Alejandro U Kusko
IdCountryDate
1000Japan2024-06-14
1001Russia2024-06-14
1002Argentina2024-06-13
1003Canada2024-05-21
1004Spain2024-05-31
1005Spain2024-06-02
1006Brazil2024-05-24
1007Canada2024-05-21
1008Argentina2024-06-05
1009Germany2024-05-22
1010France2024-06-10
1011Canada2024-05-30
1012Spain2024-06-11
1013Japan2024-05-20
1014Japan2024-05-31
1015Spain2024-06-09
1016Germany2024-06-04
1017Australia2024-06-01
1018United Kingdom2024-05-23
1019Japan2024-06-09
1020Japan2024-05-22
1021Australia2024-06-11
1022Spain2024-06-11
1023Germany2024-06-11
1024Italy2024-06-16
1025Russia2024-06-03
1026Germany2024-06-12
1027Italy2024-06-07
1028France2024-05-28
1029Russia2024-06-11
1030Russia2024-05-25
1031France2024-05-20
1032Spain2024-05-20
1033Argentina2024-06-13
1034Russia2024-06-10
1035United Kingdom2024-06-17
1036Italy2024-06-12
1037Canada2024-05-21
1038Germany2024-05-28
1039Brazil2024-06-17
1040United Kingdom2024-05-27
1041India2024-06-18
1042Germany2024-06-11
1043India2024-06-09
1044United Kingdom2024-06-12
1045United Kingdom2024-05-29
1046Australia2024-06-02
1047Japan2024-06-03
1048Spain2024-05-28
1049United Kingdom2024-05-28

On-Demand Data

NameIdCountryDate
Arvin K Stockham1000Russia2024-05-28
Adams Q Slusarski1001Italy2024-06-11
Maria X Vocelka1002India2024-06-14
Aditya Z Ruta1003Spain2024-06-03
Maisha W Malet1004Canada2024-06-08
Nicolas B Ruta1005Italy2024-06-08
Claire N Darakjy1006Canada2024-06-05
Jones Q Kolmetz1007India2024-06-03
Costa W Ferencz1008Australia2024-06-02
Wickens L Figeroa1009Spain2024-05-23
Tony J Royster1010Spain2024-06-13
Greenwood Q Slusarski1011Argentina2024-06-12
Morrow L Maclead1012Spain2024-05-26
Kadeem U Ostrosky1013France2024-06-10
Cody W Caudy1014Canada2024-05-21
Emily P Campain1015Russia2024-06-08
Octavia Z Paprocki1016Italy2024-06-10
Greenwood U Bolognia1017France2024-06-01
Stacey E Darakjy1018Germany2024-06-06
Munro D Nestle1019Spain2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci P NestleUnited KingdomAmy Elsner QUALIFIED
Nicolas N SaylorsBrazilOnyama Limba RENEWAL
Jeanfrancois B MaletRussiaAmy Elsner RENEWAL
Misaki G MaletArgentinaAmy Elsner RENEWAL
Rodrigues H BologniaIndiaAnna Fali UNQUALIFIED
Aruna G RutaCanadaStephen Shaw RENEWAL
Sinclair S FigeroaArgentinaAmy Elsner NEGOTIATION
Darci A IturbideRussiaStephen Shaw QUALIFIED
Octavia P FollerJapanOnyama Limba NEGOTIATION
Silvio F SchemmerAustraliaXuxue Feng NEGOTIATION
Aika U MaletGermanyAmy Elsner NEW
Mujtaba U IturbideAustraliaAnna Fali PROPOSAL
Costa M PerinSpainBernardo Dominic NEGOTIATION
Costa I CaldareraIndiaAmy Elsner NEW
Clifford W BologniaUnited KingdomIoni Bowcher NEGOTIATION
Wickens B FigeroaJapanXuxue Feng QUALIFIED
Murillo V AlbaresItalyElwin Sharvill RENEWAL
Maria B InouyeCanadaAmy Elsner NEGOTIATION
Jefferson G FigeroaAustraliaStephen Shaw NEW
Ivar Y SchemmerSpainOnyama Limba NEW
Maria X DoeUnited KingdomBernardo Dominic UNQUALIFIED
Julie F BowleyAustraliaBernardo Dominic NEGOTIATION
Aditya X FerenczSpainStephen Shaw NEW
Adams T MaletBrazilBernardo Dominic RENEWAL
Francesco F WieserArgentinaXuxue Feng PROPOSAL
Johnson K AlbaresBrazilBernardo Dominic QUALIFIED
Aruna I VocelkaIndiaStephen Shaw QUALIFIED
Ivar M PerinFranceStephen Shaw NEW
Nicolas B RulapaughJapanAmy Elsner RENEWAL
Clifford A GauchoAustraliaXuxue Feng NEW
Darci Y CaudyItalyElwin Sharvill UNQUALIFIED
Alejandro I DarakjyRussiaOnyama Limba NEW
Misaki E TollnerAustraliaIvan Magalhaes QUALIFIED
Costa W WhobreyRussiaIvan Magalhaes NEW
Claire B IturbideJapanXuxue Feng PROPOSAL
Nicolas D MaletIndiaXuxue Feng NEW
Emily U StockhamFranceBernardo Dominic NEGOTIATION
Aika N ChuiItalyAmy Elsner QUALIFIED
Aditya V VocelkaUnited KingdomXuxue Feng QUALIFIED
Ashley U WhobreyRussiaAnna Fali 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>