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
Isabel Y CampainAustraliaAnna Fali NEW
Jeanfrancois M NestleAustraliaAnna Fali QUALIFIED
Stacey Z StockhamGermanyIvan Magalhaes UNQUALIFIED
Juan K OldroydItalyIvan Magalhaes PROPOSAL
Rodrigues E RutaUnited KingdomStephen Shaw QUALIFIED
Mujtaba H CaldareraBrazilStephen Shaw UNQUALIFIED
Maria N WieserBrazilXuxue Feng QUALIFIED
Misaki G TollnerAustraliaStephen Shaw RENEWAL
Kaitlin E WhobreyIndiaAsiya Javayant RENEWAL
Chavez U DoeRussiaElwin Sharvill QUALIFIED
Octavia C CampainIndiaElwin Sharvill UNQUALIFIED
Maria L WhobreyJapanOnyama Limba QUALIFIED
Morrow R GillianFranceAsiya Javayant UNQUALIFIED
Leon J DilliardIndiaOnyama Limba NEGOTIATION
Jennifer L PerinItalyElwin Sharvill PROPOSAL
Francesco J IturbideUnited KingdomAmy Elsner PROPOSAL
Faith N MorascaCanadaBernardo Dominic QUALIFIED
Stacey N StensethGermanyAmy Elsner RENEWAL
Mujtaba F GlickCanadaOnyama Limba NEGOTIATION
Ashley F CaldareraSpainBernardo Dominic NEW
Claire Z FerenczBrazilOnyama Limba NEGOTIATION
Jeanfrancois U GlickBrazilBernardo Dominic NEGOTIATION
James T RulapaughRussiaStephen Shaw RENEWAL
Morrow L FlosiCanadaBernardo Dominic UNQUALIFIED
Chavez C BowleySpainIvan Magalhaes UNQUALIFIED
Cody T MacleadBrazilIoni Bowcher PROPOSAL
Costa N GarufiUnited KingdomIoni Bowcher PROPOSAL
Morrow D MaletAustraliaIvan Magalhaes PROPOSAL
Leon L PerinFranceElwin Sharvill RENEWAL
Salvatore J ButtSpainOnyama Limba NEGOTIATION
Morrow K WaycottJapanIoni Bowcher RENEWAL
Darci J FigeroaCanadaAsiya Javayant UNQUALIFIED
Rodrigues P PaprockiRussiaIoni Bowcher RENEWAL
Morrow S OstroskySpainIoni Bowcher RENEWAL
Silvio O PoquetteCanadaIoni Bowcher UNQUALIFIED
Johnson B GillianRussiaAnna Fali NEGOTIATION
Ashley X GlickSpainElwin Sharvill PROPOSAL
Silvio Y AmigonJapanAnna Fali UNQUALIFIED
Leon K MorascaJapanStephen Shaw RENEWAL
James V OldroydAustraliaAnna Fali NEW
Antonio U FollerCanadaIoni Bowcher RENEWAL
Juan E CampainRussiaStephen Shaw RENEWAL
David I MarrierCanadaStephen Shaw NEGOTIATION
Ricardo Z WaycottItalyAmy Elsner QUALIFIED
Aika X PaprockiFranceBernardo Dominic QUALIFIED
Deepesh R BologniaIndiaOnyama Limba PROPOSAL
Munro L IturbideIndiaAmy Elsner QUALIFIED
Alejandro H FlosiSpainXuxue Feng PROPOSAL
David E MarrierRussiaIoni Bowcher RENEWAL
Munro B AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith C DarakjyIndiaElwin Sharvill NEW
Stacey M RoysterRussiaIoni Bowcher NEW
Nicolas K VenereBrazilOnyama Limba PROPOSAL
Aruna Z FerenczIndiaBernardo Dominic UNQUALIFIED
Jefferson K MaletArgentinaXuxue Feng PROPOSAL
Adams K GauchoGermanyAsiya Javayant UNQUALIFIED
Greenwood L MacleadJapanIoni Bowcher RENEWAL
Sinclair H PaprockiCanadaAsiya Javayant NEGOTIATION
Stacey P GlickJapanElwin Sharvill RENEWAL
Cody S FlosiJapanElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David Y FigeroaBrazil2024-05-31Feiner Bros UNQUALIFIED54Onyama Limba
1001Maria S PoquetteUnited Kingdom2024-06-18Printing Dimensions PROPOSAL74Ioni Bowcher
1002Ashley L PerinItaly2024-05-28Dorl, James J Esq RENEWAL70Elwin Sharvill
1003Nicolas N VocelkaArgentina2024-06-04Printing Dimensions UNQUALIFIED99Stephen Shaw
1004Chavez A ChuiGermany2024-05-24Truhlar And Truhlar Attys QUALIFIED31Xuxue Feng
1005Jeanfrancois Q OldroydCanada2024-06-14Chemel, James L Cpa UNQUALIFIED44Amy Elsner
1006Darci P OldroydUnited Kingdom2024-06-01Benton, John B Jr UNQUALIFIED37Stephen Shaw
1007Chavez V AlbaresIndia2024-05-30Chanay, Jeffrey A Esq QUALIFIED54Ivan Magalhaes
1008Clifford M DarakjySpain2024-06-12Rangoni Of Florence PROPOSAL34Elwin Sharvill
1009Maisha U InouyeSpain2024-05-22Rousseaux, Michael Esq PROPOSAL37Amy Elsner
1010Leja E PerinCanada2024-06-14Feiner Bros UNQUALIFIED92Asiya Javayant
1011Aditya M ChuiUnited Kingdom2024-06-07Printing Dimensions QUALIFIED30Anna Fali
1012Maisha U MorascaUnited Kingdom2024-06-06Rangoni Of Florence QUALIFIED16Onyama Limba
1013Munro S GarufiUnited Kingdom2024-05-30Rousseaux, Michael Esq RENEWAL92Xuxue Feng
1014Claire C KolmetzCanada2024-06-13Commercial Press NEGOTIATION15Asiya Javayant
1015Kaitlin N ShinkoFrance2024-05-24Dorl, James J Esq RENEWAL73Ioni Bowcher
1016Aruna T DarakjySpain2024-05-28Benton, John B Jr UNQUALIFIED98Onyama Limba
1017Aruna P StockhamFrance2024-06-15Buckley Miller Wright NEGOTIATION4Onyama Limba
1018Leon A StockhamBrazil2024-06-17Chemel, James L Cpa QUALIFIED25Xuxue Feng
1019Jeanfrancois F CaudyUnited Kingdom2024-06-02Buckley Miller Wright NEW53Onyama Limba
1020Alejandro F ButtAustralia2024-06-12Buckley Miller Wright NEW25Amy Elsner
1021Faith E SlusarskiFrance2024-06-12Feiner Bros UNQUALIFIED91Ioni Bowcher
1022Stacey G VocelkaIndia2024-06-12Benton, John B Jr PROPOSAL19Asiya Javayant
1023Stacey E GlickAustralia2024-06-12Feiner Bros UNQUALIFIED96Elwin Sharvill
1024Alejandro U BriddickItaly2024-06-12King, Christopher A Esq PROPOSAL38Ivan Magalhaes
1025Maria M IturbideItaly2024-06-09Benton, John B Jr PROPOSAL73Xuxue Feng
1026Isabel C InouyeBrazil2024-06-18Commercial Press PROPOSAL19Stephen Shaw
1027Julie M RutaGermany2024-06-15Dorl, James J Esq RENEWAL82Stephen Shaw
1028Wickens X DilliardJapan2024-06-14Feltz Printing Service NEW63Ioni Bowcher
1029Ivar E SergiSpain2024-05-28Printing Dimensions RENEWAL21Asiya Javayant
1030Ashley G MorascaBrazil2024-05-23Printing Dimensions PROPOSAL4Ivan Magalhaes
1031Chavez A MaletSpain2024-06-04Benton, John B Jr QUALIFIED11Stephen Shaw
1032Ricardo M NickaArgentina2024-05-23Feiner Bros PROPOSAL30Asiya Javayant
1033Murillo R GarufiItaly2024-06-14Morlong Associates QUALIFIED40Stephen Shaw
1034Munro L ChuiSpain2024-06-13Benton, John B Jr PROPOSAL69Stephen Shaw
1035Leja M CaudyRussia2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED90Asiya Javayant
1036Ivar C CampainCanada2024-05-22Chanay, Jeffrey A Esq RENEWAL88Anna Fali
1037Morrow U ButtItaly2024-06-18Chanay, Jeffrey A Esq QUALIFIED96Ioni Bowcher
1038Julie X MaletFrance2024-06-10Printing Dimensions PROPOSAL70Ivan Magalhaes
1039Smith S ButtFrance2024-06-06Truhlar And Truhlar Attys PROPOSAL19Amy Elsner
1040James K SergiItaly2024-05-28Chemel, James L Cpa QUALIFIED87Anna Fali
1041Jeanfrancois I ChuiCanada2024-06-04King, Christopher A Esq QUALIFIED82Elwin Sharvill
1042Johnson S ButtArgentina2024-05-21Commercial Press NEW67Stephen Shaw
1043David T FollerFrance2024-05-28Buckley Miller Wright NEGOTIATION26Elwin Sharvill
1044Aruna Q SaylorsBrazil2024-05-31Morlong Associates QUALIFIED97Amy Elsner
1045Leja M OstroskyItaly2024-06-16Chemel, James L Cpa QUALIFIED59Stephen Shaw
1046Salvatore Z AmigonRussia2024-05-29Commercial Press QUALIFIED53Stephen Shaw
1047Arvin U NestleFrance2024-05-26King, Christopher A Esq UNQUALIFIED75Xuxue Feng
1048Leon Y DoeAustralia2024-06-12Benton, John B Jr RENEWAL52Elwin Sharvill
1049Maria Q SergiAustralia2024-06-14Chanay, Jeffrey A Esq PROPOSAL41Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Clifford B SchemmerRussiaIvan Magalhaes NEW
Francesco X OldroydUnited KingdomBernardo Dominic RENEWAL
Francesco M StockhamCanadaStephen Shaw PROPOSAL
Deepesh A CaudyJapanOnyama Limba NEGOTIATION
Mayumi P MarrierGermanyIoni Bowcher NEGOTIATION
Darci I MacleadGermanyAsiya Javayant NEW
Kadeem L FlosiSpainBernardo Dominic RENEWAL
Adams B GauchoUnited KingdomOnyama Limba RENEWAL
David N MaletBrazilBernardo Dominic NEGOTIATION
Alejandro H SergiJapanIvan Magalhaes NEGOTIATION
Ashley S BologniaBrazilIvan Magalhaes NEGOTIATION
Leja C KolmetzRussiaOnyama Limba PROPOSAL
Alejandro S WieserUnited KingdomXuxue Feng PROPOSAL
Cody Y PoquetteCanadaIvan Magalhaes PROPOSAL
Cody H MaletAustraliaElwin Sharvill NEGOTIATION
Claire B KuskoIndiaIvan Magalhaes RENEWAL
Darci G RimRussiaAnna Fali NEGOTIATION
Kadeem J AmigonGermanyAsiya Javayant QUALIFIED
Silvio R MacleadBrazilBernardo Dominic UNQUALIFIED
Costa O IturbideIndiaBernardo Dominic NEGOTIATION
Maria W ShinkoFranceBernardo Dominic RENEWAL
Costa T WaycottIndiaIvan Magalhaes NEW
Leja L FerenczUnited KingdomOnyama Limba NEGOTIATION
Wickens N NickaSpainAsiya Javayant QUALIFIED
Darci W BologniaRussiaElwin Sharvill RENEWAL
Maisha O CaudyCanadaIoni Bowcher NEGOTIATION
Leja Q AmigonRussiaAnna Fali PROPOSAL
David P CaudyFranceElwin Sharvill UNQUALIFIED
Izzy N RimCanadaAnna Fali UNQUALIFIED
Ashley W PerinRussiaAnna Fali RENEWAL
Stacey K StensethCanadaElwin Sharvill NEGOTIATION
Antonio S TollnerRussiaAnna Fali NEGOTIATION
Ricardo V WhobreyFranceAmy Elsner NEGOTIATION
Jeanfrancois I FlosiIndiaAnna Fali PROPOSAL
Leja U GlickJapanBernardo Dominic NEGOTIATION
Jefferson L MacleadItalyIoni Bowcher QUALIFIED
Tony W GlickSpainAnna Fali QUALIFIED
Adams O BologniaUnited KingdomXuxue Feng NEGOTIATION
Deepesh C DarakjyBrazilAmy Elsner NEGOTIATION
Octavia B GlickArgentinaBernardo Dominic NEW
Darci J ShinkoBrazilIoni Bowcher PROPOSAL
Silvio H RimGermanyAnna Fali NEGOTIATION
Clifford E PaprockiArgentinaIoni Bowcher NEW
Leon P AlbaresFranceIoni Bowcher RENEWAL
Tony A RulapaughIndiaAsiya Javayant PROPOSAL
Alejandro F CampainBrazilStephen Shaw PROPOSAL
Izzy X NestleJapanStephen Shaw NEW
Jeanfrancois G FollerIndiaIoni Bowcher UNQUALIFIED
James T IturbideJapanIvan Magalhaes QUALIFIED
Alejandro X IturbideArgentinaAmy Elsner NEGOTIATION
Frozen Columns
Name
Maisha V Paprocki
Antonio D Waycott
Johnson G Ostrosky
Jennifer E Schemmer
Emily R Nicka
Juan J Bolognia
Izzy P Amigon
Aditya I Amigon
Murillo O Maclead
Greenwood C Slusarski
Francesco C Oldroyd
Silvio B Figeroa
Maria W Glick
Wickens A Darakjy
Rodrigues S Glick
Faith N Waycott
Costa Y Waycott
Nicolas V Nicka
Clifford A Saylors
David Z Butt
Aika C Iturbide
Leon C Bowley
Salvatore H Stenseth
Aruna J Chui
Nicolas V Bowley
Ivar P Slusarski
Juan N Campain
Darci Q Royster
Ricardo T Dilliard
Octavia Y Bowley
Julie B Maclead
Maria M Doe
Clifford J Maclead
Tony P Maclead
Jefferson U Amigon
Murillo X Sergi
Juan F Albares
Aditya O Schemmer
Juan B Amigon
Leon S Caldarera
Murillo G Perin
Jennifer V Shinko
Maisha W Glick
Munro X Vocelka
Isabel L Stockham
Cody F Ruta
Octavia B Shinko
Misaki T Campain
Salvatore S Kolmetz
Ricardo E Iturbide
IdCountryDate
1000Brazil2024-06-12
1001Japan2024-06-15
1002Argentina2024-06-11
1003Russia2024-05-28
1004India2024-05-31
1005Australia2024-06-01
1006Russia2024-05-27
1007Spain2024-06-02
1008Canada2024-06-17
1009Russia2024-06-04
1010Brazil2024-06-13
1011Brazil2024-06-01
1012Japan2024-06-13
1013France2024-05-23
1014Spain2024-05-21
1015Italy2024-05-29
1016Spain2024-05-24
1017Argentina2024-05-31
1018Argentina2024-06-14
1019Italy2024-06-01
1020Italy2024-06-10
1021France2024-06-10
1022Italy2024-06-12
1023Argentina2024-06-10
1024Brazil2024-06-04
1025India2024-05-31
1026India2024-06-16
1027Italy2024-05-21
1028Spain2024-06-17
1029Japan2024-06-05
1030United Kingdom2024-06-15
1031Australia2024-06-13
1032France2024-06-05
1033Russia2024-06-06
1034Italy2024-06-03
1035Russia2024-06-17
1036Spain2024-06-07
1037Germany2024-05-26
1038Japan2024-05-24
1039Japan2024-05-20
1040Spain2024-06-14
1041Brazil2024-06-16
1042United Kingdom2024-06-13
1043Brazil2024-05-21
1044United Kingdom2024-05-26
1045United Kingdom2024-05-28
1046Germany2024-06-02
1047Germany2024-06-14
1048Germany2024-05-22
1049Germany2024-05-22

