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
Wickens I GillianItalyIvan Magalhaes PROPOSAL
Isabel J PerinGermanyBernardo Dominic NEW
Silvio Q GauchoArgentinaAmy Elsner QUALIFIED
Johnson J IturbideBrazilBernardo Dominic PROPOSAL
Jones H IturbideBrazilAmy Elsner UNQUALIFIED
Jefferson U SlusarskiRussiaAsiya Javayant UNQUALIFIED
Cody D NestleCanadaStephen Shaw UNQUALIFIED
Ricardo U ChuiItalyAnna Fali NEGOTIATION
Jennifer G BologniaAustraliaBernardo Dominic RENEWAL
Kaitlin O RulapaughIndiaStephen Shaw QUALIFIED
Mujtaba Q AmigonGermanyAnna Fali NEW
Mayumi N TollnerBrazilAmy Elsner NEGOTIATION
Jones B IturbideSpainXuxue Feng QUALIFIED
Kaitlin M AlbaresCanadaIvan Magalhaes RENEWAL
Ivar T AlbaresJapanAnna Fali RENEWAL
Claire B RulapaughUnited KingdomAsiya Javayant PROPOSAL
Salvatore X MacleadCanadaAsiya Javayant PROPOSAL
Faith Q VenereRussiaAmy Elsner RENEWAL
Claire O PoquetteAustraliaBernardo Dominic RENEWAL
Costa C GlickSpainAsiya Javayant PROPOSAL
David Q WhobreyItalyStephen Shaw NEW
Ricardo P WhobreyCanadaBernardo Dominic NEW
Silvio P DarakjyRussiaStephen Shaw NEGOTIATION
Aika B PaprockiJapanOnyama Limba RENEWAL
Isabel J NickaRussiaAsiya Javayant NEGOTIATION
Smith R MorascaBrazilAsiya Javayant UNQUALIFIED
Nicolas L WhobreyBrazilBernardo Dominic PROPOSAL
Leja L CampainCanadaAnna Fali UNQUALIFIED
Maria I MarrierCanadaElwin Sharvill UNQUALIFIED
Costa P DarakjyBrazilIoni Bowcher NEGOTIATION
Leja J ShinkoIndiaAsiya Javayant RENEWAL
Greenwood G StockhamFranceElwin Sharvill PROPOSAL
Arvin H FerenczJapanBernardo Dominic QUALIFIED
Adams J PoquetteArgentinaIoni Bowcher NEW
Julie H WaycottUnited KingdomAmy Elsner UNQUALIFIED
Jones E ChuiCanadaAmy Elsner UNQUALIFIED
Emily U InouyeAustraliaAmy Elsner UNQUALIFIED
Rodrigues H MaletBrazilAmy Elsner UNQUALIFIED
Ricardo C NestleRussiaAsiya Javayant QUALIFIED
Wickens E FigeroaItalyXuxue Feng QUALIFIED
Jennifer F SergiArgentinaIoni Bowcher RENEWAL
Jefferson E ShinkoIndiaIvan Magalhaes NEGOTIATION
Tony V WieserArgentinaBernardo Dominic UNQUALIFIED
Mujtaba Z PaprockiGermanyXuxue Feng NEW
Johnson E TollnerIndiaAsiya Javayant PROPOSAL
Sinclair M WhobreyFranceStephen Shaw QUALIFIED
Alejandro X KolmetzFranceStephen Shaw RENEWAL
Aditya J VocelkaAustraliaBernardo Dominic NEW
Jennifer W OstroskyBrazilIvan Magalhaes QUALIFIED
Claire P WaycottBrazilIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo M RimUnited KingdomOnyama Limba UNQUALIFIED
Salvatore I StockhamJapanIvan Magalhaes QUALIFIED
Aditya O OstroskyGermanyIvan Magalhaes PROPOSAL
David J WaycottAustraliaXuxue Feng NEW
Ashley O FollerUnited KingdomIoni Bowcher QUALIFIED
Clifford X NestleUnited KingdomIvan Magalhaes QUALIFIED
Mayumi S NestleAustraliaStephen Shaw QUALIFIED
Maria G BologniaIndiaStephen Shaw NEGOTIATION
Aditya I WaycottJapanAnna Fali RENEWAL
Aruna N FerenczArgentinaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie Y GlickItaly2024-05-26Morlong Associates QUALIFIED4Asiya Javayant
1001Darci L FigeroaFrance2024-05-03Feiner Bros NEGOTIATION87Amy Elsner
1002Izzy X GarufiBrazil2024-05-12Rangoni Of Florence QUALIFIED80Ioni Bowcher
1003Nicolas S WhobreyBrazil2024-05-01Dorl, James J Esq RENEWAL33Amy Elsner
1004Mujtaba N DoeRussia2024-05-02Feiner Bros NEW94Ioni Bowcher
1005Emily P StockhamFrance2024-05-04Chapman, Ross E Esq PROPOSAL43Onyama Limba
1006Aruna E SaylorsItaly2024-05-22Chanay, Jeffrey A Esq QUALIFIED81Xuxue Feng
1007Ashley P FerenczItaly2024-05-14Feiner Bros QUALIFIED63Bernardo Dominic
1008Arvin U InouyeFrance2024-05-15Printing Dimensions QUALIFIED43Anna Fali
1009Aditya Z FigeroaJapan2024-05-10Dorl, James J Esq NEGOTIATION81Asiya Javayant
1010Mayumi X IturbideBrazil2024-05-14Rousseaux, Michael Esq QUALIFIED97Xuxue Feng
1011Aika Y ButtItaly2024-05-19Chapman, Ross E Esq QUALIFIED87Stephen Shaw
1012Smith B TollnerIndia2024-05-15Chemel, James L Cpa QUALIFIED80Ivan Magalhaes
1013Aditya Y RutaSpain2024-05-05Chanay, Jeffrey A Esq PROPOSAL48Onyama Limba
1014James W ButtAustralia2024-05-26Printing Dimensions PROPOSAL11Ioni Bowcher
1015Wickens F FigeroaArgentina2024-05-26Morlong Associates QUALIFIED21Bernardo Dominic
1016Aruna K KolmetzUnited Kingdom2024-05-03King, Christopher A Esq NEGOTIATION83Ivan Magalhaes
1017Claire X RulapaughSpain2024-05-25King, Christopher A Esq NEGOTIATION71Xuxue Feng
1018Antonio S VocelkaBrazil2024-05-14Commercial Press UNQUALIFIED35Xuxue Feng
1019Aruna K OldroydSpain2024-05-03Morlong Associates NEW98Anna Fali
1020Johnson N KuskoJapan2024-05-16Printing Dimensions NEW50Onyama Limba
1021Misaki F KolmetzFrance2024-05-05Buckley Miller Wright PROPOSAL84Anna Fali
1022Isabel Y WieserUnited Kingdom2024-05-03Rangoni Of Florence UNQUALIFIED16Ivan Magalhaes
1023Darci B GauchoAustralia2024-05-21Rangoni Of Florence NEGOTIATION8Asiya Javayant
1024Costa V DoeBrazil2024-05-25Feltz Printing Service NEGOTIATION48Ioni Bowcher
1025Clifford V GauchoSpain2024-04-29Feltz Printing Service NEW60Xuxue Feng
1026Johnson Q BowleyArgentina2024-05-16Benton, John B Jr NEGOTIATION38Ivan Magalhaes
1027Silvio F CampainGermany2024-04-30Truhlar And Truhlar Attys PROPOSAL63Ivan Magalhaes
1028Jefferson A RoysterBrazil2024-04-30Chanay, Jeffrey A Esq NEGOTIATION20Bernardo Dominic
1029Ricardo Q BowleyArgentina2024-05-01King, Christopher A Esq QUALIFIED5Ioni Bowcher
1030Clifford L GillianIndia2024-05-24Truhlar And Truhlar Attys QUALIFIED4Anna Fali
1031Sinclair F WhobreyGermany2024-05-05King, Christopher A Esq NEW13Ioni Bowcher
1032Kaitlin L FerenczUnited Kingdom2024-05-22Dorl, James J Esq PROPOSAL86Anna Fali
1033Jefferson F FlosiSpain2024-05-06Rangoni Of Florence RENEWAL76Ioni Bowcher
1034Arvin X DilliardUnited Kingdom2024-05-22King, Christopher A Esq NEGOTIATION30Xuxue Feng
1035Juan X OstroskyIndia2024-05-06King, Christopher A Esq PROPOSAL13Asiya Javayant
1036Munro L CaudyAustralia2024-05-17Morlong Associates QUALIFIED90Ivan Magalhaes
1037Salvatore W MacleadGermany2024-05-09Rangoni Of Florence UNQUALIFIED79Amy Elsner
1038Ashley E KuskoIndia2024-05-20Commercial Press UNQUALIFIED4Elwin Sharvill
1039Izzy I KolmetzFrance2024-05-17Rangoni Of Florence QUALIFIED91Stephen Shaw
1040Ivar S StockhamFrance2024-05-12Printing Dimensions PROPOSAL14Amy Elsner
1041Isabel B SaylorsCanada2024-05-09Printing Dimensions PROPOSAL91Asiya Javayant
1042Mujtaba W MaletSpain2024-05-13Printing Dimensions UNQUALIFIED54Anna Fali
1043Clifford E MaletIndia2024-05-02Benton, John B Jr PROPOSAL11Anna Fali
1044Antonio C MaletCanada2024-04-29King, Christopher A Esq QUALIFIED90Xuxue Feng
1045Juan V KuskoAustralia2024-05-09Chemel, James L Cpa NEW53Bernardo Dominic
1046Nicolas Y FlosiSpain2024-05-02Commercial Press NEGOTIATION12Elwin Sharvill
1047Emily P AmigonUnited Kingdom2024-05-10Chapman, Ross E Esq UNQUALIFIED63Amy Elsner
1048Jefferson C GillianArgentina2024-05-26Truhlar And Truhlar Attys NEGOTIATION52Stephen Shaw
1049Kaitlin P StensethAustralia2024-04-29Buckley Miller Wright NEGOTIATION44Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Salvatore A FollerArgentinaStephen Shaw UNQUALIFIED
Aruna K NickaIndiaAnna Fali UNQUALIFIED
Antonio P VenereGermanyXuxue Feng UNQUALIFIED
Mayumi X ChuiIndiaIoni Bowcher RENEWAL
Sinclair R KuskoItalyBernardo Dominic NEW
Jones B StockhamBrazilElwin Sharvill NEW
Isabel P MarrierBrazilBernardo Dominic PROPOSAL
Julie S RutaCanadaAnna Fali PROPOSAL
Aditya I ButtRussiaIvan Magalhaes RENEWAL
Adams N GauchoCanadaAnna Fali RENEWAL
Jeanfrancois D AmigonSpainAmy Elsner PROPOSAL
Aika G RimFranceIvan Magalhaes RENEWAL
Johnson A SchemmerFranceAmy Elsner QUALIFIED
Tony V VocelkaSpainXuxue Feng QUALIFIED
Isabel R StensethAustraliaAnna Fali RENEWAL
Mayumi K NickaAustraliaElwin Sharvill UNQUALIFIED
Jennifer U StensethFranceAmy Elsner NEGOTIATION
Ashley I RutaGermanyIoni Bowcher NEW
Antonio W FollerRussiaAsiya Javayant UNQUALIFIED
Antonio C KolmetzFranceBernardo Dominic PROPOSAL
Murillo C StockhamCanadaStephen Shaw NEGOTIATION
Aika M VocelkaFranceAsiya Javayant RENEWAL
Tony J ButtUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair G RimUnited KingdomAnna Fali UNQUALIFIED
Alejandro K GarufiRussiaElwin Sharvill PROPOSAL
Stacey F StensethSpainStephen Shaw NEW
Mayumi Z SaylorsSpainXuxue Feng UNQUALIFIED
Wickens X TollnerRussiaBernardo Dominic NEGOTIATION
Jeanfrancois V DarakjyIndiaXuxue Feng RENEWAL
Maisha G BriddickArgentinaAnna Fali QUALIFIED
Ricardo J RimUnited KingdomAnna Fali QUALIFIED
Octavia Y RimAustraliaAsiya Javayant UNQUALIFIED
Octavia X StensethCanadaElwin Sharvill QUALIFIED
Izzy D GillianArgentinaAnna Fali NEGOTIATION
Ivar R RutaRussiaAmy Elsner RENEWAL
Deepesh G BowleyArgentinaOnyama Limba NEGOTIATION
Sinclair U SchemmerJapanElwin Sharvill NEW
Maria W SlusarskiGermanyIvan Magalhaes NEW
Darci N NickaCanadaOnyama Limba NEW
Costa Y IturbideBrazilIvan Magalhaes NEW
Ashley A RimIndiaAmy Elsner QUALIFIED
Smith F GauchoGermanyElwin Sharvill UNQUALIFIED
Greenwood Y WhobreyArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois E SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez Z FigeroaIndiaAmy Elsner QUALIFIED
Kadeem G GlickAustraliaIvan Magalhaes UNQUALIFIED
Aika M NestleBrazilAnna Fali UNQUALIFIED
Juan U IturbideRussiaBernardo Dominic NEGOTIATION
Silvio W OldroydIndiaAmy Elsner NEW
Jefferson B OldroydUnited KingdomStephen Shaw UNQUALIFIED
Frozen Columns
Name
Sinclair O Stockham
Salvatore F Tollner
Claire E Stenseth
Greenwood F Poquette
Johnson F Shinko
Deepesh D Iturbide
Cody J Gaucho
Isabel T Sergi
Julie D Chui
Arvin I Stenseth
Francesco S Stenseth
Costa E Nestle
Deepesh H Gaucho
Morrow R Waycott
Clifford X Saylors
Isabel H Whobrey
Cody A Paprocki
Chavez A Whobrey
Clifford M Campain
Mujtaba B Dilliard
Aditya O Foller
Emily D Rulapaugh
Alejandro U Stockham
Silvio S Iturbide
Clifford L Ruta
Francesco R Albares
James L Venere
Salvatore J Shinko
Mayumi R Stenseth
Darci Y Chui
Izzy W Ruta
Aika Q Wieser
Silvio T Flosi
Aruna I Vocelka
Morrow M Albares
Francesco R Vocelka
Nicolas F Schemmer
Silvio Q Foller
Greenwood D Bolognia
Johnson M Kolmetz
Juan U Rulapaugh
Morrow B Royster
Leja D Kolmetz
Kadeem O Slusarski
Ashley I Glick
Cody J Iturbide
Jennifer H Iturbide
Claire O Butt
Emily T Amigon
Murillo F Glick
IdCountryDate
1000Italy2024-05-10
1001Australia2024-05-16
1002India2024-05-22
1003India2024-05-06
1004Germany2024-05-23
1005Canada2024-05-08
1006United Kingdom2024-05-17
1007Japan2024-05-09
1008Germany2024-05-02
1009Brazil2024-05-09
1010Germany2024-05-22
1011Germany2024-05-15
1012France2024-05-06
1013Argentina2024-04-30
1014Japan2024-05-07
1015Canada2024-05-23
1016Italy2024-05-09
1017Japan2024-05-18
1018United Kingdom2024-05-23
1019United Kingdom2024-05-19
1020Japan2024-05-26
1021Germany2024-05-04
1022Brazil2024-05-24
1023India2024-05-19
1024India2024-05-11
1025Russia2024-05-08
1026Italy2024-05-19
1027United Kingdom2024-04-30
1028Canada2024-05-09
1029United Kingdom2024-05-09
1030Australia2024-04-28
1031Italy2024-04-28
1032Russia2024-05-02
1033Germany2024-05-19
1034Spain2024-05-21
1035Japan2024-05-25
1036Russia2024-05-02
1037United Kingdom2024-05-12
1038Argentina2024-05-07
1039Argentina2024-05-18
1040United Kingdom2024-05-23
1041Argentina2024-05-17
1042Australia2024-04-29
1043Italy2024-05-08
1044Italy2024-05-22
1045Australia2024-05-01
1046Russia2024-05-20
1047Australia2024-05-26
1048France2024-05-17
1049Italy2024-05-10

