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
Aditya O DoeCanadaAnna Fali NEW
Greenwood F CampainRussiaOnyama Limba NEW
Costa W CampainItalyStephen Shaw NEW
Leja D MacleadAustraliaAmy Elsner UNQUALIFIED
Ivar I CaudyBrazilOnyama Limba UNQUALIFIED
Misaki A MacleadFranceIoni Bowcher UNQUALIFIED
Clifford K KuskoBrazilXuxue Feng RENEWAL
Mayumi N RutaAustraliaStephen Shaw NEGOTIATION
Greenwood O VenereFranceAmy Elsner QUALIFIED
Greenwood V PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Claire D DarakjyBrazilAmy Elsner QUALIFIED
Aika J GauchoUnited KingdomOnyama Limba RENEWAL
Smith G FlosiIndiaIvan Magalhaes QUALIFIED
Munro T FlosiIndiaXuxue Feng RENEWAL
Nicolas J BologniaCanadaBernardo Dominic QUALIFIED
Emily G DoeGermanyIoni Bowcher UNQUALIFIED
Sinclair B SaylorsRussiaAmy Elsner NEGOTIATION
Clifford C WieserCanadaAmy Elsner QUALIFIED
Jefferson H GlickCanadaElwin Sharvill PROPOSAL
James S CaudyBrazilOnyama Limba UNQUALIFIED
Stacey U FollerRussiaIvan Magalhaes NEW
Leja Q NickaRussiaElwin Sharvill UNQUALIFIED
Ricardo H InouyeItalyOnyama Limba RENEWAL
Chavez C CampainSpainAnna Fali NEGOTIATION
Octavia J GauchoRussiaIvan Magalhaes QUALIFIED
Sinclair U StensethUnited KingdomAmy Elsner QUALIFIED
Johnson A InouyeGermanyElwin Sharvill RENEWAL
Munro Y BowleySpainAsiya Javayant QUALIFIED
Ivar U GlickItalyXuxue Feng RENEWAL
Deepesh F InouyeFranceStephen Shaw NEW
Jones K CaudySpainStephen Shaw NEW
Mayumi M GarufiBrazilStephen Shaw QUALIFIED
Jefferson L CampainAustraliaOnyama Limba UNQUALIFIED
Faith U RutaAustraliaBernardo Dominic PROPOSAL
Johnson K SaylorsIndiaOnyama Limba NEW
Stacey K OldroydSpainAsiya Javayant UNQUALIFIED
Smith Z SergiUnited KingdomAmy Elsner NEGOTIATION
Morrow T WieserAustraliaAsiya Javayant QUALIFIED
Maria K OldroydAustraliaIoni Bowcher PROPOSAL
Aruna E DarakjyJapanStephen Shaw PROPOSAL
Morrow P PoquetteRussiaAmy Elsner NEW
Kadeem O PoquetteBrazilStephen Shaw UNQUALIFIED
Emily T VenereBrazilAsiya Javayant RENEWAL
Ashley F FollerBrazilAnna Fali QUALIFIED
Smith W SchemmerIndiaElwin Sharvill PROPOSAL
Jones A AmigonItalyAsiya Javayant RENEWAL
Faith U RutaItalyAnna Fali NEW
Misaki C StensethIndiaAnna Fali NEGOTIATION
David W RoysterUnited KingdomXuxue Feng PROPOSAL
Aditya U PaprockiBrazilAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Cody H GauchoUnited KingdomOnyama Limba PROPOSAL
Ashley B MorascaCanadaXuxue Feng NEW
Murillo F FerenczRussiaBernardo Dominic QUALIFIED
Faith A RimItalyElwin Sharvill NEW
Ashley I MarrierUnited KingdomXuxue Feng QUALIFIED
Jefferson Q StensethIndiaAsiya Javayant NEGOTIATION
Silvio C RoysterIndiaOnyama Limba RENEWAL
Jennifer D BologniaUnited KingdomOnyama Limba UNQUALIFIED
Darci S DoeArgentinaXuxue Feng UNQUALIFIED
Jones G NickaGermanyIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro O MorascaBrazil2024-05-28King, Christopher A Esq PROPOSAL86Onyama Limba
1001Ricardo U FerenczRussia2024-06-03Rousseaux, Michael Esq NEGOTIATION38Anna Fali
1002Kadeem V IturbideUnited Kingdom2024-05-29Buckley Miller Wright RENEWAL74Amy Elsner
1003Salvatore G InouyeJapan2024-06-24Feiner Bros UNQUALIFIED27Asiya Javayant
1004Misaki W StockhamGermany2024-06-05King, Christopher A Esq UNQUALIFIED3Elwin Sharvill
1005Johnson W MarrierItaly2024-05-28Feltz Printing Service UNQUALIFIED42Xuxue Feng
1006Johnson A RimItaly2024-05-26Rangoni Of Florence NEGOTIATION60Ioni Bowcher
1007Juan H PaprockiUnited Kingdom2024-06-11Chapman, Ross E Esq NEGOTIATION15Amy Elsner
1008Maisha R ShinkoFrance2024-06-08Printing Dimensions QUALIFIED51Stephen Shaw
1009Stacey A NickaAustralia2024-05-30Morlong Associates RENEWAL54Bernardo Dominic
1010Nicolas F ShinkoArgentina2024-06-15Rangoni Of Florence PROPOSAL70Elwin Sharvill
1011Izzy H BriddickRussia2024-06-05Chanay, Jeffrey A Esq NEW7Asiya Javayant
1012Salvatore J GlickRussia2024-06-19Rangoni Of Florence NEGOTIATION38Elwin Sharvill
1013Kaitlin C AmigonSpain2024-06-18Feltz Printing Service RENEWAL32Asiya Javayant
1014Murillo P KuskoAustralia2024-05-26Truhlar And Truhlar Attys RENEWAL92Bernardo Dominic
1015Rodrigues Z AmigonFrance2024-06-15Rangoni Of Florence PROPOSAL68Stephen Shaw
1016Mujtaba Q BowleyFrance2024-06-01Rangoni Of Florence NEGOTIATION98Xuxue Feng
1017Arvin W MorascaGermany2024-05-31King, Christopher A Esq QUALIFIED50Asiya Javayant
1018Nicolas E AlbaresAustralia2024-06-22Printing Dimensions UNQUALIFIED42Ivan Magalhaes
1019Sinclair M WieserJapan2024-06-04Truhlar And Truhlar Attys NEW68Amy Elsner
1020Aruna D RulapaughBrazil2024-06-22Feltz Printing Service NEGOTIATION81Onyama Limba
1021Arvin Q GlickArgentina2024-06-03Truhlar And Truhlar Attys RENEWAL22Elwin Sharvill
1022Cody R ShinkoSpain2024-05-26Rangoni Of Florence UNQUALIFIED35Onyama Limba
1023Maria K MaletItaly2024-06-09Feltz Printing Service QUALIFIED13Amy Elsner
1024Aditya M DarakjyIndia2024-06-03Feiner Bros UNQUALIFIED15Xuxue Feng
1025Adams A MacleadAustralia2024-06-10Feltz Printing Service NEGOTIATION32Elwin Sharvill
1026Claire T FerenczUnited Kingdom2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED90Onyama Limba
1027Morrow R SaylorsGermany2024-06-13King, Christopher A Esq PROPOSAL74Stephen Shaw
1028Alejandro K RimCanada2024-06-14Morlong Associates QUALIFIED73Elwin Sharvill
1029Leon U DarakjyGermany2024-06-19Feltz Printing Service NEGOTIATION47Bernardo Dominic
1030Jennifer W FigeroaCanada2024-06-12Benton, John B Jr PROPOSAL61Bernardo Dominic
1031Murillo F SaylorsAustralia2024-06-17Feltz Printing Service UNQUALIFIED93Ioni Bowcher
1032Kadeem O WieserJapan2024-06-12Chapman, Ross E Esq QUALIFIED25Bernardo Dominic
1033Kadeem B DoeBrazil2024-05-27Buckley Miller Wright UNQUALIFIED16Stephen Shaw
1034Francesco J FollerIndia2024-05-28Benton, John B Jr NEW51Amy Elsner
1035Salvatore B RoysterAustralia2024-05-27Commercial Press QUALIFIED14Xuxue Feng
1036Misaki J OldroydRussia2024-06-11Buckley Miller Wright NEW99Xuxue Feng
1037Leon W MaletGermany2024-06-21Feiner Bros NEGOTIATION2Stephen Shaw
1038Deepesh I KuskoRussia2024-06-07Truhlar And Truhlar Attys PROPOSAL64Stephen Shaw
1039Nicolas N VocelkaFrance2024-06-06Rousseaux, Michael Esq QUALIFIED25Xuxue Feng
1040Morrow F ButtArgentina2024-06-24Feiner Bros PROPOSAL10Ioni Bowcher
1041Clifford C GillianFrance2024-06-14Buckley Miller Wright RENEWAL58Ivan Magalhaes
1042Munro M SergiItaly2024-06-08Chemel, James L Cpa NEW48Ioni Bowcher
1043Greenwood I PerinFrance2024-06-21King, Christopher A Esq PROPOSAL92Elwin Sharvill
1044Jones O NickaArgentina2024-05-30Rousseaux, Michael Esq NEGOTIATION58Xuxue Feng
1045Morrow D MorascaSpain2024-06-05Commercial Press QUALIFIED73Onyama Limba
1046Maria U WhobreyCanada2024-06-17Feltz Printing Service RENEWAL75Onyama Limba
1047Jones G CampainGermany2024-06-01Buckley Miller Wright UNQUALIFIED36Anna Fali
1048Ashley A ChuiGermany2024-06-05Chemel, James L Cpa RENEWAL82Stephen Shaw
1049Munro R InouyeAustralia2024-05-29Truhlar And Truhlar Attys RENEWAL50Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Deepesh G MaletAustraliaOnyama Limba NEW
Wickens I DoeArgentinaAmy Elsner PROPOSAL
Salvatore C CampainAustraliaOnyama Limba PROPOSAL
Costa D GillianJapanAsiya Javayant PROPOSAL
Salvatore T WhobreyGermanyIoni Bowcher PROPOSAL
Mujtaba M VocelkaRussiaXuxue Feng UNQUALIFIED
Silvio D SchemmerBrazilAmy Elsner NEGOTIATION
Emily J FerenczAustraliaOnyama Limba PROPOSAL
Rodrigues W BologniaAustraliaElwin Sharvill RENEWAL
Wickens P NestleBrazilIoni Bowcher QUALIFIED
Tony R SlusarskiUnited KingdomOnyama Limba PROPOSAL
Julie G DoeFranceBernardo Dominic PROPOSAL
Rodrigues W SchemmerJapanXuxue Feng PROPOSAL
Leon W SergiJapanElwin Sharvill QUALIFIED
Tony C MorascaCanadaAmy Elsner RENEWAL
Arvin J MaletGermanyIoni Bowcher NEW
Costa Q ChuiGermanyAmy Elsner NEGOTIATION
Salvatore U GarufiGermanyXuxue Feng QUALIFIED
Alejandro S WieserIndiaXuxue Feng NEGOTIATION
Silvio Z OldroydArgentinaElwin Sharvill NEGOTIATION
Tony P FerenczRussiaBernardo Dominic UNQUALIFIED
Claire N RoysterJapanOnyama Limba PROPOSAL
Mayumi T ButtFranceAsiya Javayant UNQUALIFIED
Francesco I WhobreyArgentinaAmy Elsner PROPOSAL
Ricardo F GauchoIndiaAmy Elsner QUALIFIED
Murillo W GillianUnited KingdomBernardo Dominic QUALIFIED
Misaki W KolmetzFranceIvan Magalhaes UNQUALIFIED
Juan I RulapaughSpainElwin Sharvill PROPOSAL
Aika S IturbideGermanyBernardo Dominic NEW
Alejandro T CaudyFranceAsiya Javayant UNQUALIFIED
Aditya S MaletRussiaIoni Bowcher PROPOSAL
Tony B OldroydCanadaXuxue Feng PROPOSAL
Mujtaba M FigeroaAustraliaIvan Magalhaes UNQUALIFIED
Murillo S BowleyGermanyXuxue Feng NEW
Alejandro D BowleyJapanXuxue Feng RENEWAL
Costa R TollnerGermanyOnyama Limba NEW
Ricardo N SchemmerSpainXuxue Feng RENEWAL
Kaitlin S CampainCanadaIvan Magalhaes QUALIFIED
Julie G OldroydBrazilAnna Fali UNQUALIFIED
Deepesh Q InouyeFranceOnyama Limba PROPOSAL
Munro K KolmetzUnited KingdomElwin Sharvill NEGOTIATION
Julie Z TollnerAustraliaBernardo Dominic UNQUALIFIED
Aruna N GillianFranceOnyama Limba NEGOTIATION
Jennifer O FigeroaIndiaXuxue Feng NEW
Leja I IturbideJapanStephen Shaw RENEWAL
David I RulapaughAustraliaXuxue Feng PROPOSAL
Aditya M CaldareraAustraliaStephen Shaw RENEWAL
Isabel J CampainSpainIoni Bowcher NEGOTIATION
Jennifer T ChuiAustraliaElwin Sharvill RENEWAL
Kaitlin S MaletItalyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Morrow Y Flosi
Aruna S Inouye
Aditya J Maclead
Silvio N Nicka
Aditya B Shinko
Clifford L Perin
Leon I Shinko
Jennifer M Figeroa
Wickens Z Tollner
Adams C Kusko
Aika R Glick
Leon A Ostrosky
Greenwood H Ferencz
James X Doe
Faith Z Paprocki
Jefferson M Wieser
Rodrigues R Gillian
Kadeem S Garufi
Johnson B Malet
Emily N Rulapaugh
Maria W Nicka
Tony E Bolognia
Mujtaba J Nestle
Aditya H Nicka
Murillo F Flosi
Jefferson I Marrier
Ivar D Doe
Stacey S Paprocki
Julie V Campain
Adams W Tollner
Jeanfrancois H Flosi
Salvatore C Kusko
Misaki U Glick
Darci W Ruta
James C Albares
Mujtaba W Ferencz
Alejandro C Stockham
Aika Q Waycott
Mujtaba Z Vocelka
David X Ruta
Jennifer L Iturbide
Aika L Figeroa
Emily M Flosi
Jeanfrancois R Whobrey
Sinclair M Nestle
Greenwood C Kolmetz
Aruna P Vocelka
Faith S Malet
Jennifer S Briddick
Clifford G Foller
IdCountryDate
1000Australia2024-05-28
1001Russia2024-05-27
1002France2024-05-27
1003Canada2024-06-09
1004Argentina2024-06-07
1005Italy2024-06-07
1006Spain2024-06-09
1007Germany2024-05-30
1008India2024-05-29
1009Spain2024-06-16
1010France2024-06-08
1011Germany2024-06-12
1012Italy2024-06-22
1013Japan2024-06-17
1014Germany2024-06-17
1015India2024-06-10
1016Canada2024-06-10
1017India2024-06-04
1018Australia2024-06-21
1019Italy2024-05-26
1020France2024-06-20
1021Argentina2024-06-03
1022Italy2024-06-09
1023Italy2024-06-06
1024Australia2024-05-30
1025Italy2024-05-27
1026Russia2024-06-07
1027Australia2024-06-10
1028Russia2024-06-09
1029Brazil2024-06-07
1030United Kingdom2024-06-24
1031Canada2024-06-01
1032France2024-06-15
1033Canada2024-06-23
1034Australia2024-06-13
1035Italy2024-06-05
1036France2024-06-10
1037Germany2024-06-18
1038Japan2024-06-10
1039Spain2024-06-14
1040Argentina2024-06-18
1041Spain2024-06-12
1042Italy2024-06-01
1043Canada2024-06-03
1044India2024-06-13
1045Spain2024-06-16
1046Germany2024-06-06
1047Italy2024-06-06
1048Russia2024-06-17
1049Canada2024-06-03

