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
Antonio D MaletArgentinaBernardo Dominic UNQUALIFIED
Adams R RimCanadaStephen Shaw RENEWAL
Faith Y StensethFranceOnyama Limba PROPOSAL
Aika W MorascaAustraliaElwin Sharvill RENEWAL
Faith M RimUnited KingdomStephen Shaw UNQUALIFIED
Leon P FlosiBrazilElwin Sharvill NEGOTIATION
Mujtaba Z FollerAustraliaAsiya Javayant RENEWAL
David I FigeroaIndiaStephen Shaw QUALIFIED
Kadeem T DarakjyJapanAsiya Javayant RENEWAL
Alejandro I CaldareraBrazilStephen Shaw PROPOSAL
Johnson M ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Jones Y OstroskyGermanyAsiya Javayant PROPOSAL
Aruna D TollnerUnited KingdomStephen Shaw PROPOSAL
Julie L RulapaughUnited KingdomElwin Sharvill NEW
Jennifer I GillianItalyOnyama Limba PROPOSAL
Wickens D TollnerGermanyAmy Elsner NEW
Francesco M MarrierIndiaElwin Sharvill PROPOSAL
Clifford N SaylorsRussiaXuxue Feng NEGOTIATION
Jones C CaudyArgentinaElwin Sharvill PROPOSAL
Johnson H WhobreyGermanyBernardo Dominic PROPOSAL
Rodrigues V BowleyItalyIvan Magalhaes NEW
Salvatore Z InouyeIndiaOnyama Limba PROPOSAL
Deepesh I DarakjyJapanAnna Fali NEGOTIATION
Kadeem K TollnerFranceAnna Fali UNQUALIFIED
Adams F MaletSpainIvan Magalhaes NEW
Arvin A SergiFranceBernardo Dominic RENEWAL
Greenwood N KuskoFranceAmy Elsner NEGOTIATION
Deepesh J VocelkaCanadaAnna Fali PROPOSAL
Aditya J GlickItalyBernardo Dominic QUALIFIED
Johnson W StensethRussiaBernardo Dominic PROPOSAL
Izzy Z NestleItalyIoni Bowcher RENEWAL
Maria J SchemmerItalyIvan Magalhaes PROPOSAL
Greenwood U RutaAustraliaAnna Fali UNQUALIFIED
Sinclair M SaylorsJapanXuxue Feng UNQUALIFIED
Jennifer N FigeroaArgentinaElwin Sharvill QUALIFIED
Wickens B SergiGermanyIvan Magalhaes NEW
Salvatore C StockhamCanadaElwin Sharvill UNQUALIFIED
Sinclair N GlickJapanStephen Shaw QUALIFIED
Stacey V BologniaGermanyAnna Fali QUALIFIED
Izzy E TollnerFranceElwin Sharvill NEGOTIATION
Silvio A CampainSpainElwin Sharvill NEW
Munro P PaprockiArgentinaBernardo Dominic QUALIFIED
Silvio V BriddickRussiaOnyama Limba RENEWAL
Francesco J VocelkaIndiaOnyama Limba QUALIFIED
Johnson U VocelkaSpainIvan Magalhaes NEW
Silvio E PaprockiFranceBernardo Dominic PROPOSAL
Jones R PerinArgentinaIvan Magalhaes UNQUALIFIED
Costa Y VenereGermanyOnyama Limba NEW
Mujtaba Z CaldareraIndiaIoni Bowcher UNQUALIFIED
Claire P NestleItalyAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire O NestleFranceAmy Elsner PROPOSAL
Misaki P RulapaughItalyElwin Sharvill NEGOTIATION
Ricardo J KuskoItalyElwin Sharvill NEGOTIATION
Morrow V SlusarskiGermanyAnna Fali QUALIFIED
Nicolas Z PerinJapanAsiya Javayant RENEWAL
Claire F OldroydGermanyAsiya Javayant NEGOTIATION
Antonio F DoeRussiaIoni Bowcher QUALIFIED
Leja B MaletGermanyXuxue Feng PROPOSAL
Clifford V WaycottGermanyStephen Shaw QUALIFIED
Morrow O OldroydArgentinaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody I StensethArgentina2024-06-01King, Christopher A Esq RENEWAL75Amy Elsner
1001Ivar M BologniaBrazil2024-06-11Buckley Miller Wright PROPOSAL61Anna Fali
1002Francesco D InouyeGermany2024-06-05Buckley Miller Wright NEW53Ivan Magalhaes
1003Julie H MorascaJapan2024-06-04Chapman, Ross E Esq PROPOSAL5Amy Elsner
1004Jones G RutaFrance2024-05-18Dorl, James J Esq UNQUALIFIED26Amy Elsner
1005Munro J OstroskyRussia2024-06-01King, Christopher A Esq PROPOSAL97Amy Elsner
1006Murillo O PaprockiArgentina2024-05-28Rangoni Of Florence NEW55Anna Fali
1007Izzy K ShinkoJapan2024-05-25Chemel, James L Cpa QUALIFIED11Bernardo Dominic
1008Emily O InouyeGermany2024-06-10King, Christopher A Esq NEGOTIATION62Bernardo Dominic
1009Octavia A TollnerFrance2024-05-18Benton, John B Jr NEW28Ioni Bowcher
1010Deepesh E MaletGermany2024-06-04Feltz Printing Service RENEWAL92Ivan Magalhaes
1011Cody J WaycottJapan2024-06-08Printing Dimensions RENEWAL1Amy Elsner
1012Emily E MaletFrance2024-05-30Truhlar And Truhlar Attys RENEWAL0Stephen Shaw
1013Alejandro A OstroskyJapan2024-06-12Rangoni Of Florence QUALIFIED27Asiya Javayant
1014James P ShinkoCanada2024-05-17Feltz Printing Service RENEWAL29Stephen Shaw
1015Maisha V VenereItaly2024-05-23Feiner Bros QUALIFIED27Amy Elsner
1016Kaitlin P FlosiSpain2024-06-08Commercial Press QUALIFIED77Ioni Bowcher
1017Isabel U MacleadItaly2024-05-17King, Christopher A Esq NEW25Amy Elsner
1018Kadeem W FigeroaBrazil2024-05-21King, Christopher A Esq QUALIFIED76Amy Elsner
1019Alejandro X SaylorsIndia2024-05-30Chanay, Jeffrey A Esq PROPOSAL46Bernardo Dominic
1020Silvio W MarrierItaly2024-06-13Chapman, Ross E Esq NEGOTIATION19Onyama Limba
1021Claire Z CaudyCanada2024-06-12Chanay, Jeffrey A Esq RENEWAL34Xuxue Feng
1022David A FollerGermany2024-06-07King, Christopher A Esq NEW20Asiya Javayant
1023David M IturbideCanada2024-05-16King, Christopher A Esq NEW16Bernardo Dominic
1024Ivar V OstroskyIndia2024-05-29Feiner Bros UNQUALIFIED81Anna Fali
1025Ivar F KolmetzIndia2024-05-31Feiner Bros PROPOSAL10Anna Fali
1026Morrow Q NestleFrance2024-06-04Morlong Associates PROPOSAL57Anna Fali
1027Ivar O FlosiRussia2024-05-15Commercial Press NEW95Ioni Bowcher
1028Jones H MaletIndia2024-05-21Chemel, James L Cpa RENEWAL73Ioni Bowcher
1029Maria Y GarufiSpain2024-06-04Feiner Bros UNQUALIFIED34Bernardo Dominic
1030Izzy V CampainIndia2024-06-01Rousseaux, Michael Esq QUALIFIED98Onyama Limba
1031Maria F RoysterAustralia2024-05-29Truhlar And Truhlar Attys NEGOTIATION89Asiya Javayant
1032Munro W IturbideItaly2024-05-22Chemel, James L Cpa NEW98Ivan Magalhaes
1033Aika Z TollnerIndia2024-05-16Buckley Miller Wright RENEWAL61Stephen Shaw
1034Aruna J BriddickAustralia2024-06-13Commercial Press NEGOTIATION90Anna Fali
1035Chavez W NickaSpain2024-06-13Chanay, Jeffrey A Esq PROPOSAL71Amy Elsner
1036Murillo L CampainItaly2024-06-06Chanay, Jeffrey A Esq NEGOTIATION2Bernardo Dominic
1037Kadeem U FlosiIndia2024-05-18Feiner Bros NEW2Bernardo Dominic
1038James Y GlickJapan2024-05-24Commercial Press QUALIFIED3Ioni Bowcher
1039Ricardo P StensethUnited Kingdom2024-05-18Truhlar And Truhlar Attys UNQUALIFIED93Stephen Shaw
1040Cody W TollnerIndia2024-06-05Chapman, Ross E Esq NEW22Bernardo Dominic
1041Jennifer A MaletAustralia2024-06-11Morlong Associates NEGOTIATION63Elwin Sharvill
1042Adams W BriddickRussia2024-05-15Rousseaux, Michael Esq PROPOSAL80Amy Elsner
1043Aruna E MaletFrance2024-06-11Printing Dimensions NEGOTIATION32Xuxue Feng
1044Leon B PoquetteItaly2024-05-19Rousseaux, Michael Esq QUALIFIED94Onyama Limba
1045Octavia Z ButtRussia2024-05-27Morlong Associates NEGOTIATION89Asiya Javayant
1046David F AmigonArgentina2024-05-25Benton, John B Jr QUALIFIED7Stephen Shaw
1047Nicolas A RoysterAustralia2024-06-08Printing Dimensions NEW10Bernardo Dominic
1048Wickens L GillianArgentina2024-05-20Rangoni Of Florence PROPOSAL89Elwin Sharvill
1049Mujtaba V KuskoFrance2024-06-10Chanay, Jeffrey A Esq PROPOSAL41Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Francesco J WhobreyJapanAmy Elsner NEGOTIATION
Rodrigues Q DoeFranceAnna Fali NEW
Isabel P MarrierBrazilAsiya Javayant NEGOTIATION
Izzy O OstroskySpainXuxue Feng UNQUALIFIED
Deepesh C WieserGermanyXuxue Feng UNQUALIFIED
Cody Z BriddickCanadaElwin Sharvill PROPOSAL
Mujtaba L InouyeSpainXuxue Feng QUALIFIED
Darci Y MorascaItalyAsiya Javayant PROPOSAL
Rodrigues C MacleadArgentinaAmy Elsner UNQUALIFIED
Aika D ButtIndiaAmy Elsner UNQUALIFIED
Jennifer I MacleadBrazilIvan Magalhaes QUALIFIED
Costa W StensethRussiaOnyama Limba NEW
Arvin G CaldareraArgentinaStephen Shaw NEW
Jeanfrancois X WieserJapanIvan Magalhaes NEW
Salvatore N InouyeAustraliaOnyama Limba QUALIFIED
Antonio X ChuiGermanyIoni Bowcher RENEWAL
Jefferson H ButtUnited KingdomIvan Magalhaes NEW
Salvatore B FlosiCanadaStephen Shaw RENEWAL
Silvio V InouyeUnited KingdomOnyama Limba NEGOTIATION
Johnson Q GarufiGermanyXuxue Feng PROPOSAL
Nicolas H CaldareraItalyAnna Fali NEW
Leja W StensethBrazilStephen Shaw RENEWAL
Juan V MaletCanadaBernardo Dominic NEW
James V GarufiAustraliaOnyama Limba PROPOSAL
Julie X ChuiCanadaStephen Shaw RENEWAL
Francesco B VenereFranceElwin Sharvill RENEWAL
Emily Q RutaArgentinaOnyama Limba RENEWAL
Darci P DilliardJapanBernardo Dominic NEGOTIATION
Mujtaba H GillianFranceAmy Elsner RENEWAL
Nicolas T IturbideGermanyOnyama Limba RENEWAL
Stacey E AmigonBrazilElwin Sharvill RENEWAL
Maisha F GillianRussiaIoni Bowcher PROPOSAL
Wickens C PoquetteItalyAnna Fali NEGOTIATION
Clifford C SlusarskiSpainElwin Sharvill NEW
Ivar S ShinkoBrazilStephen Shaw QUALIFIED
Jefferson N WhobreyBrazilIoni Bowcher NEW
Sinclair N VocelkaGermanyAnna Fali QUALIFIED
Costa U CaudyRussiaElwin Sharvill QUALIFIED
Rodrigues B RutaAustraliaIoni Bowcher NEGOTIATION
Emily S DoeSpainAnna Fali PROPOSAL
Deepesh Q RulapaughJapanIvan Magalhaes NEGOTIATION
Nicolas B WieserIndiaAnna Fali NEW
Morrow J BologniaJapanAnna Fali NEGOTIATION
Claire B PerinBrazilIoni Bowcher NEGOTIATION
Wickens K ChuiBrazilIoni Bowcher RENEWAL
Wickens E BriddickCanadaBernardo Dominic PROPOSAL
Stacey D SergiIndiaAnna Fali NEW
Julie U InouyeCanadaAnna Fali NEW
Murillo O RimBrazilBernardo Dominic RENEWAL
Isabel R AmigonArgentinaElwin Sharvill QUALIFIED
Frozen Columns
Name
Aditya Z Chui
Cody Y Slusarski
Salvatore Y Doe
Stacey I Rulapaugh
Izzy K Stenseth
Antonio R Caudy
Smith E Campain
Sinclair G Albares
Aditya X Sergi
Tony W Slusarski
Deepesh N Venere
David O Figeroa
Isabel Y Stenseth
Silvio V Marrier
Sinclair R Inouye
Ricardo C Whobrey
Aditya T Marrier
Salvatore S Waycott
Sinclair B Waycott
Jennifer Y Gillian
Darci U Inouye
Murillo W Paprocki
Alejandro O Royster
Leon P Campain
Jones S Kolmetz
Jones G Nestle
Ashley E Gillian
Salvatore D Campain
Mujtaba Z Poquette
Nicolas L Chui
Stacey G Figeroa
Deepesh F Bowley
Jeanfrancois C Morasca
Kadeem Q Waycott
Wickens K Maclead
Isabel W Garufi
Alejandro N Gaucho
Sinclair K Gillian
Claire X Flosi
Tony X Caudy
Chavez C Nestle
Ricardo W Ruta
Kadeem Y Waycott
Maisha L Chui
Munro N Doe
James L Morasca
Ivar T Doe
Cody Q Gillian
Johnson R Kusko
Maria Q Tollner
IdCountryDate
1000Russia2024-05-24
1001Brazil2024-05-29
1002Spain2024-05-17
1003Argentina2024-06-06
1004Japan2024-06-01
1005Germany2024-06-12
1006India2024-06-07
1007Japan2024-06-04
1008Japan2024-06-04
1009Australia2024-05-16
1010Germany2024-05-26
1011Russia2024-05-26
1012Brazil2024-05-25
1013France2024-05-16
1014United Kingdom2024-05-15
1015France2024-05-19
1016Japan2024-06-05
1017India2024-05-26
1018Spain2024-06-05
1019Russia2024-05-19
1020United Kingdom2024-05-19
1021India2024-05-18
1022Japan2024-06-07
1023Japan2024-05-20
1024Argentina2024-06-01
1025Canada2024-06-09
1026Canada2024-06-02
1027France2024-06-04
1028Italy2024-06-02
1029Canada2024-05-28
1030France2024-05-21
1031Canada2024-06-10
1032France2024-05-26
1033Argentina2024-05-24
1034Argentina2024-06-12
1035Italy2024-05-18
1036Japan2024-06-05
1037Japan2024-06-04
1038Italy2024-05-22
1039Germany2024-05-21
1040Australia2024-05-23
1041Germany2024-06-09
1042Australia2024-06-11
1043Italy2024-06-10
1044United Kingdom2024-06-08
1045Italy2024-05-17
1046Japan2024-05-20
1047Canada2024-06-13
1048Germany2024-06-09
1049Brazil2024-06-06

