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
Johnson V WieserIndiaBernardo Dominic UNQUALIFIED
Kaitlin B RoysterArgentinaStephen Shaw UNQUALIFIED
Munro U ChuiRussiaAsiya Javayant NEW
Costa J NestleAustraliaIvan Magalhaes NEW
Morrow G OldroydFranceElwin Sharvill PROPOSAL
Maria F MaletRussiaAmy Elsner PROPOSAL
Tony Z VocelkaBrazilAnna Fali PROPOSAL
Ashley E VenereBrazilOnyama Limba UNQUALIFIED
Jones V BriddickAustraliaStephen Shaw PROPOSAL
Nicolas K RimGermanyElwin Sharvill QUALIFIED
Francesco N FigeroaSpainIoni Bowcher PROPOSAL
Deepesh V IturbideSpainStephen Shaw NEW
Stacey X RoysterIndiaXuxue Feng QUALIFIED
Cody N ShinkoItalyIoni Bowcher UNQUALIFIED
Clifford L SchemmerCanadaOnyama Limba RENEWAL
Silvio H OstroskyFranceStephen Shaw NEW
Faith P CaudyBrazilAnna Fali RENEWAL
Salvatore S StensethBrazilBernardo Dominic UNQUALIFIED
Sinclair Y InouyeCanadaXuxue Feng QUALIFIED
Ivar C KuskoArgentinaAsiya Javayant NEGOTIATION
Salvatore F IturbideJapanIoni Bowcher QUALIFIED
Maria G AlbaresRussiaXuxue Feng UNQUALIFIED
Kaitlin I GarufiAustraliaIvan Magalhaes QUALIFIED
Leon X DarakjyArgentinaOnyama Limba QUALIFIED
James C GauchoArgentinaAmy Elsner RENEWAL
Smith J NickaCanadaElwin Sharvill NEGOTIATION
Antonio S KuskoGermanyAsiya Javayant NEGOTIATION
Mujtaba X WhobreyGermanyIvan Magalhaes RENEWAL
Kaitlin V BologniaArgentinaAmy Elsner NEW
James S ButtItalyIoni Bowcher QUALIFIED
Ivar C MaletRussiaElwin Sharvill NEGOTIATION
Maria N StensethCanadaStephen Shaw RENEWAL
James F NestleSpainAsiya Javayant NEW
Rodrigues E DoeBrazilIvan Magalhaes PROPOSAL
Chavez Y GarufiUnited KingdomStephen Shaw NEW
Claire A GillianJapanAsiya Javayant NEGOTIATION
Claire D ChuiIndiaOnyama Limba RENEWAL
Leon W ButtSpainIvan Magalhaes PROPOSAL
Silvio X ChuiGermanyIoni Bowcher NEGOTIATION
Stacey D CaudySpainBernardo Dominic QUALIFIED
Cody M FerenczBrazilAnna Fali RENEWAL
Aika X InouyeJapanStephen Shaw QUALIFIED
Salvatore S AmigonItalyAnna Fali UNQUALIFIED
Costa Q DarakjyJapanAnna Fali QUALIFIED
Isabel G BowleyIndiaAnna Fali QUALIFIED
Juan C WaycottUnited KingdomAsiya Javayant RENEWAL
Aika K GillianFranceIoni Bowcher NEGOTIATION
Nicolas B MaletGermanyElwin Sharvill NEGOTIATION
Johnson N MaletItalyXuxue Feng NEW
Johnson O CampainRussiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Mayumi C RimAustraliaAmy Elsner UNQUALIFIED
Johnson E RulapaughFranceIvan Magalhaes QUALIFIED
Murillo J OldroydFranceIvan Magalhaes RENEWAL
Clifford N DoeGermanyStephen Shaw RENEWAL
Antonio G GarufiFranceAmy Elsner NEGOTIATION
Murillo L BowleyAustraliaIvan Magalhaes RENEWAL
Julie G GillianCanadaAnna Fali QUALIFIED
Aditya B TollnerIndiaBernardo Dominic NEW
Misaki Y RulapaughRussiaBernardo Dominic RENEWAL
Silvio U GarufiJapanOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood C FigeroaIndia2024-06-20Rangoni Of Florence NEGOTIATION23Asiya Javayant
1001Leon J StensethFrance2024-06-12Feiner Bros PROPOSAL97Bernardo Dominic
1002Morrow X RimAustralia2024-06-05Benton, John B Jr UNQUALIFIED7Onyama Limba
1003Murillo D FigeroaUnited Kingdom2024-06-14Printing Dimensions QUALIFIED40Ivan Magalhaes
1004Mujtaba O RoysterArgentina2024-05-25Chemel, James L Cpa NEGOTIATION23Asiya Javayant
1005Clifford P InouyeBrazil2024-06-17Feiner Bros NEW87Asiya Javayant
1006Francesco P MarrierSpain2024-06-03Morlong Associates NEW83Bernardo Dominic
1007Maria T KolmetzBrazil2024-06-17King, Christopher A Esq RENEWAL97Amy Elsner
1008Morrow O AmigonAustralia2024-06-13Buckley Miller Wright NEGOTIATION45Ioni Bowcher
1009Octavia V VocelkaSpain2024-05-25Commercial Press NEGOTIATION18Onyama Limba
1010Antonio H DilliardGermany2024-06-07Morlong Associates NEGOTIATION85Ioni Bowcher
1011Juan P RutaBrazil2024-05-24Chanay, Jeffrey A Esq NEW26Anna Fali
1012Kaitlin F StockhamSpain2024-06-05Rangoni Of Florence NEW10Amy Elsner
1013Jefferson K FollerItaly2024-05-30Chapman, Ross E Esq NEGOTIATION85Onyama Limba
1014Maria G RulapaughFrance2024-06-04Commercial Press QUALIFIED34Ioni Bowcher
1015Munro Z BowleyCanada2024-06-05Chapman, Ross E Esq NEW36Onyama Limba
1016Emily Q VocelkaIndia2024-06-04Buckley Miller Wright QUALIFIED97Onyama Limba
1017Maria D IturbideSpain2024-06-21Buckley Miller Wright UNQUALIFIED83Xuxue Feng
1018Morrow N BologniaCanada2024-05-29Rousseaux, Michael Esq QUALIFIED57Ioni Bowcher
1019Arvin Y PerinArgentina2024-05-23Feiner Bros QUALIFIED93Amy Elsner
1020James L PoquetteGermany2024-06-06Morlong Associates RENEWAL71Bernardo Dominic
1021Chavez B GauchoSpain2024-06-12Morlong Associates UNQUALIFIED29Elwin Sharvill
1022Adams S GillianBrazil2024-06-10Printing Dimensions PROPOSAL52Bernardo Dominic
1023Tony Y OldroydIndia2024-06-17Chemel, James L Cpa UNQUALIFIED3Ioni Bowcher
1024Leja A SchemmerCanada2024-06-16Feltz Printing Service RENEWAL62Bernardo Dominic
1025Greenwood O SlusarskiFrance2024-05-31Truhlar And Truhlar Attys RENEWAL36Bernardo Dominic
1026Aditya Y GarufiGermany2024-05-25King, Christopher A Esq NEW95Bernardo Dominic
1027Aditya U RulapaughIndia2024-06-21Dorl, James J Esq QUALIFIED29Elwin Sharvill
1028Leja W FigeroaJapan2024-05-30Rangoni Of Florence NEW19Elwin Sharvill
1029Arvin N GillianGermany2024-05-30Benton, John B Jr QUALIFIED82Anna Fali
1030Jones F RutaIndia2024-06-11King, Christopher A Esq QUALIFIED36Amy Elsner
1031Nicolas H GauchoUnited Kingdom2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED56Amy Elsner
1032Jennifer O WhobreyFrance2024-06-02Morlong Associates UNQUALIFIED35Amy Elsner
1033Jones W KuskoUnited Kingdom2024-05-31Benton, John B Jr NEGOTIATION17Stephen Shaw
1034Cody Z BowleyCanada2024-06-17Feltz Printing Service NEW39Anna Fali
1035Claire O ShinkoAustralia2024-05-28Feltz Printing Service PROPOSAL21Amy Elsner
1036Deepesh R FlosiItaly2024-06-03Feiner Bros RENEWAL73Xuxue Feng
1037Julie Q SergiBrazil2024-06-13Rousseaux, Michael Esq NEGOTIATION54Onyama Limba
1038David L StockhamIndia2024-06-14Feltz Printing Service UNQUALIFIED80Stephen Shaw
1039Salvatore U GlickIndia2024-05-30Morlong Associates UNQUALIFIED23Xuxue Feng
1040Darci T DarakjyIndia2024-06-09Buckley Miller Wright QUALIFIED40Xuxue Feng
1041Jeanfrancois X StensethIndia2024-05-31Rousseaux, Michael Esq NEW22Elwin Sharvill
1042Ricardo V PaprockiCanada2024-05-31Feltz Printing Service QUALIFIED38Anna Fali
1043Leja X BowleyJapan2024-06-05Dorl, James J Esq NEW91Amy Elsner
1044Salvatore C GillianItaly2024-06-14Commercial Press RENEWAL52Amy Elsner
1045Smith R RutaIndia2024-06-02King, Christopher A Esq NEGOTIATION82Ioni Bowcher
1046Leja C MarrierCanada2024-06-02Commercial Press NEGOTIATION83Xuxue Feng
1047Kaitlin B WaycottFrance2024-05-31Rangoni Of Florence NEW94Onyama Limba
1048Juan F RimBrazil2024-06-07Buckley Miller Wright NEW64Onyama Limba
1049Arvin Q DilliardArgentina2024-06-04Truhlar And Truhlar Attys NEGOTIATION63Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jones D NestleIndiaXuxue Feng QUALIFIED
Chavez O RulapaughBrazilStephen Shaw QUALIFIED
Francesco F MarrierCanadaOnyama Limba QUALIFIED
Leon I RimCanadaAsiya Javayant PROPOSAL
Julie U MaletJapanIvan Magalhaes QUALIFIED
Leja G IturbideItalyElwin Sharvill UNQUALIFIED
Sinclair A SergiAustraliaXuxue Feng RENEWAL
Tony N NickaFranceAnna Fali NEGOTIATION
Ivar L CaldareraUnited KingdomAnna Fali NEGOTIATION
Deepesh S NickaBrazilElwin Sharvill NEW
Morrow N BriddickBrazilStephen Shaw QUALIFIED
Isabel O AmigonCanadaAnna Fali QUALIFIED
Jefferson B OstroskyArgentinaAnna Fali QUALIFIED
Ricardo B BologniaIndiaStephen Shaw PROPOSAL
Ivar M PerinCanadaAmy Elsner UNQUALIFIED
Maria N StockhamRussiaXuxue Feng NEW
Chavez R RulapaughFranceBernardo Dominic NEW
David U RulapaughSpainAmy Elsner RENEWAL
David G FerenczIndiaIoni Bowcher NEGOTIATION
Jennifer M DoeIndiaIvan Magalhaes NEGOTIATION
Mayumi T FollerGermanyAsiya Javayant UNQUALIFIED
Adams Y DarakjyCanadaAsiya Javayant NEGOTIATION
Murillo F DoeGermanyOnyama Limba NEW
Jennifer X WhobreyFranceIoni Bowcher PROPOSAL
Ivar L VocelkaArgentinaIoni Bowcher QUALIFIED
Claire X BowleySpainElwin Sharvill UNQUALIFIED
Greenwood T AmigonBrazilIoni Bowcher NEW
Izzy M FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore C DoeCanadaIoni Bowcher QUALIFIED
Maria Q GlickAustraliaAnna Fali NEW
Maisha F VocelkaItalyAmy Elsner QUALIFIED
Arvin L WhobreyItalyIoni Bowcher UNQUALIFIED
Chavez E WieserItalyIvan Magalhaes UNQUALIFIED
Nicolas V GlickGermanyElwin Sharvill NEW
Arvin L PerinJapanXuxue Feng NEW
Greenwood C OldroydBrazilBernardo Dominic RENEWAL
Murillo K GauchoAustraliaIoni Bowcher UNQUALIFIED
Kaitlin Y GauchoCanadaIvan Magalhaes UNQUALIFIED
Julie X FigeroaAustraliaAmy Elsner UNQUALIFIED
Leon F MaletSpainAsiya Javayant PROPOSAL
Francesco Q FlosiAustraliaIvan Magalhaes NEW
Leja H RoysterIndiaIoni Bowcher RENEWAL
James I OstroskyCanadaAnna Fali NEGOTIATION
Nicolas H WieserArgentinaAmy Elsner NEGOTIATION
Faith O SergiAustraliaXuxue Feng QUALIFIED
Deepesh S FollerCanadaElwin Sharvill RENEWAL
James P CampainAustraliaStephen Shaw RENEWAL
Nicolas R VocelkaIndiaElwin Sharvill NEW
Kadeem S OstroskyIndiaIoni Bowcher NEGOTIATION
Costa D PoquetteUnited KingdomIoni Bowcher PROPOSAL
Frozen Columns
Name
Aruna D Saylors
Johnson D Sergi
Salvatore O Royster
Jennifer M Rulapaugh
Alejandro J Nicka
Emily A Saylors
Faith L Briddick
Ashley D Nestle
Emily W Inouye
Darci P Doe
Rodrigues X Rulapaugh
Stacey L Tollner
Antonio N Amigon
Sinclair J Bowley
Rodrigues E Gaucho
Salvatore R Sergi
Greenwood W Poquette
Kaitlin C Ostrosky
Greenwood S Malet
Cody Y Inouye
Salvatore K Chui
Stacey W Wieser
Salvatore Z Nicka
Adams V Tollner
Antonio Q Flosi
Aika M Figeroa
Mujtaba P Stenseth
Silvio A Waycott
Deepesh U Wieser
Kadeem Y Flosi
Adams X Poquette
Kaitlin T Doe
Jones I Vocelka
Chavez F Kusko
Stacey J Slusarski
Clifford Y Caldarera
Antonio Y Chui
Kadeem X Campain
Sinclair O Bolognia
Kaitlin V Chui
Stacey H Albares
Aruna N Maclead
Adams Q Foller
Ivar E Perin
Munro K Schemmer
Ivar V Garufi
Aruna Y Campain
Aruna X Stockham
Maria P Albares
Aruna A Glick
IdCountryDate
1000Germany2024-06-03
1001Japan2024-06-11
1002United Kingdom2024-05-30
1003Canada2024-06-12
1004France2024-05-29
1005India2024-05-27
1006Spain2024-06-15
1007Canada2024-05-26
1008Japan2024-05-30
1009United Kingdom2024-05-26
1010Russia2024-05-25
1011Germany2024-06-03
1012India2024-05-24
1013Italy2024-06-12
1014Spain2024-06-12
1015Germany2024-06-12
1016Spain2024-06-03
1017United Kingdom2024-05-30
1018France2024-06-01
1019Russia2024-05-28
1020Spain2024-05-27
1021United Kingdom2024-05-29
1022Japan2024-06-13
1023Spain2024-06-17
1024Japan2024-06-21
1025France2024-06-06
1026France2024-05-31
1027Argentina2024-06-14
1028Japan2024-06-11
1029India2024-06-07
1030India2024-06-15
1031Japan2024-05-31
1032United Kingdom2024-06-12
1033France2024-05-29
1034Australia2024-05-27
1035Japan2024-05-30
1036Germany2024-05-29
1037Italy2024-06-17
1038France2024-06-10
1039France2024-06-18
1040Italy2024-05-26
1041France2024-05-29
1042Germany2024-06-01
1043Germany2024-06-17
1044Japan2024-06-18
1045Italy2024-06-11
1046United Kingdom2024-06-20
1047Russia2024-06-21
1048Japan2024-05-29
1049Japan2024-06-04

