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
Rodrigues X NestleGermanyAsiya Javayant NEGOTIATION
Maisha N FigeroaItalyBernardo Dominic UNQUALIFIED
Octavia Z TollnerIndiaAnna Fali NEGOTIATION
Stacey L RimUnited KingdomBernardo Dominic NEW
Salvatore A KuskoItalyAsiya Javayant RENEWAL
Mayumi L BologniaArgentinaAnna Fali PROPOSAL
Cody L TollnerItalyStephen Shaw NEW
Leon N RulapaughGermanyAmy Elsner UNQUALIFIED
Deepesh B AmigonBrazilElwin Sharvill NEW
Ashley C VenereArgentinaElwin Sharvill RENEWAL
Izzy S WaycottIndiaOnyama Limba NEW
Munro B MacleadIndiaAnna Fali PROPOSAL
Smith F KuskoFranceOnyama Limba QUALIFIED
Aika U FigeroaAustraliaStephen Shaw PROPOSAL
Sinclair L WaycottSpainStephen Shaw PROPOSAL
Darci Z SaylorsFranceIoni Bowcher UNQUALIFIED
Alejandro M RulapaughItalyAnna Fali NEW
Mayumi P MaletGermanyStephen Shaw RENEWAL
Antonio T GarufiCanadaElwin Sharvill QUALIFIED
Ivar R SergiBrazilElwin Sharvill NEGOTIATION
Julie M StockhamCanadaAnna Fali PROPOSAL
James B MarrierSpainIoni Bowcher UNQUALIFIED
Nicolas Z GillianFranceAmy Elsner QUALIFIED
Greenwood N OldroydSpainAmy Elsner QUALIFIED
Ivar C DilliardIndiaBernardo Dominic PROPOSAL
Costa I BologniaRussiaXuxue Feng QUALIFIED
Kadeem D ButtGermanyIvan Magalhaes QUALIFIED
Salvatore N PaprockiBrazilAsiya Javayant QUALIFIED
Ivar Z NickaItalyAnna Fali RENEWAL
Emily B OldroydItalyBernardo Dominic RENEWAL
Mujtaba Y RoysterRussiaIoni Bowcher NEGOTIATION
Mujtaba G CampainAustraliaElwin Sharvill RENEWAL
Salvatore S BologniaIndiaXuxue Feng UNQUALIFIED
Rodrigues E FlosiCanadaAmy Elsner NEGOTIATION
Izzy Y DoeIndiaElwin Sharvill QUALIFIED
Morrow U CaudyIndiaAmy Elsner NEGOTIATION
Octavia J FollerItalyAmy Elsner QUALIFIED
Morrow C RulapaughAustraliaIoni Bowcher PROPOSAL
Darci A NestleCanadaStephen Shaw RENEWAL
Darci N MaletSpainElwin Sharvill RENEWAL
Arvin G OstroskyCanadaAmy Elsner NEW
Tony D SchemmerAustraliaStephen Shaw UNQUALIFIED
Greenwood O WhobreyAustraliaXuxue Feng NEW
Jefferson N DilliardSpainOnyama Limba PROPOSAL
Arvin C ChuiItalyAsiya Javayant NEGOTIATION
Munro M FigeroaFranceAmy Elsner QUALIFIED
Mujtaba C MarrierFranceIoni Bowcher PROPOSAL
Murillo Q GlickCanadaOnyama Limba QUALIFIED
Aika M RimArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois A ShinkoJapanIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez U ButtItalyXuxue Feng UNQUALIFIED
James P PerinItalyIoni Bowcher PROPOSAL
Francesco H KuskoSpainAsiya Javayant UNQUALIFIED
Leon U PerinRussiaAmy Elsner PROPOSAL
Emily L KolmetzAustraliaBernardo Dominic UNQUALIFIED
Johnson C KolmetzCanadaXuxue Feng NEGOTIATION
Cody K PaprockiAustraliaXuxue Feng PROPOSAL
James H DilliardSpainXuxue Feng NEGOTIATION
Jones W KuskoBrazilXuxue Feng NEGOTIATION
Alejandro F MacleadGermanyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki V SaylorsUnited Kingdom2026-06-13Chemel, James L Cpa QUALIFIED94Anna Fali
1001Clifford H MarrierAustralia2026-06-16Truhlar And Truhlar Attys UNQUALIFIED9Anna Fali
1002Wickens J WaycottArgentina2026-06-29Rangoni Of Florence NEW33Ioni Bowcher
1003Jeanfrancois T WaycottItaly2026-06-05Commercial Press NEW61Asiya Javayant
1004Ashley V FlosiGermany2026-06-13Buckley Miller Wright QUALIFIED50Asiya Javayant
1005Juan F KuskoJapan2026-06-30King, Christopher A Esq NEW89Elwin Sharvill
1006Rodrigues R AmigonCanada2026-06-20Rangoni Of Florence NEW91Elwin Sharvill
1007Silvio W VocelkaUnited Kingdom2026-06-28Rangoni Of Florence NEGOTIATION21Amy Elsner
1008David B MaletFrance2026-06-05Feltz Printing Service UNQUALIFIED39Stephen Shaw
1009Chavez L WieserItaly2026-06-12Truhlar And Truhlar Attys NEGOTIATION10Xuxue Feng
1010Julie B WieserRussia2026-06-05Chapman, Ross E Esq QUALIFIED44Ioni Bowcher
1011Juan B SergiGermany2026-06-23Benton, John B Jr NEW77Asiya Javayant
1012Cody M ButtSpain2026-06-08Commercial Press UNQUALIFIED28Asiya Javayant
1013Aditya A SchemmerItaly2026-06-05Commercial Press NEGOTIATION16Asiya Javayant
1014Johnson D VenereUnited Kingdom2026-06-11Benton, John B Jr UNQUALIFIED67Amy Elsner
1015Maria G InouyeFrance2026-06-22Morlong Associates QUALIFIED15Ioni Bowcher
1016Mujtaba W GarufiBrazil2026-06-27Dorl, James J Esq QUALIFIED44Asiya Javayant
1017Francesco P MaletAustralia2026-06-03Dorl, James J Esq NEGOTIATION61Anna Fali
1018Jennifer P SergiFrance2026-06-07Feltz Printing Service NEW28Xuxue Feng
1019Aika Q WhobreyFrance2026-06-18Feltz Printing Service NEW17Asiya Javayant
1020Faith A VenereGermany2026-06-23Buckley Miller Wright UNQUALIFIED60Asiya Javayant
1021Claire M NestleIndia2026-06-18Dorl, James J Esq UNQUALIFIED79Asiya Javayant
1022Ivar U FerenczRussia2026-06-17Feltz Printing Service PROPOSAL86Stephen Shaw
1023Deepesh H VocelkaFrance2026-06-07King, Christopher A Esq RENEWAL25Anna Fali
1024Francesco O PerinArgentina2026-06-14King, Christopher A Esq NEW53Xuxue Feng
1025Juan Z SchemmerUnited Kingdom2026-06-23Printing Dimensions QUALIFIED93Onyama Limba
1026Morrow L FollerItaly2026-07-01Rangoni Of Florence RENEWAL28Ioni Bowcher
1027Faith L CaudyRussia2026-06-15Chanay, Jeffrey A Esq PROPOSAL9Amy Elsner
1028David X FollerFrance2026-06-26Dorl, James J Esq NEW9Onyama Limba
1029Juan U KolmetzAustralia2026-06-04Rangoni Of Florence RENEWAL65Elwin Sharvill
1030Ashley A InouyeUnited Kingdom2026-07-01Rousseaux, Michael Esq UNQUALIFIED20Bernardo Dominic
1031Munro R IturbideJapan2026-06-19Chemel, James L Cpa RENEWAL48Anna Fali
1032Chavez N MaletFrance2026-06-23Rangoni Of Florence UNQUALIFIED83Anna Fali
1033Adams G PerinSpain2026-07-01Rangoni Of Florence RENEWAL72Amy Elsner
1034Leja X IturbideFrance2026-06-10Benton, John B Jr RENEWAL83Ioni Bowcher
1035Claire A RoysterCanada2026-06-04Dorl, James J Esq QUALIFIED13Bernardo Dominic
1036Wickens X NestleRussia2026-06-20Commercial Press UNQUALIFIED2Onyama Limba
1037Aruna S MaletGermany2026-06-23Chanay, Jeffrey A Esq NEW90Anna Fali
1038Ricardo B KolmetzBrazil2026-06-13Rousseaux, Michael Esq NEGOTIATION90Asiya Javayant
1039Aditya B GillianSpain2026-06-29Chanay, Jeffrey A Esq QUALIFIED19Amy Elsner
1040Claire M MorascaCanada2026-06-05Printing Dimensions UNQUALIFIED33Bernardo Dominic
1041Chavez A PerinFrance2026-06-20Printing Dimensions PROPOSAL86Bernardo Dominic
1042Sinclair L BriddickArgentina2026-06-18Dorl, James J Esq QUALIFIED54Stephen Shaw
1043Aruna S MaletUnited Kingdom2026-06-30Rangoni Of Florence QUALIFIED59Xuxue Feng
1044Jennifer M RutaRussia2026-06-07Buckley Miller Wright UNQUALIFIED59Stephen Shaw
1045David L WaycottGermany2026-06-25Chemel, James L Cpa RENEWAL88Asiya Javayant
1046Deepesh U StensethRussia2026-06-22Buckley Miller Wright QUALIFIED30Xuxue Feng
1047Aika U WieserUnited Kingdom2026-06-23Commercial Press PROPOSAL28Amy Elsner
1048Izzy O PaprockiSpain2026-07-02Chapman, Ross E Esq RENEWAL47Elwin Sharvill
1049Wickens I BriddickCanada2026-06-29Rousseaux, Michael Esq RENEWAL29Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maisha I DilliardIndiaOnyama Limba RENEWAL
Clifford C StensethAustraliaIvan Magalhaes RENEWAL
Smith Q MacleadUnited KingdomXuxue Feng NEW
Maisha L DoeAustraliaElwin Sharvill UNQUALIFIED
Cody K GauchoBrazilAsiya Javayant UNQUALIFIED
Wickens G MacleadBrazilAmy Elsner NEW
Cody P PoquetteBrazilElwin Sharvill RENEWAL
Tony B FollerRussiaAsiya Javayant RENEWAL
David L BowleyIndiaXuxue Feng UNQUALIFIED
Aika N CaudyRussiaElwin Sharvill UNQUALIFIED
Salvatore X VocelkaCanadaIvan Magalhaes NEW
Leon E FlosiAustraliaElwin Sharvill NEW
James S RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Tony Y KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Kadeem S MaletUnited KingdomBernardo Dominic QUALIFIED
Claire I StensethGermanyXuxue Feng UNQUALIFIED
Silvio B ButtGermanyAsiya Javayant RENEWAL
Aika Z RimRussiaIvan Magalhaes QUALIFIED
Clifford Y CampainRussiaBernardo Dominic RENEWAL
Munro I FlosiGermanyAsiya Javayant NEGOTIATION
Aditya P DoeSpainAsiya Javayant NEW
Mujtaba V InouyeFranceAnna Fali NEW
Claire P MorascaUnited KingdomElwin Sharvill PROPOSAL
Greenwood O VocelkaBrazilXuxue Feng PROPOSAL
Tony D PerinItalyAnna Fali QUALIFIED
Ricardo M MarrierIndiaStephen Shaw NEGOTIATION
Costa F DarakjyCanadaAnna Fali RENEWAL
Johnson B ButtArgentinaStephen Shaw QUALIFIED
Murillo N VocelkaJapanElwin Sharvill NEGOTIATION
Leon Q MacleadRussiaAsiya Javayant NEGOTIATION
Alejandro S WhobreyRussiaAnna Fali RENEWAL
Silvio I PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Cody T FerenczGermanyElwin Sharvill UNQUALIFIED
Deepesh P RoysterJapanAsiya Javayant NEGOTIATION
James Z CaldareraRussiaIoni Bowcher RENEWAL
Alejandro M StensethAustraliaBernardo Dominic NEGOTIATION
Izzy Y PerinRussiaAnna Fali UNQUALIFIED
Jefferson K ButtGermanyBernardo Dominic UNQUALIFIED
Alejandro Y RutaCanadaAnna Fali UNQUALIFIED
Chavez L BologniaBrazilAmy Elsner NEGOTIATION
Leon W FerenczRussiaOnyama Limba RENEWAL
Adams J WieserAustraliaAnna Fali NEGOTIATION
Mujtaba Z WhobreyRussiaXuxue Feng QUALIFIED
Mayumi F RoysterGermanyBernardo Dominic RENEWAL
Aika J SlusarskiSpainOnyama Limba UNQUALIFIED
Maisha S StockhamGermanyElwin Sharvill NEW
Greenwood M FlosiUnited KingdomStephen Shaw PROPOSAL
Nicolas E AlbaresArgentinaElwin Sharvill RENEWAL
Jennifer A TollnerItalyXuxue Feng NEGOTIATION
Francesco E MorascaJapanIvan Magalhaes NEW
Frozen Columns
Name
Johnson H Garufi
Mujtaba J Nicka
Sinclair L Rim
Johnson G Nestle
Ricardo G Dilliard
Greenwood E Oldroyd
Clifford C Rim
Octavia L Bolognia
Mujtaba I Caudy
Aika C Dilliard
Nicolas K Dilliard
Faith M Darakjy
Darci V Sergi
Emily Q Perin
Leja A Paprocki
Mujtaba A Oldroyd
Munro T Briddick
Tony M Figeroa
Juan X Ferencz
Darci Q Wieser
Rodrigues A Poquette
Jefferson P Briddick
Clifford A Perin
Faith X Flosi
Wickens A Gillian
Juan X Paprocki
Greenwood R Ostrosky
Juan I Doe
Sinclair H Tollner
Arvin D Oldroyd
Ivar M Nestle
Munro I Schemmer
Tony Y Flosi
Mujtaba Y Bolognia
Antonio K Foller
Francesco A Bowley
Claire M Kolmetz
Ricardo A Whobrey
Ricardo T Garufi
Misaki S Marrier
Murillo G Gaucho
Murillo M Schemmer
Aika H Venere
Mayumi Q Shinko
Johnson J Oldroyd
Deepesh L Iturbide
Clifford L Schemmer
Kaitlin U Kolmetz
Claire L Kolmetz
Stacey C Whobrey
IdCountryDate
1000Argentina2026-06-26
1001Australia2026-06-08
1002Argentina2026-06-30
1003Russia2026-06-06
1004Japan2026-06-15
1005Brazil2026-06-26
1006Japan2026-06-27
1007Canada2026-06-19
1008Spain2026-06-23
1009Russia2026-06-25
1010Russia2026-06-26
1011France2026-06-07
1012Brazil2026-06-26
1013United Kingdom2026-06-04
1014Japan2026-06-14
1015Russia2026-06-05
1016Australia2026-07-01
1017Spain2026-06-18
1018Canada2026-06-24
1019Argentina2026-06-16
1020Italy2026-06-14
1021Brazil2026-06-26
1022Japan2026-06-08
1023Italy2026-06-07
1024Brazil2026-06-24
1025France2026-06-27
1026Argentina2026-07-02
1027Spain2026-06-25
1028Russia2026-06-28
1029France2026-06-08
1030United Kingdom2026-07-02
1031Germany2026-06-22
1032Argentina2026-06-23
1033United Kingdom2026-06-15
1034Australia2026-07-02
1035France2026-06-22
1036Spain2026-07-02
1037India2026-06-03
1038Italy2026-06-11
1039Italy2026-06-04
1040Australia2026-06-10
1041Brazil2026-06-08
1042Argentina2026-06-13
1043Japan2026-06-21
1044Canada2026-06-05
1045Germany2026-06-13
1046Germany2026-06-22
1047Russia2026-06-30
1048Russia2026-06-29
1049Argentina2026-06-16