On-Demand Data

NameIdCountryDate
Mayumi X Caudy1000India2024-05-01
Izzy N Briddick1001Argentina2024-05-06
Clifford F Nestle1002Canada2024-05-02
Kaitlin Y Flosi1003Australia2024-05-15
Julie Y Campain1004Australia2024-05-03
Costa Y Poquette1005France2024-05-03
James G Waycott1006United Kingdom2024-05-22
James K Dilliard1007United Kingdom2024-05-13
James Y Marrier1008Russia2024-04-29
Jefferson Q Marrier1009Argentina2024-04-30
Darci H Tollner1010Japan2024-05-21
Wickens O Perin1011Brazil2024-05-21
Leja W Vocelka1012Canada2024-05-27
Costa T Schemmer1013Japan2024-05-02
Johnson J Stockham1014Italy2024-05-13
Morrow I Venere1015Spain2024-05-07
Rodrigues M Stenseth1016Spain2024-04-29
Alejandro L Stockham1017India2024-05-01
Jennifer T Inouye1018Argentina2024-05-01
Octavia G Vocelka1019Germany2024-05-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith U FigeroaSpainAnna Fali QUALIFIED
Adams M RulapaughSpainStephen Shaw QUALIFIED
Jennifer G MaletCanadaElwin Sharvill RENEWAL
Leon T WhobreyJapanAsiya Javayant NEW
Leon I InouyeFranceAnna Fali NEW
Octavia N NickaAustraliaIoni Bowcher NEGOTIATION
Sinclair H IturbideAustraliaAsiya Javayant NEW
Morrow S RutaItalyAnna Fali UNQUALIFIED
Jeanfrancois X FollerAustraliaAsiya Javayant NEW
David Y RoysterIndiaStephen Shaw RENEWAL
Rodrigues X VenereIndiaAmy Elsner PROPOSAL
Antonio U StensethFranceXuxue Feng PROPOSAL
Morrow S RulapaughJapanStephen Shaw RENEWAL
Julie M DilliardFranceElwin Sharvill NEGOTIATION
Juan F ButtRussiaStephen Shaw NEW
Maria K AmigonRussiaOnyama Limba PROPOSAL
Sinclair R PerinIndiaOnyama Limba UNQUALIFIED
Aika A GlickGermanyStephen Shaw NEGOTIATION
Chavez M CampainGermanyIvan Magalhaes PROPOSAL
Francesco B CaldareraGermanyIvan Magalhaes UNQUALIFIED
Ashley J GauchoIndiaBernardo Dominic QUALIFIED
Munro U KolmetzGermanyIvan Magalhaes QUALIFIED
Wickens E TollnerArgentinaBernardo Dominic RENEWAL
Rodrigues F CaudyRussiaElwin Sharvill NEGOTIATION
Johnson M MarrierFranceAmy Elsner QUALIFIED
Leja K BriddickArgentinaAnna Fali RENEWAL
Octavia Y TollnerCanadaXuxue Feng RENEWAL
Isabel N IturbideAustraliaAnna Fali RENEWAL
Johnson A IturbideIndiaIoni Bowcher NEW
Maisha A SaylorsIndiaElwin Sharvill NEW
Misaki P WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues D ShinkoGermanyIoni Bowcher NEGOTIATION
Faith T IturbideJapanAmy Elsner NEW
Ricardo T MorascaArgentinaAnna Fali UNQUALIFIED
Kadeem E GauchoArgentinaBernardo Dominic NEGOTIATION
Tony Z MaletRussiaAsiya Javayant NEGOTIATION
Isabel F RimCanadaAnna Fali UNQUALIFIED
Isabel D FollerIndiaAnna Fali RENEWAL
Isabel D PaprockiAustraliaElwin Sharvill RENEWAL
Kadeem R WieserBrazilAsiya Javayant NEGOTIATION

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