On-Demand Data

NameIdCountryDate
Johnson R Butt1000Italy2024-05-24
Emily G Oldroyd1001India2024-05-22
Claire B Sergi1002Italy2024-06-13
Adams Y Ferencz1003Canada2024-05-31
Jeanfrancois E Rim1004India2024-06-07
Stacey T Venere1005Germany2024-05-23
Tony U Shinko1006Russia2024-05-21
Aruna Z Butt1007Germany2024-05-15
Mujtaba X Marrier1008France2024-06-11
Ricardo T Perin1009Australia2024-06-03
Ricardo A Saylors1010Argentina2024-06-05
Salvatore C Morasca1011France2024-06-01
Maria L Malet1012Argentina2024-05-16
Julie X Caldarera1013Canada2024-06-06
Kadeem O Ruta1014Spain2024-06-12
Chavez F Royster1015Japan2024-05-20
Antonio X Bolognia1016Italy2024-05-16
Morrow S Malet1017Argentina2024-05-29
Ashley R Morasca1018Japan2024-05-18
Johnson Q Garufi1019Russia2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey X OstroskyRussiaStephen Shaw UNQUALIFIED
Stacey N OstroskyFranceIvan Magalhaes PROPOSAL
Sinclair G AlbaresAustraliaBernardo Dominic RENEWAL
Clifford I BologniaAustraliaAsiya Javayant UNQUALIFIED
Aruna L SlusarskiIndiaAsiya Javayant RENEWAL
Silvio T ShinkoItalyElwin Sharvill NEW
David G InouyeRussiaBernardo Dominic UNQUALIFIED
Maria H MaletSpainXuxue Feng UNQUALIFIED
Francesco A GlickUnited KingdomStephen Shaw NEGOTIATION
Greenwood P DoeItalyElwin Sharvill QUALIFIED
Rodrigues F DarakjyAustraliaStephen Shaw NEW
Munro G DarakjyAustraliaBernardo Dominic RENEWAL
Antonio K GauchoJapanBernardo Dominic NEGOTIATION
Francesco A VocelkaGermanyBernardo Dominic PROPOSAL
Murillo P CaudyGermanyIvan Magalhaes NEGOTIATION
Sinclair V WaycottGermanyAnna Fali UNQUALIFIED
Silvio O MarrierRussiaAsiya Javayant RENEWAL
Salvatore B NickaGermanyIoni Bowcher UNQUALIFIED
Deepesh Q BriddickUnited KingdomIoni Bowcher RENEWAL
Faith F SlusarskiFranceBernardo Dominic UNQUALIFIED
Emily I WaycottSpainIoni Bowcher NEW
Sinclair P OstroskyCanadaIvan Magalhaes RENEWAL
Isabel P RulapaughAustraliaElwin Sharvill NEW
Maria B KolmetzBrazilOnyama Limba RENEWAL
Morrow X VocelkaArgentinaAsiya Javayant UNQUALIFIED
Silvio C RulapaughCanadaOnyama Limba UNQUALIFIED
Aditya L WaycottArgentinaAnna Fali QUALIFIED
Clifford F FollerIndiaAsiya Javayant PROPOSAL
Silvio F AlbaresRussiaIvan Magalhaes NEW
David Z MacleadItalyElwin Sharvill RENEWAL
Tony K SlusarskiRussiaXuxue Feng PROPOSAL
Munro M NestleBrazilAnna Fali NEW
Alejandro M FollerUnited KingdomOnyama Limba UNQUALIFIED
Octavia O DilliardJapanStephen Shaw PROPOSAL
Aruna V OldroydJapanIvan Magalhaes QUALIFIED
Faith S ButtGermanyIoni Bowcher RENEWAL
Clifford D CaldareraUnited KingdomAmy Elsner NEW
Tony P RimBrazilIvan Magalhaes QUALIFIED
Greenwood K DoeIndiaStephen Shaw NEW
Chavez S DarakjyCanadaStephen Shaw 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>