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
Alejandro O MaletGermanyStephen Shaw UNQUALIFIED
Murillo A IturbideJapanAnna Fali UNQUALIFIED
Arvin I DoeJapanIoni Bowcher NEGOTIATION
Smith E GarufiFranceIvan Magalhaes NEW
James R InouyeGermanyAmy Elsner PROPOSAL
Morrow B FigeroaJapanElwin Sharvill UNQUALIFIED
Darci S RulapaughIndiaOnyama Limba RENEWAL
Misaki B GauchoIndiaXuxue Feng PROPOSAL
Murillo B PaprockiAustraliaAsiya Javayant QUALIFIED
David J SergiArgentinaXuxue Feng NEGOTIATION
Antonio F DoeJapanIoni Bowcher NEW
Silvio B SchemmerJapanBernardo Dominic QUALIFIED
Maria H GarufiIndiaIvan Magalhaes NEGOTIATION
Ashley F SchemmerBrazilStephen Shaw RENEWAL
Adams N PaprockiItalyAmy Elsner RENEWAL
Mujtaba R MaletGermanyStephen Shaw NEGOTIATION
Tony I AlbaresAustraliaIoni Bowcher NEW
Mujtaba R MorascaItalyStephen Shaw RENEWAL
Arvin W WaycottItalyElwin Sharvill RENEWAL
Maisha Z OstroskyItalyBernardo Dominic UNQUALIFIED
Mujtaba C NickaUnited KingdomOnyama Limba QUALIFIED
Jones B RoysterUnited KingdomAmy Elsner NEGOTIATION
Ricardo O GarufiIndiaAnna Fali QUALIFIED
Jones M DoeArgentinaOnyama Limba UNQUALIFIED
Chavez H VenereArgentinaIvan Magalhaes RENEWAL
Isabel Q MaletCanadaIvan Magalhaes NEW
Jones V ButtUnited KingdomAmy Elsner RENEWAL
Chavez X PoquetteCanadaAmy Elsner UNQUALIFIED
Jennifer W GarufiFranceElwin Sharvill PROPOSAL
Cody M TollnerArgentinaIvan Magalhaes QUALIFIED
Rodrigues I BowleyGermanyAsiya Javayant RENEWAL
Ashley Q VenereCanadaAmy Elsner PROPOSAL
Mayumi T RulapaughArgentinaIvan Magalhaes PROPOSAL
Chavez M AmigonItalyBernardo Dominic PROPOSAL
Kadeem N AmigonCanadaBernardo Dominic NEGOTIATION
Ricardo U StockhamIndiaXuxue Feng NEW
Isabel T SaylorsUnited KingdomAnna Fali UNQUALIFIED
Ricardo F BowleyAustraliaAmy Elsner UNQUALIFIED
Smith G KolmetzCanadaAsiya Javayant NEGOTIATION
Silvio O OldroydArgentinaAsiya Javayant RENEWAL
Salvatore Y FerenczFranceStephen Shaw RENEWAL
Salvatore Z IturbideRussiaElwin Sharvill PROPOSAL
Antonio I FerenczSpainOnyama Limba NEGOTIATION
Claire K ShinkoSpainIvan Magalhaes UNQUALIFIED
Aditya R BowleyCanadaAmy Elsner UNQUALIFIED
Nicolas M VocelkaUnited KingdomBernardo Dominic RENEWAL
James B PoquetteItalyAsiya Javayant QUALIFIED
Aika Z GarufiItalyAmy Elsner UNQUALIFIED
Adams C FerenczCanadaOnyama Limba UNQUALIFIED
Greenwood A DoeCanadaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo Q ShinkoUnited KingdomAmy Elsner PROPOSAL
Silvio X ButtRussiaIvan Magalhaes UNQUALIFIED
Claire P SchemmerJapanAnna Fali RENEWAL
Morrow S RimBrazilBernardo Dominic NEGOTIATION
Nicolas R AmigonJapanAnna Fali NEGOTIATION
Ivar V RoysterGermanyOnyama Limba UNQUALIFIED
Johnson Q FollerFranceIvan Magalhaes UNQUALIFIED
Clifford N GauchoArgentinaXuxue Feng RENEWAL
Cody I SaylorsRussiaXuxue Feng PROPOSAL
Clifford R BologniaIndiaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas R AlbaresSpain2025-04-17Rousseaux, Michael Esq PROPOSAL98Ioni Bowcher
1001Cody Z SergiCanada2025-04-07Benton, John B Jr RENEWAL94Anna Fali
1002Sinclair I InouyeCanada2025-04-29Dorl, James J Esq NEW5Bernardo Dominic
1003Alejandro Z ChuiRussia2025-04-21Feltz Printing Service RENEWAL26Amy Elsner
1004Smith B OldroydItaly2025-04-23King, Christopher A Esq UNQUALIFIED46Ivan Magalhaes
1005Octavia L MacleadJapan2025-04-08Rousseaux, Michael Esq NEGOTIATION80Anna Fali
1006Mayumi O DoeIndia2025-04-01Benton, John B Jr RENEWAL16Xuxue Feng
1007Leja P RimJapan2025-04-20Benton, John B Jr UNQUALIFIED90Asiya Javayant
1008James C SchemmerAustralia2025-04-11Feiner Bros UNQUALIFIED46Amy Elsner
1009Greenwood G BriddickAustralia2025-04-26Morlong Associates UNQUALIFIED8Onyama Limba
1010Octavia W FollerRussia2025-04-18Chemel, James L Cpa PROPOSAL93Xuxue Feng
1011Ricardo A VocelkaCanada2025-04-04Truhlar And Truhlar Attys PROPOSAL25Elwin Sharvill
1012Adams T NickaRussia2025-04-21Benton, John B Jr RENEWAL63Xuxue Feng
1013Izzy N StensethBrazil2025-04-15Rousseaux, Michael Esq QUALIFIED10Asiya Javayant
1014Ricardo I MaletCanada2025-04-15Commercial Press NEW4Ioni Bowcher
1015Silvio L CaudyItaly2025-04-18Truhlar And Truhlar Attys PROPOSAL82Amy Elsner
1016Jefferson W CaldareraJapan2025-04-10King, Christopher A Esq NEGOTIATION86Asiya Javayant
1017Mayumi Z GlickGermany2025-04-14Truhlar And Truhlar Attys RENEWAL56Xuxue Feng
1018Greenwood M CaldareraFrance2025-04-13Dorl, James J Esq NEGOTIATION58Asiya Javayant
1019Aruna U FerenczItaly2025-04-08Chanay, Jeffrey A Esq PROPOSAL17Asiya Javayant
1020Mayumi W ChuiItaly2025-04-26Truhlar And Truhlar Attys PROPOSAL34Anna Fali
1021Ricardo B WaycottUnited Kingdom2025-04-12Rangoni Of Florence UNQUALIFIED77Asiya Javayant
1022Jones E InouyeAustralia2025-04-18King, Christopher A Esq NEW11Asiya Javayant
1023Faith T KuskoIndia2025-04-17Rousseaux, Michael Esq NEW59Anna Fali
1024David R NickaArgentina2025-04-28Printing Dimensions NEGOTIATION22Anna Fali
1025Jeanfrancois S NestleArgentina2025-04-25Dorl, James J Esq NEW39Amy Elsner
1026Sinclair Z FlosiRussia2025-04-16Dorl, James J Esq RENEWAL88Amy Elsner
1027James R VocelkaJapan2025-04-17Buckley Miller Wright NEW45Bernardo Dominic
1028Antonio T StensethRussia2025-04-28Chapman, Ross E Esq RENEWAL85Amy Elsner
1029Salvatore P CaudyIndia2025-04-17Buckley Miller Wright NEGOTIATION5Ioni Bowcher
1030Aika S GauchoBrazil2025-04-07Feltz Printing Service NEGOTIATION15Bernardo Dominic
1031Costa J GarufiSpain2025-04-14Feltz Printing Service QUALIFIED22Elwin Sharvill
1032Maisha C BriddickRussia2025-04-20Chanay, Jeffrey A Esq RENEWAL71Elwin Sharvill
1033Claire Z WaycottIndia2025-04-21Chapman, Ross E Esq NEW78Anna Fali
1034Emily R WhobreyArgentina2025-04-17Chemel, James L Cpa PROPOSAL60Xuxue Feng
1035Misaki J StensethCanada2025-04-08Printing Dimensions NEW88Stephen Shaw
1036Octavia Z CaldareraRussia2025-04-26Truhlar And Truhlar Attys UNQUALIFIED94Onyama Limba
1037Isabel M AlbaresUnited Kingdom2025-04-24King, Christopher A Esq PROPOSAL11Stephen Shaw
1038Cody D RoysterItaly2025-04-08Rousseaux, Michael Esq QUALIFIED33Anna Fali
1039James L AlbaresRussia2025-04-27Chapman, Ross E Esq QUALIFIED40Onyama Limba
1040Isabel S BologniaArgentina2025-04-13Rousseaux, Michael Esq PROPOSAL71Anna Fali
1041Stacey N DarakjyArgentina2025-04-09Chemel, James L Cpa PROPOSAL41Anna Fali
1042Murillo D NickaRussia2025-04-19Morlong Associates NEGOTIATION38Onyama Limba
1043Munro N CampainGermany2025-04-15Benton, John B Jr QUALIFIED18Elwin Sharvill
1044Antonio D SergiRussia2025-04-12King, Christopher A Esq QUALIFIED60Elwin Sharvill
1045Ashley X FollerIndia2025-04-23Rousseaux, Michael Esq UNQUALIFIED78Anna Fali
1046Rodrigues X FerenczArgentina2025-03-31Rangoni Of Florence PROPOSAL55Onyama Limba
1047Claire H MacleadFrance2025-04-22Dorl, James J Esq RENEWAL29Amy Elsner
1048Maria D MacleadUnited Kingdom2025-04-12Rousseaux, Michael Esq NEW90Xuxue Feng
1049Smith R NestleIndia2025-04-29Chemel, James L Cpa NEGOTIATION83Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leja B WaycottBrazilIoni Bowcher PROPOSAL
Chavez M ButtJapanBernardo Dominic QUALIFIED
David L WieserIndiaIvan Magalhaes RENEWAL
Maisha M FlosiFranceAnna Fali UNQUALIFIED
Sinclair Q OstroskyUnited KingdomBernardo Dominic RENEWAL
Alejandro A InouyeBrazilStephen Shaw UNQUALIFIED
Tony X StensethJapanAsiya Javayant PROPOSAL
Isabel H PerinBrazilIvan Magalhaes UNQUALIFIED
Rodrigues O RoysterUnited KingdomElwin Sharvill NEGOTIATION
Costa C PoquetteBrazilOnyama Limba NEGOTIATION
Alejandro J WhobreySpainAnna Fali RENEWAL
Nicolas L GauchoFranceElwin Sharvill NEGOTIATION
Salvatore Q DoeIndiaAsiya Javayant RENEWAL
Claire I NestleUnited KingdomElwin Sharvill NEW
Greenwood K MarrierIndiaOnyama Limba QUALIFIED
Aruna N SaylorsBrazilXuxue Feng NEGOTIATION
Leja F FerenczRussiaAsiya Javayant QUALIFIED
Salvatore Q FlosiUnited KingdomAmy Elsner UNQUALIFIED
Johnson P PaprockiRussiaElwin Sharvill UNQUALIFIED
Francesco W PerinJapanAnna Fali QUALIFIED
James C AmigonBrazilOnyama Limba QUALIFIED
Izzy Y SchemmerIndiaBernardo Dominic PROPOSAL
Francesco B PoquetteAustraliaStephen Shaw UNQUALIFIED
Deepesh C SaylorsIndiaAnna Fali NEGOTIATION
Izzy U SergiJapanIvan Magalhaes NEW
Ricardo R NestleIndiaAnna Fali NEW
Deepesh Q DoeItalyAsiya Javayant RENEWAL
Smith W MaletBrazilXuxue Feng QUALIFIED
Costa N DilliardUnited KingdomIvan Magalhaes QUALIFIED
Ivar Q GarufiCanadaAmy Elsner UNQUALIFIED
Maisha P KolmetzSpainAsiya Javayant QUALIFIED
Cody J BowleyArgentinaElwin Sharvill PROPOSAL
Silvio P MaletRussiaIoni Bowcher NEW
Jeanfrancois I MaletGermanyIoni Bowcher QUALIFIED
Nicolas O CampainAustraliaBernardo Dominic NEW
Deepesh Z WaycottGermanyElwin Sharvill RENEWAL
Arvin F ChuiIndiaAsiya Javayant NEW
Antonio M DarakjyCanadaXuxue Feng QUALIFIED
Izzy O PoquetteBrazilXuxue Feng RENEWAL
Leon D WieserIndiaStephen Shaw NEW
Alejandro N RutaItalyOnyama Limba NEGOTIATION
Juan R WaycottFranceXuxue Feng QUALIFIED
Smith E GarufiIndiaOnyama Limba QUALIFIED
Nicolas W PaprockiAustraliaIoni Bowcher RENEWAL
Darci E StensethCanadaXuxue Feng NEGOTIATION
Nicolas V CaldareraAustraliaIvan Magalhaes RENEWAL
Leon S ButtArgentinaAsiya Javayant UNQUALIFIED
Antonio O PaprockiSpainBernardo Dominic PROPOSAL
Munro Y AlbaresCanadaAsiya Javayant NEGOTIATION
Aditya R VenereBrazilElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Greenwood D Figeroa
Kaitlin O Caudy
Leon U Poquette
Clifford R Schemmer
Leon B Whobrey
Aika Z Caldarera
Smith L Sergi
Isabel F Tollner
Ashley B Malet
Clifford R Rulapaugh
Emily Z Oldroyd
Aditya W Briddick
Octavia W Doe
Salvatore F Nicka
Murillo V Rulapaugh
Costa Z Caldarera
Mujtaba U Darakjy
Ricardo J Foller
Darci T Gaucho
David C Vocelka
Jones M Rulapaugh
Ashley R Glick
Stacey T Maclead
Ashley L Flosi
David V Inouye
Jones W Glick
Morrow P Royster
Mujtaba U Ostrosky
Juan N Ruta
Isabel Q Iturbide
Jones G Kusko
Aruna M Stockham
Emily Y Poquette
Kaitlin Q Chui
Smith V Oldroyd
Jeanfrancois B Stenseth
Greenwood D Perin
Nicolas Y Ostrosky
Jones E Ferencz
Clifford B Poquette
Rodrigues T Marrier
Isabel N Caldarera
Munro Q Marrier
Maria F Figeroa
Mayumi J Ruta
Cody C Darakjy
Maisha O Oldroyd
Aika I Poquette
Murillo M Foller
Misaki Q Ostrosky
IdCountryDate
1000Japan2025-04-05
1001France2025-04-22
1002Brazil2025-04-11
1003Canada2025-04-03
1004Brazil2025-04-15
1005Brazil2025-04-17
1006Brazil2025-04-21
1007United Kingdom2025-04-16
1008Argentina2025-04-16
1009United Kingdom2025-04-03
1010United Kingdom2025-04-08
1011Spain2025-04-03
1012Brazil2025-04-24
1013Argentina2025-04-11
1014Australia2025-04-18
1015India2025-04-11
1016Spain2025-04-23
1017Brazil2025-04-03
1018Brazil2025-04-13
1019Canada2025-04-08
1020India2025-04-18
1021Russia2025-04-12
1022Germany2025-04-18
1023India2025-04-19
1024Italy2025-04-14
1025Italy2025-04-19
1026Argentina2025-04-28
1027United Kingdom2025-04-19
1028Italy2025-04-18
1029Canada2025-04-06
1030Argentina2025-04-01
1031Brazil2025-04-19
1032Canada2025-04-16
1033Italy2025-03-31
1034United Kingdom2025-04-11
1035Spain2025-04-18
1036France2025-04-16
1037Russia2025-04-19
1038Italy2025-04-29
1039Australia2025-04-22
1040India2025-04-11
1041India2025-04-29
1042France2025-03-31
1043India2025-04-16
1044Canada2025-04-08
1045India2025-04-03
1046Spain2025-04-25
1047Australia2025-04-02
1048France2025-04-22
1049India2025-04-09

