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
Misaki S FollerArgentinaXuxue Feng RENEWAL
Leon Y BowleyBrazilAsiya Javayant NEGOTIATION
Maisha F MaletRussiaAsiya Javayant NEW
Claire B GarufiFranceIvan Magalhaes PROPOSAL
Jennifer K NickaFranceOnyama Limba NEGOTIATION
Johnson S RulapaughUnited KingdomOnyama Limba RENEWAL
Leja U CampainGermanyBernardo Dominic RENEWAL
Maria K MaletGermanyStephen Shaw PROPOSAL
Silvio V WieserAustraliaElwin Sharvill NEGOTIATION
Smith E MorascaJapanBernardo Dominic PROPOSAL
Emily X NestleAustraliaAnna Fali PROPOSAL
Francesco J BologniaUnited KingdomStephen Shaw RENEWAL
Tony Q FollerBrazilAmy Elsner QUALIFIED
Arvin C SlusarskiSpainIoni Bowcher RENEWAL
Johnson W CaudySpainElwin Sharvill QUALIFIED
Jeanfrancois G InouyeItalyIvan Magalhaes PROPOSAL
Darci X RutaAustraliaOnyama Limba UNQUALIFIED
Johnson B NestleRussiaAsiya Javayant NEGOTIATION
Claire M InouyeFranceAsiya Javayant NEW
Clifford W MaletItalyAmy Elsner NEGOTIATION
David U RoysterIndiaBernardo Dominic NEGOTIATION
Costa T NestleGermanyAmy Elsner PROPOSAL
Deepesh S MaletFranceAmy Elsner QUALIFIED
David E KolmetzCanadaXuxue Feng RENEWAL
James Q MarrierSpainIvan Magalhaes RENEWAL
Morrow N KolmetzJapanStephen Shaw NEGOTIATION
Ashley J MorascaIndiaOnyama Limba UNQUALIFIED
Sinclair W CaudyBrazilIvan Magalhaes RENEWAL
Johnson T PaprockiIndiaAsiya Javayant RENEWAL
Aika C StensethIndiaElwin Sharvill RENEWAL
Isabel D PoquetteArgentinaStephen Shaw NEW
Julie B KolmetzGermanyAmy Elsner NEGOTIATION
Munro W MarrierBrazilStephen Shaw NEW
Jeanfrancois U DilliardCanadaElwin Sharvill UNQUALIFIED
Greenwood C WhobreyUnited KingdomXuxue Feng NEW
Smith Z AlbaresFranceIvan Magalhaes NEW
Emily E PerinItalyElwin Sharvill PROPOSAL
Claire S GarufiSpainIoni Bowcher UNQUALIFIED
Maisha G WaycottItalyStephen Shaw PROPOSAL
Munro C GlickGermanyAmy Elsner NEGOTIATION
Sinclair M GarufiUnited KingdomXuxue Feng RENEWAL
Stacey C VocelkaCanadaIoni Bowcher NEGOTIATION
Maria W GlickGermanyStephen Shaw QUALIFIED
Deepesh F GarufiAustraliaAmy Elsner PROPOSAL
Jennifer A DarakjySpainBernardo Dominic QUALIFIED
Morrow N OldroydJapanIvan Magalhaes NEW
Antonio O PaprockiIndiaAnna Fali RENEWAL
Deepesh S PaprockiUnited KingdomStephen Shaw PROPOSAL
Darci Y FollerUnited KingdomXuxue Feng RENEWAL
Costa M SchemmerCanadaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem I StockhamArgentinaOnyama Limba PROPOSAL
Alejandro K MaletCanadaElwin Sharvill NEGOTIATION
Francesco N CaudyFranceAnna Fali RENEWAL
Isabel Q GauchoIndiaIoni Bowcher QUALIFIED
Mayumi I DoeIndiaIoni Bowcher NEW
Rodrigues G DarakjyCanadaIvan Magalhaes NEGOTIATION
Mujtaba J DilliardUnited KingdomStephen Shaw UNQUALIFIED
Kadeem F StockhamJapanAmy Elsner RENEWAL
Ashley N BriddickCanadaIvan Magalhaes RENEWAL
Claire D InouyeFranceElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha B GauchoBrazil2025-06-07Printing Dimensions PROPOSAL33Ioni Bowcher
1001Juan R MaletCanada2025-06-04Commercial Press PROPOSAL47Xuxue Feng
1002Mayumi R SlusarskiItaly2025-06-04King, Christopher A Esq NEGOTIATION95Amy Elsner
1003Jennifer A MaletRussia2025-06-09Feltz Printing Service RENEWAL75Xuxue Feng
1004Costa K OldroydArgentina2025-05-26Rousseaux, Michael Esq RENEWAL97Stephen Shaw
1005Sinclair P CampainUnited Kingdom2025-06-14Feltz Printing Service QUALIFIED35Ioni Bowcher
1006Murillo C InouyeUnited Kingdom2025-05-22King, Christopher A Esq RENEWAL64Onyama Limba
1007Costa C RulapaughUnited Kingdom2025-05-23Dorl, James J Esq NEW75Amy Elsner
1008Aditya B InouyeJapan2025-05-25Buckley Miller Wright PROPOSAL76Anna Fali
1009Johnson T FlosiCanada2025-06-16Benton, John B Jr RENEWAL62Ivan Magalhaes
1010Alejandro V IturbideJapan2025-05-28Chemel, James L Cpa UNQUALIFIED56Xuxue Feng
1011Maisha W AmigonGermany2025-06-15Chapman, Ross E Esq PROPOSAL98Elwin Sharvill
1012Aika F StensethCanada2025-05-19Morlong Associates NEW6Xuxue Feng
1013Silvio G PerinBrazil2025-05-26Dorl, James J Esq QUALIFIED6Bernardo Dominic
1014Sinclair K FollerBrazil2025-05-27Rousseaux, Michael Esq RENEWAL48Ioni Bowcher
1015Clifford R CaldareraFrance2025-06-09Chemel, James L Cpa PROPOSAL20Ioni Bowcher
1016Jeanfrancois X OldroydIndia2025-06-02Buckley Miller Wright NEGOTIATION99Onyama Limba
1017Alejandro J MaletCanada2025-06-11Truhlar And Truhlar Attys NEW17Anna Fali
1018Smith M SlusarskiUnited Kingdom2025-05-30Benton, John B Jr PROPOSAL18Ivan Magalhaes
1019Alejandro C NickaRussia2025-06-10Chemel, James L Cpa NEGOTIATION97Onyama Limba
1020Jones B OstroskyRussia2025-06-04Truhlar And Truhlar Attys RENEWAL81Bernardo Dominic
1021Rodrigues J TollnerAustralia2025-06-06Chanay, Jeffrey A Esq QUALIFIED82Elwin Sharvill
1022Maisha Y AmigonUnited Kingdom2025-05-19Feltz Printing Service RENEWAL74Asiya Javayant
1023Ivar T FigeroaRussia2025-06-09Chemel, James L Cpa NEGOTIATION49Xuxue Feng
1024Leon Z SergiFrance2025-05-27Printing Dimensions UNQUALIFIED96Anna Fali
1025Salvatore M DoeAustralia2025-06-08Rousseaux, Michael Esq PROPOSAL62Bernardo Dominic
1026Kadeem H DilliardFrance2025-06-16King, Christopher A Esq NEW0Anna Fali
1027Emily T DoeUnited Kingdom2025-05-23Rangoni Of Florence NEW92Asiya Javayant
1028Mayumi X SlusarskiCanada2025-06-13Benton, John B Jr QUALIFIED48Elwin Sharvill
1029Deepesh R WhobreyArgentina2025-06-07Chapman, Ross E Esq NEGOTIATION84Ivan Magalhaes
1030Chavez T RulapaughUnited Kingdom2025-05-27Feiner Bros NEW21Anna Fali
1031Stacey O ShinkoJapan2025-06-03Printing Dimensions RENEWAL18Onyama Limba
1032James Y GauchoAustralia2025-06-13Feiner Bros PROPOSAL30Bernardo Dominic
1033Octavia I NickaGermany2025-05-23Printing Dimensions QUALIFIED80Onyama Limba
1034Maria X VocelkaRussia2025-05-21Feltz Printing Service PROPOSAL61Xuxue Feng
1035Deepesh B SlusarskiBrazil2025-05-30Morlong Associates PROPOSAL52Xuxue Feng
1036Kadeem K SlusarskiBrazil2025-06-08Printing Dimensions NEGOTIATION61Bernardo Dominic
1037Wickens C FollerGermany2025-05-30Rangoni Of Florence PROPOSAL6Asiya Javayant
1038Adams H IturbideGermany2025-05-31Dorl, James J Esq QUALIFIED27Ioni Bowcher
1039Costa T WhobreyAustralia2025-05-24Feiner Bros PROPOSAL70Ioni Bowcher
1040Jefferson N BriddickUnited Kingdom2025-05-18King, Christopher A Esq QUALIFIED28Elwin Sharvill
1041Chavez K IturbideItaly2025-06-02Feiner Bros NEGOTIATION51Ivan Magalhaes
1042Ricardo J MorascaAustralia2025-06-10Printing Dimensions NEW97Xuxue Feng
1043Julie U MaletItaly2025-06-02Commercial Press UNQUALIFIED37Bernardo Dominic
1044Jennifer T RoysterJapan2025-05-30Benton, John B Jr RENEWAL43Stephen Shaw
1045Kaitlin C GlickBrazil2025-06-16King, Christopher A Esq UNQUALIFIED21Onyama Limba
1046Greenwood O VenereIndia2025-06-05Morlong Associates RENEWAL34Ioni Bowcher
1047Silvio O FlosiItaly2025-06-16Commercial Press NEW36Elwin Sharvill
1048Johnson B MaletBrazil2025-06-05Printing Dimensions PROPOSAL48Onyama Limba
1049Deepesh L SlusarskiJapan2025-06-12Morlong Associates RENEWAL46Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Tony O ButtBrazilXuxue Feng PROPOSAL
Leon M RulapaughIndiaElwin Sharvill QUALIFIED
Morrow C AlbaresCanadaAnna Fali RENEWAL
Aika A GillianRussiaIvan Magalhaes NEW
Jeanfrancois K KuskoCanadaElwin Sharvill QUALIFIED
Smith H FigeroaRussiaAnna Fali UNQUALIFIED
Chavez T WieserJapanAsiya Javayant NEGOTIATION
Leja U PerinBrazilIvan Magalhaes UNQUALIFIED
Aruna P OstroskyArgentinaAsiya Javayant UNQUALIFIED
Costa M InouyeIndiaXuxue Feng NEGOTIATION
Cody W BologniaCanadaBernardo Dominic UNQUALIFIED
Johnson Y FerenczIndiaAnna Fali NEGOTIATION
Julie R SergiArgentinaIvan Magalhaes NEGOTIATION
Cody P StensethSpainIoni Bowcher UNQUALIFIED
Antonio E BriddickFranceIvan Magalhaes UNQUALIFIED
Ricardo H RimAustraliaStephen Shaw RENEWAL
Kadeem W SlusarskiSpainBernardo Dominic NEGOTIATION
Munro C FerenczSpainIvan Magalhaes UNQUALIFIED
Faith S RimJapanAmy Elsner NEW
Morrow C DilliardArgentinaOnyama Limba QUALIFIED
Salvatore H CampainUnited KingdomAnna Fali RENEWAL
Morrow F FerenczGermanyAmy Elsner NEW
Salvatore Q ButtCanadaBernardo Dominic NEW
Mayumi W KuskoIndiaAmy Elsner NEW
Mujtaba T SergiGermanyBernardo Dominic QUALIFIED
Faith E SaylorsBrazilOnyama Limba RENEWAL
Maisha S KuskoFranceAsiya Javayant PROPOSAL
Emily F GarufiItalyIoni Bowcher UNQUALIFIED
Deepesh F InouyeIndiaAsiya Javayant PROPOSAL
Antonio E GauchoRussiaAsiya Javayant NEW
Cody J FigeroaFranceXuxue Feng NEGOTIATION
Leja I ShinkoCanadaOnyama Limba UNQUALIFIED
Murillo G WieserGermanyXuxue Feng QUALIFIED
Murillo M NestleCanadaBernardo Dominic NEW
Munro N RulapaughRussiaXuxue Feng UNQUALIFIED
Leja A StockhamIndiaOnyama Limba NEW
Kadeem Q MorascaAustraliaBernardo Dominic NEW
Deepesh N DarakjyBrazilAmy Elsner PROPOSAL
Leon S DarakjySpainOnyama Limba QUALIFIED
Isabel W ButtItalyAsiya Javayant PROPOSAL
Kadeem Q MaletArgentinaElwin Sharvill NEW
Aika F CaudyUnited KingdomAmy Elsner NEW
Silvio G ShinkoItalyOnyama Limba NEW
Julie V VenereRussiaIoni Bowcher UNQUALIFIED
Isabel W PoquetteBrazilAmy Elsner NEW
Jeanfrancois Q PerinCanadaAnna Fali NEW
Kadeem J RulapaughFranceXuxue Feng NEGOTIATION
Emily W GlickRussiaAmy Elsner QUALIFIED
Tony E DoeRussiaAnna Fali RENEWAL
Nicolas L CampainCanadaElwin Sharvill QUALIFIED
Frozen Columns
Name
Tony H Kusko
Aditya Z Kolmetz
Octavia W Vocelka
Octavia F Venere
David F Oldroyd
Tony U Ostrosky
Isabel K Kusko
Salvatore Q Poquette
Claire P Doe
Misaki J Rim
Ricardo F Paprocki
James N Royster
Isabel H Ferencz
Chavez M Rulapaugh
Ivar L Royster
Ashley C Dilliard
Mayumi E Darakjy
Faith I Saylors
Murillo I Venere
David I Malet
Silvio L Perin
Kadeem Y Figeroa
Jefferson L Ostrosky
Adams W Kusko
Leon G Shinko
Ivar V Campain
Deepesh O Slusarski
Antonio X Briddick
Darci I Figeroa
Alejandro K Oldroyd
Arvin J Doe
Francesco S Saylors
Leja D Ostrosky
Salvatore S Gillian
Murillo E Briddick
Jefferson N Venere
Sinclair C Butt
Leon D Shinko
Faith S Malet
Julie U Malet
Francesco I Flosi
Cody M Perin
Isabel L Garufi
Aika E Rim
Jennifer H Perin
Sinclair Y Shinko
Faith N Morasca
Maria L Stenseth
Stacey P Butt
Juan A Briddick
IdCountryDate
1000Japan2025-05-25
1001Russia2025-06-10
1002Brazil2025-06-09
1003Australia2025-06-13
1004Russia2025-05-27
1005France2025-06-04
1006Brazil2025-05-31
1007India2025-05-31
1008Argentina2025-05-30
1009Russia2025-05-20
1010Brazil2025-06-12
1011Spain2025-06-14
1012Australia2025-05-29
1013France2025-06-11
1014India2025-06-11
1015Italy2025-06-04
1016India2025-05-28
1017Canada2025-06-15
1018Russia2025-06-08
1019Japan2025-06-01
1020Argentina2025-06-05
1021Russia2025-06-14
1022India2025-06-08
1023Spain2025-05-23
1024Australia2025-05-27
1025Argentina2025-05-23
1026Argentina2025-05-31
1027Canada2025-05-24
1028United Kingdom2025-06-09
1029Spain2025-06-06
1030Japan2025-05-22
1031France2025-06-06
1032United Kingdom2025-05-28
1033France2025-06-08
1034Italy2025-06-15
1035Germany2025-05-26
1036Italy2025-05-19
1037India2025-05-23
1038India2025-06-15
1039Spain2025-06-11
1040Germany2025-06-16
1041Japan2025-06-12
1042Germany2025-06-04
1043Australia2025-05-30
1044Japan2025-05-18
1045Spain2025-05-23
1046United Kingdom2025-06-14
1047Russia2025-06-12
1048Australia2025-06-16
1049Spain2025-06-06