On-Demand Data

NameIdCountryDate
Deepesh D Malet1000Brazil2024-06-14
Izzy F Gillian1001Japan2024-06-18
Faith E Iturbide1002Brazil2024-06-03
Jefferson J Stenseth1003Argentina2024-06-11
James V Ferencz1004Australia2024-06-15
Jones Y Nestle1005Canada2024-06-14
Izzy A Ferencz1006Italy2024-05-26
Kadeem R Malet1007Argentina2024-06-17
Leja F Slusarski1008France2024-05-28
Darci G Albares1009France2024-05-30
Kadeem W Nestle1010Argentina2024-06-10
Aditya W Kolmetz1011Spain2024-06-01
Maisha O Shinko1012France2024-05-31
Adams E Shinko1013Canada2024-05-29
Aika F Perin1014United Kingdom2024-05-26
Mayumi T Rulapaugh1015Spain2024-05-23
Costa M Doe1016United Kingdom2024-06-06
Stacey D Malet1017Canada2024-06-20
Aruna X Caudy1018France2024-05-24
Maria F Nicka1019India2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy S SaylorsArgentinaXuxue Feng RENEWAL
Aruna F ChuiSpainAmy Elsner UNQUALIFIED
Sinclair A StensethJapanIoni Bowcher RENEWAL
Emily R RulapaughGermanyBernardo Dominic QUALIFIED
Nicolas B MaletBrazilAmy Elsner QUALIFIED
Murillo B TollnerGermanyAnna Fali QUALIFIED
David B KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Kadeem S VenereItalyElwin Sharvill QUALIFIED
Mayumi W GlickUnited KingdomIvan Magalhaes NEGOTIATION
Julie D MaletArgentinaStephen Shaw NEW
David L GillianJapanAmy Elsner RENEWAL
Ricardo J RoysterAustraliaStephen Shaw QUALIFIED
Mujtaba N ShinkoJapanStephen Shaw NEW
Maisha N AmigonJapanBernardo Dominic RENEWAL
Darci N RutaGermanyXuxue Feng PROPOSAL
Izzy G BriddickItalyOnyama Limba NEW
Francesco F NickaUnited KingdomAnna Fali UNQUALIFIED
Tony L VenereGermanyElwin Sharvill RENEWAL
Nicolas P InouyeAustraliaOnyama Limba PROPOSAL
Jennifer Q StensethCanadaAnna Fali UNQUALIFIED
Morrow M SergiGermanyAsiya Javayant QUALIFIED
Alejandro U VenereArgentinaIoni Bowcher NEGOTIATION
Emily I ChuiUnited KingdomOnyama Limba PROPOSAL
Julie G MarrierUnited KingdomXuxue Feng RENEWAL
Aditya Y FlosiIndiaIvan Magalhaes RENEWAL
Adams R KuskoAustraliaAmy Elsner QUALIFIED
Costa X SergiSpainIoni Bowcher UNQUALIFIED
Mujtaba D WhobreyAustraliaIoni Bowcher RENEWAL
Aditya Y DarakjyCanadaOnyama Limba QUALIFIED
Ashley T DilliardUnited KingdomXuxue Feng PROPOSAL
Ivar V VenereArgentinaAsiya Javayant UNQUALIFIED
Cody Y DoeJapanAnna Fali QUALIFIED
Stacey O WieserArgentinaStephen Shaw RENEWAL
Silvio W DilliardGermanyBernardo Dominic PROPOSAL
David E FlosiArgentinaAnna Fali RENEWAL
Jones V RulapaughRussiaXuxue Feng RENEWAL
Isabel C InouyeFranceBernardo Dominic NEW
Octavia A NestleAustraliaAnna Fali NEGOTIATION
Costa B BriddickItalyBernardo Dominic NEW
Darci F FollerBrazilIvan Magalhaes 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>