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 F SchemmerArgentinaAsiya Javayant NEGOTIATION
Stacey I RulapaughBrazilOnyama Limba UNQUALIFIED
Aruna B MorascaGermanyXuxue Feng UNQUALIFIED
Murillo U KolmetzSpainIvan Magalhaes NEW
Izzy X SchemmerCanadaIvan Magalhaes UNQUALIFIED
Juan Z AlbaresGermanyAsiya Javayant PROPOSAL
Adams H OstroskyAustraliaAnna Fali QUALIFIED
Smith H TollnerItalyBernardo Dominic QUALIFIED
Nicolas R GarufiAustraliaElwin Sharvill QUALIFIED
Misaki I TollnerUnited KingdomOnyama Limba NEW
Aika E SlusarskiBrazilAmy Elsner UNQUALIFIED
Aditya J FigeroaUnited KingdomAsiya Javayant NEW
Stacey T RulapaughArgentinaIvan Magalhaes NEGOTIATION
Jefferson J BriddickUnited KingdomOnyama Limba UNQUALIFIED
Jennifer N GarufiUnited KingdomBernardo Dominic RENEWAL
Emily X VocelkaSpainAsiya Javayant UNQUALIFIED
Mayumi G RimUnited KingdomElwin Sharvill NEGOTIATION
Mayumi K FigeroaGermanyIoni Bowcher RENEWAL
Misaki S InouyeJapanOnyama Limba PROPOSAL
Chavez Q InouyeSpainXuxue Feng PROPOSAL
Ricardo I KuskoItalyAmy Elsner QUALIFIED
Izzy F CaldareraCanadaAnna Fali NEGOTIATION
Leja W ChuiAustraliaElwin Sharvill NEGOTIATION
Antonio F StockhamArgentinaBernardo Dominic RENEWAL
Cody Q PoquetteSpainAsiya Javayant PROPOSAL
James H NestleBrazilIoni Bowcher NEGOTIATION
Mayumi O DarakjyItalyElwin Sharvill RENEWAL
Stacey O SaylorsIndiaBernardo Dominic QUALIFIED
Wickens E MarrierIndiaAmy Elsner UNQUALIFIED
Ashley H SchemmerFranceStephen Shaw UNQUALIFIED
Adams U BowleyFranceStephen Shaw NEW
Arvin K MarrierJapanAmy Elsner UNQUALIFIED
Clifford G StockhamAustraliaAmy Elsner RENEWAL
Cody N ButtGermanyBernardo Dominic RENEWAL
Juan B FerenczFranceAmy Elsner NEW
Francesco P CaldareraGermanyIoni Bowcher NEGOTIATION
Leja N ChuiCanadaIoni Bowcher RENEWAL
Nicolas G KuskoItalyStephen Shaw PROPOSAL
Adams I VocelkaSpainXuxue Feng QUALIFIED
Aika M GarufiItalyIvan Magalhaes UNQUALIFIED
David F GlickArgentinaIvan Magalhaes RENEWAL
Isabel C FerenczArgentinaAmy Elsner QUALIFIED
Arvin Z CaldareraBrazilStephen Shaw NEW
Greenwood C IturbideIndiaAnna Fali UNQUALIFIED
Mujtaba B NestleJapanOnyama Limba QUALIFIED
Isabel O StensethGermanyIvan Magalhaes QUALIFIED
Leja Q IturbideIndiaBernardo Dominic QUALIFIED
Octavia S FerenczUnited KingdomXuxue Feng UNQUALIFIED
Adams T WieserFranceElwin Sharvill UNQUALIFIED
Greenwood Z SchemmerFranceBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens O CampainArgentinaIvan Magalhaes PROPOSAL
Julie B FollerBrazilAmy Elsner UNQUALIFIED
Alejandro K StockhamItalyXuxue Feng QUALIFIED
Darci U BriddickCanadaIvan Magalhaes UNQUALIFIED
Rodrigues A ButtSpainAmy Elsner UNQUALIFIED
Octavia X MaletArgentinaStephen Shaw RENEWAL
Smith X RutaSpainIvan Magalhaes NEW
Jones R RulapaughItalyAsiya Javayant QUALIFIED
Salvatore V MarrierFranceAnna Fali NEW
Silvio X OldroydGermanyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Q VocelkaFrance2024-06-18Benton, John B Jr UNQUALIFIED54Xuxue Feng
1001Francesco F TollnerUnited Kingdom2024-06-07Chapman, Ross E Esq QUALIFIED61Anna Fali
1002James F PerinRussia2024-06-04Morlong Associates PROPOSAL22Xuxue Feng
1003Jefferson W BriddickBrazil2024-06-11Chapman, Ross E Esq RENEWAL36Bernardo Dominic
1004Chavez Z ChuiItaly2024-06-08Benton, John B Jr NEW35Anna Fali
1005Rodrigues O FerenczGermany2024-06-03Chanay, Jeffrey A Esq NEGOTIATION47Asiya Javayant
1006Alejandro B WhobreySpain2024-05-25Printing Dimensions QUALIFIED35Anna Fali
1007Leon K TollnerGermany2024-06-12Dorl, James J Esq UNQUALIFIED0Elwin Sharvill
1008Octavia Y FlosiJapan2024-06-17Chapman, Ross E Esq QUALIFIED47Asiya Javayant
1009Maria J BriddickSpain2024-06-11Rousseaux, Michael Esq UNQUALIFIED48Xuxue Feng
1010Chavez I OldroydSpain2024-06-19Rousseaux, Michael Esq RENEWAL47Xuxue Feng
1011Silvio I CampainAustralia2024-06-08Truhlar And Truhlar Attys NEGOTIATION16Elwin Sharvill
1012Jones B SaylorsFrance2024-06-02Rousseaux, Michael Esq NEW23Onyama Limba
1013Emily R StockhamArgentina2024-06-11Buckley Miller Wright PROPOSAL62Onyama Limba
1014Tony Z AmigonBrazil2024-06-17Benton, John B Jr PROPOSAL42Stephen Shaw
1015Claire D MaletSpain2024-05-27Truhlar And Truhlar Attys RENEWAL87Xuxue Feng
1016Misaki G WieserBrazil2024-05-27King, Christopher A Esq NEW33Anna Fali
1017Stacey W StensethFrance2024-06-08Rousseaux, Michael Esq NEW5Ioni Bowcher
1018Jefferson S BriddickAustralia2024-05-29Rangoni Of Florence QUALIFIED84Stephen Shaw
1019Clifford Y KolmetzArgentina2024-06-22Chanay, Jeffrey A Esq PROPOSAL69Ioni Bowcher
1020Antonio F KolmetzJapan2024-05-29Rousseaux, Michael Esq NEW75Elwin Sharvill
1021Clifford B NickaCanada2024-06-18Dorl, James J Esq RENEWAL30Xuxue Feng
1022Leon T NestleRussia2024-06-14Truhlar And Truhlar Attys QUALIFIED38Elwin Sharvill
1023Izzy S PoquetteRussia2024-06-08Truhlar And Truhlar Attys NEGOTIATION20Bernardo Dominic
1024Silvio X OstroskyJapan2024-05-27Dorl, James J Esq RENEWAL82Ivan Magalhaes
1025Murillo H BologniaJapan2024-06-08Buckley Miller Wright UNQUALIFIED2Bernardo Dominic
1026Alejandro I DilliardFrance2024-06-19Chapman, Ross E Esq NEGOTIATION6Anna Fali
1027Murillo K NickaCanada2024-06-21Chanay, Jeffrey A Esq PROPOSAL55Asiya Javayant
1028Adams G BologniaAustralia2024-06-22Dorl, James J Esq PROPOSAL47Anna Fali
1029Leja Y NickaBrazil2024-05-29Morlong Associates NEGOTIATION0Bernardo Dominic
1030Alejandro E NickaIndia2024-06-16Rangoni Of Florence NEGOTIATION60Asiya Javayant
1031Jefferson U DoeAustralia2024-06-13Morlong Associates NEW92Anna Fali
1032Adams K StensethUnited Kingdom2024-05-30Chapman, Ross E Esq NEW34Stephen Shaw
1033Stacey T BowleyAustralia2024-06-17Commercial Press UNQUALIFIED14Onyama Limba
1034Aruna E CaudyRussia2024-06-07Feiner Bros RENEWAL30Elwin Sharvill
1035Leon E DilliardRussia2024-06-20Benton, John B Jr RENEWAL27Bernardo Dominic
1036Clifford G RoysterRussia2024-06-10King, Christopher A Esq UNQUALIFIED69Ioni Bowcher
1037Izzy G SchemmerGermany2024-06-05Dorl, James J Esq NEGOTIATION5Asiya Javayant
1038Jones K WieserCanada2024-05-27Buckley Miller Wright NEW71Anna Fali
1039Arvin Q KuskoRussia2024-05-26Chanay, Jeffrey A Esq QUALIFIED50Xuxue Feng
1040Ivar E PerinJapan2024-05-29Feltz Printing Service NEW30Onyama Limba
1041Kaitlin N CaudyRussia2024-06-14Feltz Printing Service RENEWAL66Elwin Sharvill
1042Jeanfrancois U VocelkaBrazil2024-06-07Rousseaux, Michael Esq UNQUALIFIED17Amy Elsner
1043Kadeem L NickaSpain2024-06-01Dorl, James J Esq NEW48Anna Fali
1044Alejandro W GauchoUnited Kingdom2024-06-03Chanay, Jeffrey A Esq NEW13Anna Fali
1045Faith S PoquetteRussia2024-06-11Dorl, James J Esq QUALIFIED13Anna Fali
1046Rodrigues N BowleyRussia2024-06-19Truhlar And Truhlar Attys UNQUALIFIED83Stephen Shaw
1047Aruna R TollnerIndia2024-06-18Dorl, James J Esq NEW27Elwin Sharvill
1048Leon J DilliardIndia2024-06-18Morlong Associates RENEWAL18Stephen Shaw
1049Julie A DarakjyIndia2024-06-13King, Christopher A Esq NEGOTIATION84Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Johnson N BologniaCanadaIvan Magalhaes QUALIFIED
Maria B MaletSpainElwin Sharvill PROPOSAL
Aika F VocelkaArgentinaBernardo Dominic NEW
Octavia B StensethBrazilAnna Fali RENEWAL
Jennifer C SlusarskiIndiaIoni Bowcher PROPOSAL
Rodrigues U CaudyAustraliaStephen Shaw RENEWAL
Stacey O KuskoGermanyXuxue Feng UNQUALIFIED
Aruna X CaldareraArgentinaAsiya Javayant RENEWAL
Darci D FollerCanadaAmy Elsner PROPOSAL
Tony B AlbaresFranceXuxue Feng NEW
Mayumi T OstroskyRussiaAsiya Javayant NEW
Jeanfrancois F OldroydItalyAsiya Javayant NEW
Rodrigues G InouyeItalyBernardo Dominic NEW
Izzy E BriddickUnited KingdomIoni Bowcher NEW
Clifford G NestleArgentinaAnna Fali PROPOSAL
Maisha Q AlbaresBrazilOnyama Limba PROPOSAL
Octavia H RoysterFranceAsiya Javayant RENEWAL
Sinclair F WieserSpainAsiya Javayant UNQUALIFIED
Claire R FollerSpainIoni Bowcher UNQUALIFIED
Juan U AlbaresGermanyStephen Shaw RENEWAL
Emily X BriddickBrazilElwin Sharvill PROPOSAL
Francesco U CaldareraArgentinaElwin Sharvill QUALIFIED
Greenwood G AlbaresFranceElwin Sharvill UNQUALIFIED
Jeanfrancois H CaudyGermanyOnyama Limba NEGOTIATION
Octavia Y SergiIndiaOnyama Limba NEGOTIATION
Darci R PoquetteIndiaXuxue Feng PROPOSAL
Smith F GauchoFranceAmy Elsner PROPOSAL
Jeanfrancois O SergiSpainAmy Elsner PROPOSAL
Maisha R MorascaJapanIvan Magalhaes QUALIFIED
Kadeem L RulapaughAustraliaAmy Elsner PROPOSAL
Salvatore F PaprockiRussiaIvan Magalhaes UNQUALIFIED
Deepesh Q NestleIndiaElwin Sharvill QUALIFIED
Jeanfrancois K BriddickBrazilIoni Bowcher QUALIFIED
Izzy O OstroskyIndiaAmy Elsner NEW
Silvio F MaletRussiaStephen Shaw NEGOTIATION
Nicolas A GlickFranceIoni Bowcher RENEWAL
Darci A WieserIndiaOnyama Limba NEGOTIATION
Ashley Z CampainItalyAnna Fali PROPOSAL
Clifford H DoeGermanyAsiya Javayant PROPOSAL
Chavez J StockhamUnited KingdomAmy Elsner PROPOSAL
Deepesh C FerenczFranceAsiya Javayant PROPOSAL
Alejandro L DilliardFranceIvan Magalhaes UNQUALIFIED
Murillo L FlosiBrazilIvan Magalhaes NEGOTIATION
Rodrigues K WieserSpainIoni Bowcher UNQUALIFIED
Chavez M SlusarskiAustraliaStephen Shaw NEGOTIATION
Alejandro N PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Kadeem E GillianGermanyXuxue Feng NEGOTIATION
Mayumi M KolmetzJapanBernardo Dominic QUALIFIED
Morrow K BriddickRussiaIoni Bowcher NEGOTIATION
James P PerinRussiaElwin Sharvill PROPOSAL
Frozen Columns
Name
Maria U Stenseth
Smith Q Figeroa
Maisha C Vocelka
Smith A Butt
Munro C Garufi
Aika L Malet
James G Venere
Arvin P Caldarera
Francesco V Rulapaugh
Cody G Ruta
Misaki C Schemmer
Silvio T Venere
Costa G Ruta
Aditya W Foller
Mujtaba Y Malet
Chavez Q Nicka
Emily N Rulapaugh
Kaitlin M Whobrey
Isabel T Gaucho
Izzy A Bowley
Cody D Kolmetz
Nicolas S Foller
Greenwood F Caudy
Antonio Y Caudy
Alejandro Y Inouye
Sinclair S Doe
Nicolas L Doe
Misaki M Tollner
Greenwood A Figeroa
Darci W Stockham
Octavia V Stenseth
David L Venere
Leja P Dilliard
Kadeem A Ruta
Smith S Poquette
James W Ostrosky
Cody X Inouye
Aruna B Ostrosky
Kadeem C Schemmer
Mujtaba L Oldroyd
Jones B Ferencz
James I Flosi
Aika G Kolmetz
James T Maclead
Costa W Poquette
Leon W Rulapaugh
Darci J Oldroyd
Octavia P Kusko
Juan X Royster
Aika M Waycott
IdCountryDate
1000Spain2024-06-13
1001Russia2024-06-22
1002Australia2024-05-31
1003Canada2024-06-11
1004United Kingdom2024-06-03
1005Japan2024-05-30
1006Brazil2024-06-02
1007Australia2024-05-28
1008Russia2024-06-02
1009United Kingdom2024-05-24
1010France2024-06-06
1011Brazil2024-06-17
1012Japan2024-05-28
1013Italy2024-06-18
1014Argentina2024-06-11
1015Japan2024-06-13
1016Italy2024-06-16
1017Germany2024-05-31
1018Canada2024-05-27
1019France2024-06-04
1020Italy2024-06-10
1021Spain2024-06-08
1022Argentina2024-05-24
1023Russia2024-06-02
1024India2024-05-28
1025Canada2024-06-22
1026Canada2024-06-04
1027France2024-06-10
1028Canada2024-05-27
1029Germany2024-06-11
1030Japan2024-06-10
1031Australia2024-06-21
1032Germany2024-06-14
1033Japan2024-06-04
1034Spain2024-06-14
1035Canada2024-05-27
1036Japan2024-05-25
1037Germany2024-06-08
1038India2024-06-04
1039Spain2024-06-14
1040France2024-05-26
1041Canada2024-06-15
1042Argentina2024-06-12
1043Brazil2024-06-18
1044Australia2024-05-30
1045Australia2024-05-24
1046Spain2024-05-29
1047Italy2024-06-11
1048United Kingdom2024-06-17
1049United Kingdom2024-06-08