On-Demand Data

NameIdCountryDate
Morrow F Maclead1000United Kingdom2024-06-16
Aruna N Garufi1001Russia2024-06-01
Sinclair Z Saylors1002Brazil2024-06-06
David A Doe1003United Kingdom2024-05-28
Mujtaba J Briddick1004Russia2024-06-21
Misaki D Kolmetz1005Germany2024-06-09
Mujtaba J Schemmer1006Brazil2024-06-15
Jeanfrancois P Rulapaugh1007Spain2024-06-24
Emily B Morasca1008India2024-06-16
Juan L Iturbide1009Japan2024-05-28
Morrow U Ruta1010Australia2024-06-21
Nicolas C Maclead1011Brazil2024-05-26
Claire D Briddick1012Germany2024-06-12
Clifford P Bolognia1013Argentina2024-06-09
Mujtaba N Malet1014Argentina2024-06-24
Cody S Doe1015India2024-05-26
Kadeem C Malet1016India2024-06-11
Johnson P Rulapaugh1017India2024-06-07
Wickens R Glick1018Japan2024-06-04
Francesco D Tollner1019Italy2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh B SaylorsGermanyAmy Elsner NEW
Mayumi K DarakjyRussiaStephen Shaw NEGOTIATION
Cody S DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Aruna C MaletFranceIoni Bowcher RENEWAL
Ivar A DoeBrazilAmy Elsner NEW
Leon W BologniaItalyAsiya Javayant NEW
Ashley F PerinBrazilAmy Elsner NEW
Faith T InouyeGermanyIvan Magalhaes UNQUALIFIED
Nicolas J PaprockiArgentinaElwin Sharvill NEGOTIATION
Deepesh Q GillianCanadaElwin Sharvill NEW
Costa N KolmetzGermanyXuxue Feng PROPOSAL
James P SaylorsGermanyXuxue Feng NEW
Jefferson M BriddickRussiaOnyama Limba PROPOSAL
Salvatore Z BologniaJapanAmy Elsner NEGOTIATION
Leja V NestleIndiaOnyama Limba UNQUALIFIED
Francesco Q BologniaAustraliaAnna Fali QUALIFIED
Isabel E PaprockiSpainIoni Bowcher RENEWAL
Antonio B AlbaresIndiaStephen Shaw QUALIFIED
Greenwood B MorascaUnited KingdomXuxue Feng UNQUALIFIED
Munro S GarufiGermanyOnyama Limba NEGOTIATION
Isabel V BologniaRussiaIvan Magalhaes RENEWAL
Emily P NickaFranceIoni Bowcher RENEWAL
Nicolas A FerenczRussiaElwin Sharvill RENEWAL
Maisha W RulapaughItalyAnna Fali PROPOSAL
Antonio J FerenczBrazilAsiya Javayant QUALIFIED
Costa P CaldareraJapanIvan Magalhaes NEGOTIATION
Murillo W AlbaresIndiaIvan Magalhaes UNQUALIFIED
Deepesh I TollnerIndiaXuxue Feng PROPOSAL
Juan Y PoquetteIndiaAnna Fali QUALIFIED
Emily V RutaGermanyAmy Elsner PROPOSAL
Rodrigues R TollnerItalyIoni Bowcher NEGOTIATION
Kaitlin F VocelkaFranceAsiya Javayant NEGOTIATION
Ricardo Q WhobreyJapanElwin Sharvill UNQUALIFIED
Arvin J GillianBrazilAnna Fali QUALIFIED
Arvin Q CaudyJapanIvan Magalhaes NEW
Ashley J GlickRussiaBernardo Dominic NEGOTIATION
Cody B BriddickGermanyAnna Fali NEW
Aruna K RimCanadaOnyama Limba QUALIFIED
Ricardo N MorascaItalyElwin Sharvill PROPOSAL
Nicolas B ShinkoGermanyAsiya Javayant 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>