On-Demand Data

NameIdCountryDate
Alejandro Z Amigon1000Italy2024-05-21
Johnson T Tollner1001Japan2024-06-01
Aika M Nicka1002India2024-06-12
Munro A Glick1003Australia2024-05-27
Alejandro X Caldarera1004Spain2024-06-07
Silvio Z Ferencz1005Germany2024-05-24
Munro M Rim1006France2024-05-27
Emily K Sergi1007Russia2024-05-25
Juan R Marrier1008Germany2024-06-07
Salvatore P Shinko1009Japan2024-06-07
Jennifer Y Tollner1010United Kingdom2024-06-12
Tony E Ferencz1011Spain2024-05-30
Cody M Malet1012India2024-05-23
Leja N Inouye1013Spain2024-06-16
Aika P Stenseth1014Australia2024-06-18
Ricardo S Waycott1015Japan2024-05-20
Julie U Garufi1016India2024-06-03
Nicolas J Oldroyd1017Italy2024-05-31
Chavez H Kusko1018India2024-06-03
Julie W Stenseth1019United Kingdom2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley Q MacleadSpainAmy Elsner NEGOTIATION
Kaitlin Y MaletJapanStephen Shaw QUALIFIED
Kadeem G GauchoSpainXuxue Feng NEGOTIATION
Leja H GarufiUnited KingdomOnyama Limba NEW
Octavia G FollerAustraliaStephen Shaw QUALIFIED
Darci V KuskoSpainIvan Magalhaes NEGOTIATION
David G ButtBrazilIoni Bowcher PROPOSAL
Francesco I KuskoItalyBernardo Dominic RENEWAL
Kadeem U MorascaSpainXuxue Feng RENEWAL
Jefferson S AlbaresArgentinaAsiya Javayant NEW
Mujtaba B AmigonGermanyOnyama Limba NEW
Mujtaba M DarakjyIndiaOnyama Limba NEGOTIATION
Chavez E GauchoArgentinaIvan Magalhaes PROPOSAL
Kaitlin J SergiArgentinaAmy Elsner NEW
Tony V GauchoUnited KingdomStephen Shaw QUALIFIED
Jennifer T GauchoGermanyElwin Sharvill NEGOTIATION
Greenwood D BriddickJapanAnna Fali NEGOTIATION
Emily X DarakjyJapanElwin Sharvill UNQUALIFIED
Octavia V RoysterRussiaOnyama Limba NEGOTIATION
Ashley V ButtSpainXuxue Feng RENEWAL
Sinclair B GarufiBrazilIvan Magalhaes NEGOTIATION
Jones T KolmetzJapanXuxue Feng NEW
Claire E ChuiSpainIoni Bowcher UNQUALIFIED
Tony K AmigonCanadaIvan Magalhaes QUALIFIED
James G NestleSpainAmy Elsner PROPOSAL
Kadeem H CaldareraItalyIoni Bowcher NEGOTIATION
Maisha O BologniaSpainIoni Bowcher UNQUALIFIED
Munro M GlickRussiaXuxue Feng NEW
Ricardo D MaletArgentinaElwin Sharvill NEW
Murillo Z PoquetteSpainOnyama Limba NEGOTIATION
Johnson E GillianArgentinaAnna Fali NEGOTIATION
Jeanfrancois F MorascaCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois G BriddickArgentinaAsiya Javayant NEGOTIATION
Nicolas Z VocelkaItalyBernardo Dominic NEW
Deepesh D RimRussiaXuxue Feng PROPOSAL
Kaitlin I CaudyArgentinaBernardo Dominic RENEWAL
Juan R MaletGermanyXuxue Feng QUALIFIED
Cody A IturbideIndiaBernardo Dominic RENEWAL
James Q WaycottBrazilIvan Magalhaes NEGOTIATION
Juan J IturbideItalyXuxue Feng QUALIFIED

<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>