On-Demand Data

NameIdCountryDate
Stacey Q Tollner1000United Kingdom2025-05-28
Ricardo T Bolognia1001Australia2025-05-26
Isabel I Tollner1002Italy2025-06-12
Aditya E Schemmer1003Japan2025-06-05
Julie U Figeroa1004Australia2025-05-19
Costa V Nicka1005India2025-05-31
Kaitlin M Ruta1006Australia2025-05-20
Greenwood K Nicka1007Japan2025-05-20
Izzy N Albares1008Italy2025-05-27
Maisha Z Schemmer1009Argentina2025-06-08
Aditya C Darakjy1010Brazil2025-05-24
Arvin K Inouye1011Russia2025-06-08
Faith A Iturbide1012France2025-06-07
Adams X Schemmer1013Argentina2025-05-21
Ivar R Darakjy1014Brazil2025-06-05
Emily F Poquette1015Japan2025-06-15
James Y Iturbide1016United Kingdom2025-06-13
Greenwood R Slusarski1017Japan2025-06-12
Leon U Malet1018Spain2025-06-16
Juan P Slusarski1019Australia2025-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa K GarufiItalyAmy Elsner RENEWAL
Ivar W PaprockiIndiaIoni Bowcher UNQUALIFIED
Leon P ButtFranceIoni Bowcher NEGOTIATION
Antonio E WaycottArgentinaAmy Elsner RENEWAL
Kaitlin Q IturbideUnited KingdomStephen Shaw QUALIFIED
Sinclair R TollnerItalyOnyama Limba NEGOTIATION
Jennifer F ChuiArgentinaStephen Shaw NEW
Tony F StockhamGermanyAsiya Javayant PROPOSAL
Mujtaba A GlickJapanXuxue Feng RENEWAL
Faith M WaycottIndiaElwin Sharvill RENEWAL
Mayumi R ChuiAustraliaBernardo Dominic RENEWAL
Francesco L RutaAustraliaXuxue Feng QUALIFIED
Smith B DoeGermanyBernardo Dominic NEW
Isabel P StockhamIndiaOnyama Limba QUALIFIED
Chavez L ShinkoJapanElwin Sharvill NEGOTIATION
Silvio P KuskoUnited KingdomBernardo Dominic NEW
Isabel Y DoeGermanyOnyama Limba NEW
Aika E NestleIndiaXuxue Feng QUALIFIED
Mujtaba S WhobreyJapanBernardo Dominic UNQUALIFIED
Nicolas X OldroydCanadaAsiya Javayant PROPOSAL
Faith A WieserRussiaStephen Shaw NEW
Tony K VenereUnited KingdomOnyama Limba NEGOTIATION
Izzy D GarufiSpainIoni Bowcher PROPOSAL
Morrow E WaycottItalyAmy Elsner PROPOSAL
Murillo U StockhamJapanStephen Shaw NEW
Kaitlin V SaylorsBrazilIvan Magalhaes UNQUALIFIED
Julie L DilliardArgentinaAsiya Javayant NEW
Mujtaba P OldroydJapanIvan Magalhaes NEGOTIATION
Jennifer P InouyeGermanyIvan Magalhaes UNQUALIFIED
Jones O CampainCanadaElwin Sharvill PROPOSAL
Aruna I RimGermanyIvan Magalhaes UNQUALIFIED
Darci O FlosiRussiaIoni Bowcher QUALIFIED
Leja G SchemmerUnited KingdomStephen Shaw UNQUALIFIED
David Y GarufiRussiaStephen Shaw NEW
Sinclair Q NestleFranceBernardo Dominic RENEWAL
Munro T NickaCanadaAnna Fali PROPOSAL
Silvio E MaletBrazilBernardo Dominic NEW
Ivar J CampainAustraliaAnna Fali UNQUALIFIED
Aruna Q AlbaresCanadaAsiya Javayant NEW
Adams X BowleyAustraliaAnna Fali 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>