On-Demand Data

NameIdCountryDate
Silvio Q Caldarera1000India2025-04-16
Nicolas D Bolognia1001Germany2025-04-22
Deepesh S Gaucho1002Canada2025-04-25
Ashley I Ferencz1003Russia2025-04-20
Johnson U Flosi1004Argentina2025-04-22
Izzy S Kolmetz1005Australia2025-03-31
Mujtaba R Ruta1006Canada2025-04-25
Ivar S Wieser1007Canada2025-04-14
Johnson Y Kusko1008Japan2025-04-26
Claire X Figeroa1009Canada2025-04-07
Julie L Saylors1010Japan2025-04-06
Ashley Y Campain1011Brazil2025-04-14
Leon L Tollner1012Italy2025-04-02
Arvin X Schemmer1013Italy2025-04-12
Octavia Z Oldroyd1014France2025-04-23
Isabel T Stenseth1015Germany2025-04-19
Ivar S Foller1016Argentina2025-04-28
Rodrigues T Shinko1017Germany2025-04-06
Smith O Wieser1018France2025-04-02
Aika E Gaucho1019Argentina2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Q GillianGermanyOnyama Limba NEW
David J PoquetteItalyBernardo Dominic NEW
Chavez E PoquetteRussiaElwin Sharvill PROPOSAL
Jennifer W SaylorsCanadaAnna Fali QUALIFIED
Smith F KuskoUnited KingdomAnna Fali PROPOSAL
Ashley R NestleGermanyXuxue Feng PROPOSAL
Maisha Y SergiUnited KingdomStephen Shaw QUALIFIED
Leon Z SchemmerCanadaElwin Sharvill NEW
Cody C FlosiFranceXuxue Feng QUALIFIED
Munro J DoeBrazilIoni Bowcher PROPOSAL
Sinclair F SlusarskiRussiaStephen Shaw QUALIFIED
Silvio F CaldareraArgentinaIoni Bowcher UNQUALIFIED
Cody U DarakjyCanadaBernardo Dominic RENEWAL
Deepesh T NestleItalyAmy Elsner NEW
David O FerenczCanadaOnyama Limba UNQUALIFIED
Stacey F PerinCanadaOnyama Limba NEW
Ricardo V FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Tony Y OldroydSpainElwin Sharvill NEW
James G WaycottIndiaOnyama Limba RENEWAL
Octavia O IturbideFranceXuxue Feng QUALIFIED
Maisha E ShinkoRussiaAmy Elsner QUALIFIED
Izzy T KolmetzIndiaIvan Magalhaes NEGOTIATION
Jennifer G BowleySpainAmy Elsner QUALIFIED
Murillo D ShinkoBrazilAsiya Javayant UNQUALIFIED
Sinclair H SlusarskiUnited KingdomXuxue Feng NEW
James B ButtBrazilAnna Fali QUALIFIED
Kadeem K CampainUnited KingdomBernardo Dominic RENEWAL
Arvin F AmigonAustraliaIvan Magalhaes RENEWAL
Greenwood C NickaRussiaIvan Magalhaes UNQUALIFIED
Cody I BriddickFranceOnyama Limba NEW
Faith L GlickItalyElwin Sharvill UNQUALIFIED
Ivar Y MaletGermanyAnna Fali UNQUALIFIED
Kadeem O GarufiAustraliaOnyama Limba PROPOSAL
James Z IturbideBrazilStephen Shaw NEW
James T RimRussiaAsiya Javayant NEW
Chavez Q StockhamArgentinaStephen Shaw NEGOTIATION
Rodrigues V MacleadRussiaStephen Shaw NEGOTIATION
Smith C CaudySpainBernardo Dominic NEW
Johnson M WieserBrazilStephen Shaw UNQUALIFIED
Isabel B MaletUnited KingdomElwin Sharvill 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>