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
Munro K InouyeSpainAnna Fali PROPOSAL
Costa G KolmetzSpainOnyama Limba QUALIFIED
Costa W ButtArgentinaAsiya Javayant NEGOTIATION
Juan S StensethSpainStephen Shaw NEW
Claire E BriddickAustraliaIoni Bowcher UNQUALIFIED
Julie C RimCanadaXuxue Feng NEW
Maisha Y IturbideSpainXuxue Feng UNQUALIFIED
Aditya U CaldareraRussiaElwin Sharvill PROPOSAL
Aika Q GillianArgentinaBernardo Dominic NEGOTIATION
Misaki L KolmetzFranceBernardo Dominic PROPOSAL
Morrow S DoeCanadaElwin Sharvill QUALIFIED
Jefferson P KuskoCanadaOnyama Limba NEW
Darci N WhobreyCanadaBernardo Dominic UNQUALIFIED
Greenwood H DarakjyGermanyAmy Elsner RENEWAL
Stacey X IturbideRussiaIoni Bowcher UNQUALIFIED
Darci B CaudyBrazilElwin Sharvill NEGOTIATION
Deepesh F FigeroaBrazilOnyama Limba UNQUALIFIED
Clifford L AmigonIndiaAnna Fali PROPOSAL
Wickens P AmigonRussiaIoni Bowcher UNQUALIFIED
Kadeem F DoeItalyAsiya Javayant RENEWAL
Ivar L OldroydFranceElwin Sharvill NEGOTIATION
Maisha I BologniaRussiaIvan Magalhaes UNQUALIFIED
Kadeem V StockhamGermanyXuxue Feng UNQUALIFIED
Mujtaba Q WhobreyArgentinaOnyama Limba NEW
Francesco Q WhobreySpainIoni Bowcher RENEWAL
Johnson K DoeRussiaAnna Fali NEGOTIATION
Misaki N GillianRussiaElwin Sharvill QUALIFIED
Aditya I MaletArgentinaAmy Elsner QUALIFIED
Greenwood D DilliardItalyIoni Bowcher RENEWAL
Alejandro V OldroydSpainStephen Shaw NEGOTIATION
Ivar J NestleRussiaElwin Sharvill UNQUALIFIED
Alejandro P PaprockiAustraliaXuxue Feng PROPOSAL
Costa O DilliardUnited KingdomIvan Magalhaes RENEWAL
Jefferson P WhobreyFranceAmy Elsner NEW
Costa U SlusarskiItalyAmy Elsner RENEWAL
Nicolas C FlosiBrazilXuxue Feng NEGOTIATION
Arvin Q KolmetzItalyIoni Bowcher PROPOSAL
Aika J ButtBrazilIoni Bowcher RENEWAL
Leja Z DilliardJapanOnyama Limba UNQUALIFIED
Misaki A WaycottFranceStephen Shaw PROPOSAL
David Q IturbideBrazilAsiya Javayant NEW
Tony T VocelkaBrazilOnyama Limba RENEWAL
Tony X GlickFranceAmy Elsner NEW
Nicolas Y MarrierIndiaStephen Shaw QUALIFIED
Kaitlin O CampainGermanyBernardo Dominic PROPOSAL
Silvio C PaprockiFranceOnyama Limba PROPOSAL
Juan C GillianUnited KingdomStephen Shaw NEGOTIATION
Tony V SlusarskiRussiaIvan Magalhaes NEW
Silvio N RoysterCanadaXuxue Feng NEGOTIATION
Clifford E FollerItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio W StockhamSpainOnyama Limba QUALIFIED
Cody R PoquetteAustraliaXuxue Feng QUALIFIED
Costa F DoeCanadaElwin Sharvill PROPOSAL
Julie A BowleyArgentinaIoni Bowcher QUALIFIED
Greenwood Z SchemmerFranceAmy Elsner NEGOTIATION
Maisha V DarakjyCanadaAsiya Javayant UNQUALIFIED
Ivar R GlickSpainAsiya Javayant NEW
Kaitlin E RoysterJapanBernardo Dominic RENEWAL
Kaitlin U WieserCanadaElwin Sharvill NEW
Maria U ChuiBrazilXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey K ButtArgentina2024-06-20King, Christopher A Esq PROPOSAL68Anna Fali
1001Maria J MacleadIndia2024-05-29Commercial Press UNQUALIFIED88Ioni Bowcher
1002Sinclair G CaudyGermany2024-05-27Chemel, James L Cpa QUALIFIED93Ioni Bowcher
1003Sinclair U WhobreyIndia2024-06-19Printing Dimensions PROPOSAL49Asiya Javayant
1004James O FigeroaCanada2024-05-30Printing Dimensions NEW23Elwin Sharvill
1005Jones K FigeroaCanada2024-06-01Printing Dimensions RENEWAL34Bernardo Dominic
1006Aditya I BologniaSpain2024-06-18Feltz Printing Service QUALIFIED56Asiya Javayant
1007Kadeem C StockhamArgentina2024-05-30Rousseaux, Michael Esq NEGOTIATION30Ivan Magalhaes
1008Stacey E PerinFrance2024-06-06Commercial Press UNQUALIFIED15Ivan Magalhaes
1009Arvin P CampainAustralia2024-06-12Benton, John B Jr QUALIFIED36Stephen Shaw
1010Greenwood H WieserFrance2024-06-09King, Christopher A Esq PROPOSAL30Asiya Javayant
1011Maisha B SergiSpain2024-06-07Chanay, Jeffrey A Esq NEGOTIATION98Elwin Sharvill
1012Juan R ChuiArgentina2024-05-24Chapman, Ross E Esq RENEWAL73Ivan Magalhaes
1013Leon M KolmetzAustralia2024-06-03Rousseaux, Michael Esq NEW99Asiya Javayant
1014Arvin S TollnerJapan2024-06-19Benton, John B Jr UNQUALIFIED73Ivan Magalhaes
1015Ricardo B AmigonItaly2024-05-27Feltz Printing Service UNQUALIFIED31Elwin Sharvill
1016Nicolas E SchemmerIndia2024-06-08Printing Dimensions RENEWAL43Ioni Bowcher
1017Kadeem V CaldareraUnited Kingdom2024-06-16Rousseaux, Michael Esq QUALIFIED47Ivan Magalhaes
1018Murillo I DarakjySpain2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED73Asiya Javayant
1019Alejandro N GillianBrazil2024-06-04King, Christopher A Esq PROPOSAL47Asiya Javayant
1020Tony C CaldareraCanada2024-05-31Chapman, Ross E Esq RENEWAL56Anna Fali
1021Munro D DilliardUnited Kingdom2024-05-27Truhlar And Truhlar Attys NEW62Anna Fali
1022Aruna C ShinkoSpain2024-05-23Truhlar And Truhlar Attys UNQUALIFIED68Stephen Shaw
1023Ivar M PaprockiBrazil2024-05-25King, Christopher A Esq NEW78Onyama Limba
1024David G GlickRussia2024-06-01Truhlar And Truhlar Attys RENEWAL85Anna Fali
1025Costa G NestleGermany2024-06-05Chanay, Jeffrey A Esq PROPOSAL80Anna Fali
1026Juan V CaldareraUnited Kingdom2024-05-29Morlong Associates PROPOSAL49Onyama Limba
1027Kadeem D MorascaArgentina2024-06-09Commercial Press NEGOTIATION76Amy Elsner
1028Juan P MaletJapan2024-06-09Printing Dimensions PROPOSAL71Onyama Limba
1029Aika M SaylorsIndia2024-06-06Feiner Bros UNQUALIFIED73Xuxue Feng
1030Emily H GillianJapan2024-06-08Feltz Printing Service NEGOTIATION0Bernardo Dominic
1031Aditya F ShinkoArgentina2024-06-11Rousseaux, Michael Esq QUALIFIED79Stephen Shaw
1032Munro A DilliardArgentina2024-06-17Morlong Associates PROPOSAL6Stephen Shaw
1033Murillo G NickaCanada2024-06-12Dorl, James J Esq UNQUALIFIED47Elwin Sharvill
1034Cody R SergiIndia2024-06-09Commercial Press QUALIFIED4Anna Fali
1035Leja Q MacleadUnited Kingdom2024-05-23Morlong Associates NEW84Amy Elsner
1036Cody H InouyeFrance2024-06-01Feltz Printing Service QUALIFIED37Onyama Limba
1037Antonio E DoeIndia2024-05-31Chapman, Ross E Esq RENEWAL72Onyama Limba
1038Leja X PoquetteUnited Kingdom2024-05-23Printing Dimensions NEGOTIATION65Ioni Bowcher
1039Mayumi N CaldareraSpain2024-06-08Buckley Miller Wright NEW92Amy Elsner
1040Ricardo M StockhamRussia2024-05-31Rousseaux, Michael Esq UNQUALIFIED7Ivan Magalhaes
1041Wickens O SchemmerRussia2024-06-03Printing Dimensions RENEWAL7Anna Fali
1042Salvatore U PoquetteCanada2024-05-27Chanay, Jeffrey A Esq PROPOSAL92Amy Elsner
1043Isabel F IturbideSpain2024-06-05Dorl, James J Esq RENEWAL33Xuxue Feng
1044Murillo R GarufiJapan2024-06-01Buckley Miller Wright QUALIFIED57Ioni Bowcher
1045Mujtaba R OldroydArgentina2024-05-30Chemel, James L Cpa UNQUALIFIED48Amy Elsner
1046Stacey M BriddickBrazil2024-06-07Rangoni Of Florence QUALIFIED28Bernardo Dominic
1047Misaki C WieserGermany2024-05-23King, Christopher A Esq RENEWAL94Xuxue Feng
1048Deepesh Y MarrierCanada2024-05-29Feiner Bros UNQUALIFIED60Amy Elsner
1049Salvatore A MaletSpain2024-06-12Morlong Associates PROPOSAL72Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Stacey O NickaCanadaAsiya Javayant RENEWAL
Sinclair L ShinkoItalyOnyama Limba PROPOSAL
Salvatore Q AlbaresIndiaXuxue Feng NEGOTIATION
Salvatore O WaycottCanadaElwin Sharvill UNQUALIFIED
Octavia A GarufiItalyElwin Sharvill RENEWAL
Maria T KolmetzFranceAsiya Javayant UNQUALIFIED
Mujtaba R RutaCanadaAnna Fali PROPOSAL
Francesco B ChuiRussiaElwin Sharvill NEGOTIATION
Silvio L WieserFranceIvan Magalhaes UNQUALIFIED
Murillo T BologniaCanadaStephen Shaw NEW
Nicolas Q CampainItalyXuxue Feng QUALIFIED
David M MaletIndiaAmy Elsner NEW
Alejandro F GarufiIndiaElwin Sharvill PROPOSAL
Tony C KuskoBrazilOnyama Limba PROPOSAL
Darci L SaylorsBrazilStephen Shaw UNQUALIFIED
Faith L AlbaresCanadaIvan Magalhaes PROPOSAL
Francesco V StockhamAustraliaBernardo Dominic NEW
Deepesh N SaylorsJapanStephen Shaw NEW
Aditya Q MorascaFranceIoni Bowcher NEGOTIATION
Mujtaba A KolmetzUnited KingdomAnna Fali UNQUALIFIED
Izzy I VocelkaJapanStephen Shaw UNQUALIFIED
Jeanfrancois H ButtUnited KingdomElwin Sharvill QUALIFIED
Emily Q NestleAustraliaIoni Bowcher QUALIFIED
Arvin U RulapaughJapanElwin Sharvill PROPOSAL
Aruna T PoquetteCanadaAmy Elsner RENEWAL
Chavez U PerinArgentinaStephen Shaw RENEWAL
Mujtaba F MorascaUnited KingdomIvan Magalhaes RENEWAL
Tony F VenereRussiaBernardo Dominic NEGOTIATION
Kaitlin Z PaprockiJapanAmy Elsner RENEWAL
Jeanfrancois X NickaAustraliaOnyama Limba RENEWAL
Octavia S NestleGermanyElwin Sharvill QUALIFIED
Leon L OldroydCanadaOnyama Limba QUALIFIED
Smith S FlosiArgentinaXuxue Feng RENEWAL
Ricardo N ChuiBrazilIvan Magalhaes NEW
Ashley W CaudySpainIvan Magalhaes QUALIFIED
Costa H WieserBrazilXuxue Feng UNQUALIFIED
Wickens R FigeroaItalyOnyama Limba QUALIFIED
Jefferson F AlbaresFranceIoni Bowcher PROPOSAL
Costa A SaylorsBrazilAmy Elsner PROPOSAL
Rodrigues V AmigonArgentinaOnyama Limba NEGOTIATION
David A BowleyItalyIvan Magalhaes NEW
Nicolas T TollnerUnited KingdomXuxue Feng NEW
Jeanfrancois A GillianCanadaElwin Sharvill QUALIFIED
Antonio O OstroskyBrazilElwin Sharvill NEGOTIATION
Antonio A FigeroaUnited KingdomIoni Bowcher QUALIFIED
Cody V WhobreyArgentinaAnna Fali RENEWAL
Cody F ButtRussiaAmy Elsner PROPOSAL
Cody X AmigonGermanyXuxue Feng NEW
Darci T StensethCanadaOnyama Limba QUALIFIED
Deepesh F OstroskyBrazilIoni Bowcher PROPOSAL
Frozen Columns
Name
Julie X Gaucho
Mujtaba P Amigon
Faith Z Whobrey
Silvio E Iturbide
Maisha O Shinko
Leja F Ferencz
Cody Q Glick
Aruna K Amigon
Nicolas D Glick
Rodrigues M Darakjy
Alejandro J Oldroyd
Antonio R Dilliard
Emily A Ruta
Mujtaba G Briddick
Francesco Q Campain
Octavia T Wieser
Clifford P Royster
Aditya I Oldroyd
Arvin Q Inouye
Tony Q Gaucho
Rodrigues V Nicka
Alejandro Z Doe
Maria M Nicka
Ashley B Bolognia
Maria I Malet
Claire J Chui
Adams D Royster
Smith D Wieser
Kadeem M Foller
Rodrigues C Garufi
Jeanfrancois W Saylors
Wickens Z Flosi
Arvin A Kusko
Arvin Q Caudy
Emily B Stenseth
Mujtaba W Paprocki
Claire H Schemmer
Salvatore F Kusko
Cody A Gaucho
Maria C Albares
Kaitlin H Tollner
Wickens G Nicka
Salvatore E Slusarski
Sinclair B Iturbide
Juan O Foller
Ivar E Albares
Adams I Garufi
Izzy C Venere
Octavia Y Morasca
Kadeem Y Flosi
IdCountryDate
1000Brazil2024-05-30
1001Argentina2024-06-04
1002Russia2024-06-15
1003India2024-06-15
1004Japan2024-06-13
1005India2024-06-17
1006Spain2024-06-10
1007France2024-06-12
1008Argentina2024-06-16
1009Brazil2024-06-01
1010Argentina2024-06-15
1011India2024-06-15
1012United Kingdom2024-06-01
1013Japan2024-05-31
1014India2024-06-05
1015Italy2024-06-08
1016France2024-06-06
1017Canada2024-06-10
1018Brazil2024-06-14
1019United Kingdom2024-05-28
1020France2024-05-24
1021Australia2024-05-28
1022Italy2024-06-21
1023Japan2024-05-26
1024Russia2024-06-03
1025India2024-05-31
1026Australia2024-05-30
1027India2024-06-15
1028India2024-06-08
1029Brazil2024-06-20
1030France2024-06-08
1031Germany2024-06-07
1032Australia2024-06-19
1033Brazil2024-06-08
1034Japan2024-06-08
1035United Kingdom2024-06-10
1036Brazil2024-06-06
1037Australia2024-06-08
1038France2024-06-02
1039Australia2024-05-28
1040Russia2024-05-30
1041France2024-06-09
1042India2024-06-14
1043United Kingdom2024-06-14
1044France2024-05-25
1045Australia2024-05-24
1046Russia2024-06-13
1047Canada2024-06-10
1048Italy2024-06-16
1049France2024-05-26