On-Demand Data

NameIdCountryDate
Jones O Figeroa1000United Kingdom2026-06-20
Nicolas T Flosi1001India2026-06-22
Mayumi U Gaucho1002Australia2026-06-05
Antonio Q Waycott1003Russia2026-06-11
Darci S Darakjy1004Brazil2026-06-09
Maria W Tollner1005Spain2026-06-21
Rodrigues L Slusarski1006United Kingdom2026-06-27
Murillo X Perin1007Spain2026-06-23
Kadeem N Kusko1008France2026-06-12
Johnson O Garufi1009Germany2026-06-17
David U Amigon1010France2026-06-03
Ashley I Marrier1011Spain2026-06-25
Aika U Morasca1012India2026-07-02
Emily C Caldarera1013Brazil2026-06-07
Francesco S Stenseth1014Brazil2026-06-09
Ashley S Shinko1015Brazil2026-06-08
Ashley P Doe1016Germany2026-06-13
David C Butt1017Australia2026-06-21
Juan L Kusko1018France2026-06-03
Wickens X Figeroa1019India2026-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin S SlusarskiItalyStephen Shaw NEGOTIATION
Rodrigues C OldroydArgentinaElwin Sharvill NEW
Maria D TollnerBrazilAsiya Javayant QUALIFIED
Ashley X RimRussiaXuxue Feng UNQUALIFIED
Costa W DarakjyArgentinaElwin Sharvill NEGOTIATION
Munro V SlusarskiJapanIvan Magalhaes UNQUALIFIED
Ricardo P CampainSpainAmy Elsner NEW
Aruna L DoeSpainAsiya Javayant QUALIFIED
Ricardo B FollerBrazilIoni Bowcher NEGOTIATION
Tony J CaldareraAustraliaBernardo Dominic UNQUALIFIED
Chavez I RoysterItalyXuxue Feng RENEWAL
Maria C CaldareraGermanyXuxue Feng NEGOTIATION
Ivar F NickaGermanyIvan Magalhaes PROPOSAL
Silvio N GarufiCanadaOnyama Limba RENEWAL
Julie H IturbideFranceIoni Bowcher UNQUALIFIED
Johnson U SergiCanadaAmy Elsner QUALIFIED
Aruna B WaycottGermanyAsiya Javayant RENEWAL
Arvin S NickaAustraliaOnyama Limba UNQUALIFIED
Darci G ShinkoCanadaIvan Magalhaes UNQUALIFIED
James M FerenczSpainAsiya Javayant RENEWAL
Maria T PoquetteArgentinaAsiya Javayant NEW
Leon J IturbideAustraliaAmy Elsner PROPOSAL
Maria S RutaJapanElwin Sharvill RENEWAL
Jones R InouyeArgentinaAnna Fali RENEWAL
Smith Y ButtRussiaElwin Sharvill PROPOSAL
Maria S PoquetteFranceElwin Sharvill UNQUALIFIED
Juan W OstroskyFranceAsiya Javayant PROPOSAL
Misaki W BologniaFranceElwin Sharvill NEW
Aditya E ShinkoJapanIoni Bowcher NEW
Morrow U ChuiUnited KingdomAnna Fali QUALIFIED
Rodrigues K WaycottArgentinaIvan Magalhaes NEGOTIATION
Mayumi J NestleGermanyStephen Shaw PROPOSAL
Emily D FlosiAustraliaStephen Shaw UNQUALIFIED
Aika U DilliardAustraliaOnyama Limba QUALIFIED
Stacey K WaycottUnited KingdomOnyama Limba NEW
Murillo C FerenczGermanyAsiya Javayant NEW
Silvio Q CaudySpainStephen Shaw PROPOSAL
Arvin N TollnerAustraliaOnyama Limba PROPOSAL
Leja D KolmetzSpainIoni Bowcher PROPOSAL
Isabel A OstroskyIndiaIvan Magalhaes 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>