On-Demand Data

NameIdCountryDate
Adams V Amigon1000Spain2024-06-17
Emily X Darakjy1001Argentina2024-06-04
Antonio U Amigon1002Argentina2024-06-02
Emily G Albares1003Japan2024-06-05
Aika B Nicka1004France2024-05-29
Francesco G Royster1005France2024-06-19
Cody X Iturbide1006Russia2024-06-07
Adams S Caldarera1007Spain2024-06-10
Emily X Paprocki1008Spain2024-06-16
Smith Q Glick1009India2024-06-19
Misaki E Rulapaugh1010Australia2024-06-08
Ricardo H Amigon1011France2024-06-04
Maria W Campain1012India2024-06-05
Ivar H Perin1013Germany2024-05-30
Stacey V Rulapaugh1014Russia2024-06-18
Aika J Bowley1015Brazil2024-06-11
Ashley P Sergi1016Japan2024-06-09
Aditya C Briddick1017Spain2024-05-29
David V Schemmer1018India2024-05-29
Misaki J Malet1019Italy2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar B DarakjyGermanyXuxue Feng NEGOTIATION
Octavia C ChuiItalyStephen Shaw NEW
Mujtaba H StockhamFranceElwin Sharvill NEGOTIATION
Salvatore M VocelkaCanadaIvan Magalhaes NEGOTIATION
Faith U KolmetzArgentinaBernardo Dominic QUALIFIED
Aika J PaprockiGermanyElwin Sharvill UNQUALIFIED
Clifford Q TollnerSpainAmy Elsner NEW
Izzy L BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Ashley B NickaFranceAnna Fali RENEWAL
Claire F OstroskyArgentinaElwin Sharvill PROPOSAL
Clifford T VenereJapanIvan Magalhaes NEGOTIATION
Kaitlin K ChuiUnited KingdomIoni Bowcher NEGOTIATION
Ashley A MorascaItalyXuxue Feng NEW
Jefferson R MorascaUnited KingdomOnyama Limba RENEWAL
Salvatore H StensethRussiaBernardo Dominic RENEWAL
Murillo D OldroydIndiaElwin Sharvill NEGOTIATION
Jefferson H PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Greenwood U AmigonFranceAnna Fali PROPOSAL
Jefferson X BriddickIndiaAnna Fali QUALIFIED
Maria L SlusarskiFranceAsiya Javayant RENEWAL
Munro W KuskoBrazilIvan Magalhaes PROPOSAL
Juan Y InouyeBrazilOnyama Limba RENEWAL
Mayumi A StockhamGermanyBernardo Dominic NEGOTIATION
Ashley R GarufiJapanXuxue Feng NEGOTIATION
Octavia W VocelkaRussiaAnna Fali RENEWAL
Emily F OldroydItalyIoni Bowcher NEGOTIATION
Deepesh W GauchoBrazilAmy Elsner RENEWAL
Costa X BriddickIndiaAsiya Javayant NEW
Julie B WhobreyCanadaElwin Sharvill UNQUALIFIED
Darci D StensethSpainStephen Shaw NEW
Deepesh B GarufiGermanyIvan Magalhaes QUALIFIED
Leja K RoysterArgentinaAmy Elsner PROPOSAL
Misaki N AlbaresBrazilAnna Fali NEW
Isabel P KolmetzIndiaAsiya Javayant UNQUALIFIED
Jones U FerenczArgentinaStephen Shaw UNQUALIFIED
Johnson T AlbaresAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois P MacleadBrazilXuxue Feng UNQUALIFIED
Adams L GauchoItalyOnyama Limba NEGOTIATION
Jeanfrancois Y ButtItalyStephen Shaw RENEWAL
Munro F RimRussiaBernardo Dominic NEW

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