On-Demand Data

NameIdCountryDate
Julie O Ostrosky1000Japan2024-05-31
Chavez P Whobrey1001Russia2024-06-02
Stacey I Malet1002Argentina2024-06-06
Jeanfrancois R Marrier1003Spain2024-06-19
Julie B Saylors1004India2024-06-17
Izzy X Whobrey1005Japan2024-06-07
Juan K Stenseth1006Italy2024-06-06
David R Briddick1007Spain2024-05-23
Aika Y Inouye1008India2024-06-05
Mayumi P Gillian1009France2024-05-29
Adams Z Darakjy1010Germany2024-06-07
Jeanfrancois Q Maclead1011France2024-05-30
Mayumi H Caldarera1012France2024-05-24
Arvin O Malet1013Canada2024-06-21
Ricardo Y Stockham1014Spain2024-05-26
Salvatore L Ferencz1015France2024-05-27
Leon L Iturbide1016Germany2024-06-04
Kaitlin I Campain1017Germany2024-06-19
Johnson N Chui1018Russia2024-06-06
Johnson W Whobrey1019Canada2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa R PaprockiItalyAmy Elsner RENEWAL
Alejandro W SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Mayumi L FollerItalyIoni Bowcher NEW
Murillo R MorascaIndiaIoni Bowcher RENEWAL
Misaki W GauchoCanadaAnna Fali NEGOTIATION
Rodrigues T ShinkoIndiaElwin Sharvill PROPOSAL
Maisha V RutaAustraliaBernardo Dominic PROPOSAL
Kadeem T AmigonIndiaIvan Magalhaes QUALIFIED
Morrow N StockhamItalyAnna Fali NEGOTIATION
Jones X FlosiBrazilStephen Shaw QUALIFIED
Faith G FerenczJapanBernardo Dominic QUALIFIED
Izzy J CaudySpainAsiya Javayant UNQUALIFIED
Kaitlin A WhobreyJapanXuxue Feng NEGOTIATION
Octavia P CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Adams K RutaItalyIvan Magalhaes PROPOSAL
Aruna C GlickBrazilElwin Sharvill UNQUALIFIED
Tony K BowleyUnited KingdomAmy Elsner QUALIFIED
Jefferson O SlusarskiGermanyIoni Bowcher NEW
Ricardo O FlosiBrazilElwin Sharvill RENEWAL
Mayumi F CampainItalyOnyama Limba RENEWAL
Aika E OldroydRussiaStephen Shaw UNQUALIFIED
Clifford T PerinSpainAmy Elsner UNQUALIFIED
Mayumi Q CaldareraSpainIvan Magalhaes RENEWAL
Cody Q GillianCanadaStephen Shaw NEW
Costa E DarakjyJapanAsiya Javayant QUALIFIED
Cody X NickaAustraliaElwin Sharvill QUALIFIED
Jennifer T CampainArgentinaAmy Elsner PROPOSAL
Chavez E AmigonUnited KingdomOnyama Limba PROPOSAL
Silvio R RutaCanadaAnna Fali NEGOTIATION
Darci V StensethJapanAsiya Javayant NEW
Kaitlin S MorascaBrazilElwin Sharvill PROPOSAL
Jennifer O NestleItalyAnna Fali UNQUALIFIED
Jeanfrancois M WhobreyItalyStephen Shaw UNQUALIFIED
Mayumi Z FlosiGermanyBernardo Dominic PROPOSAL
Salvatore Z SlusarskiArgentinaAmy Elsner NEW
Izzy X ChuiRussiaXuxue Feng QUALIFIED
Isabel Q DoeItalyIvan Magalhaes NEGOTIATION
Alejandro G DarakjyGermanyAnna Fali NEW
Antonio P MaletAustraliaOnyama Limba RENEWAL
Mujtaba H SaylorsSpainAmy Elsner 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>