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
David M SergiAustraliaBernardo Dominic NEW
Leja Z GlickFranceAsiya Javayant RENEWAL
Alejandro I SlusarskiRussiaAmy Elsner NEGOTIATION
Leja D GauchoIndiaXuxue Feng QUALIFIED
Sinclair L GlickSpainXuxue Feng PROPOSAL
Aruna N FlosiUnited KingdomAnna Fali PROPOSAL
Jennifer X FerenczJapanAmy Elsner QUALIFIED
Antonio P FigeroaArgentinaAnna Fali NEGOTIATION
Darci I VocelkaIndiaAsiya Javayant NEW
Stacey W RoysterUnited KingdomBernardo Dominic RENEWAL
Stacey R MacleadCanadaIoni Bowcher UNQUALIFIED
Antonio Q GlickIndiaIoni Bowcher UNQUALIFIED
Maisha A ShinkoCanadaIvan Magalhaes NEGOTIATION
Izzy J MaletSpainElwin Sharvill PROPOSAL
Leon V MacleadItalyOnyama Limba QUALIFIED
Deepesh V BologniaJapanAnna Fali RENEWAL
Antonio P SchemmerJapanBernardo Dominic PROPOSAL
Deepesh J WieserAustraliaElwin Sharvill QUALIFIED
Chavez Q CaldareraFranceBernardo Dominic PROPOSAL
Darci J PaprockiJapanAsiya Javayant NEGOTIATION
Johnson L RoysterArgentinaXuxue Feng NEW
Sinclair K GlickFranceXuxue Feng NEGOTIATION
Jennifer W MaletCanadaAnna Fali UNQUALIFIED
Maria Z CampainArgentinaAsiya Javayant QUALIFIED
David Q FollerIndiaStephen Shaw QUALIFIED
Costa L MorascaBrazilAnna Fali PROPOSAL
Deepesh I FigeroaItalyAsiya Javayant NEGOTIATION
Jefferson X SaylorsJapanAnna Fali PROPOSAL
Arvin M CampainGermanyIoni Bowcher QUALIFIED
Sinclair K NickaUnited KingdomBernardo Dominic NEGOTIATION
Francesco J BologniaSpainXuxue Feng QUALIFIED
Rodrigues O RoysterUnited KingdomBernardo Dominic UNQUALIFIED
Leon L FerenczItalyIoni Bowcher UNQUALIFIED
Smith Q MacleadItalyAsiya Javayant RENEWAL
Darci O OstroskyItalyStephen Shaw PROPOSAL
Leja A BowleyItalyStephen Shaw QUALIFIED
Misaki P DarakjyGermanyStephen Shaw QUALIFIED
Jennifer W CampainJapanXuxue Feng NEGOTIATION
Rodrigues W GarufiCanadaAnna Fali QUALIFIED
Misaki I KolmetzSpainStephen Shaw RENEWAL
Kaitlin X SchemmerRussiaAmy Elsner RENEWAL
Stacey W BowleyIndiaElwin Sharvill RENEWAL
Rodrigues F AmigonFranceIoni Bowcher RENEWAL
Maisha S BriddickFranceAnna Fali RENEWAL
Adams P VocelkaFranceAmy Elsner RENEWAL
James D PerinAustraliaElwin Sharvill RENEWAL
Cody O RulapaughBrazilXuxue Feng PROPOSAL
Greenwood U CaudyArgentinaAmy Elsner UNQUALIFIED
Tony M CaudyAustraliaAmy Elsner NEW
Leja L GillianBrazilElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Isabel I MarrierGermanyAsiya Javayant NEW
Octavia J CaudyCanadaIoni Bowcher QUALIFIED
Morrow F ShinkoArgentinaAmy Elsner NEW
Maria J AlbaresIndiaOnyama Limba NEGOTIATION
Costa I MacleadSpainXuxue Feng QUALIFIED
Maria V MaletGermanyStephen Shaw QUALIFIED
Antonio N PerinRussiaXuxue Feng NEGOTIATION
Salvatore H BriddickIndiaElwin Sharvill QUALIFIED
Nicolas D AmigonRussiaStephen Shaw UNQUALIFIED
Murillo H SlusarskiCanadaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna K CaudyBrazil2025-04-12Benton, John B Jr RENEWAL47Ioni Bowcher
1001Jennifer Y FigeroaBrazil2025-04-13King, Christopher A Esq RENEWAL59Xuxue Feng
1002Aika T BologniaIndia2025-05-01Chanay, Jeffrey A Esq UNQUALIFIED71Anna Fali
1003Jeanfrancois S DoeJapan2025-04-28Truhlar And Truhlar Attys UNQUALIFIED97Bernardo Dominic
1004Wickens B OstroskyCanada2025-04-19Chanay, Jeffrey A Esq PROPOSAL78Ivan Magalhaes
1005Juan L MaletUnited Kingdom2025-05-06Feiner Bros NEGOTIATION47Xuxue Feng
1006Wickens M RulapaughFrance2025-04-18Morlong Associates NEGOTIATION4Amy Elsner
1007Cody T RimGermany2025-04-17King, Christopher A Esq QUALIFIED50Bernardo Dominic
1008Adams J PaprockiItaly2025-04-15Chapman, Ross E Esq NEGOTIATION78Bernardo Dominic
1009Johnson V StensethItaly2025-04-28King, Christopher A Esq UNQUALIFIED19Anna Fali
1010Stacey C FollerUnited Kingdom2025-04-28Buckley Miller Wright NEGOTIATION96Asiya Javayant
1011Morrow O ChuiFrance2025-04-26Chemel, James L Cpa PROPOSAL80Anna Fali
1012Clifford P BowleyCanada2025-04-29Chemel, James L Cpa QUALIFIED61Asiya Javayant
1013Jefferson L WaycottItaly2025-04-12Morlong Associates NEW68Elwin Sharvill
1014Wickens E SergiGermany2025-05-07Rangoni Of Florence PROPOSAL89Asiya Javayant
1015Costa S AlbaresBrazil2025-04-12Printing Dimensions UNQUALIFIED91Xuxue Feng
1016Deepesh Z RimAustralia2025-04-27Commercial Press UNQUALIFIED14Amy Elsner
1017Murillo L MorascaFrance2025-05-01Chapman, Ross E Esq QUALIFIED77Ioni Bowcher
1018Julie F AlbaresJapan2025-05-10Feiner Bros RENEWAL23Amy Elsner
1019Kadeem R ButtGermany2025-05-05Feltz Printing Service NEW70Bernardo Dominic
1020Sinclair M GillianBrazil2025-05-09Chapman, Ross E Esq RENEWAL18Bernardo Dominic
1021Ashley J BowleyCanada2025-05-09Feltz Printing Service NEGOTIATION47Bernardo Dominic
1022Nicolas Z VocelkaItaly2025-05-01Buckley Miller Wright NEW32Bernardo Dominic
1023Aruna X NickaGermany2025-04-30Morlong Associates PROPOSAL83Bernardo Dominic
1024Chavez T CampainSpain2025-04-25Rousseaux, Michael Esq PROPOSAL6Xuxue Feng
1025Isabel A RutaItaly2025-04-29Morlong Associates PROPOSAL66Ioni Bowcher
1026Wickens I DarakjyArgentina2025-05-06Buckley Miller Wright PROPOSAL84Bernardo Dominic
1027Chavez C KuskoRussia2025-04-29Rangoni Of Florence NEGOTIATION5Amy Elsner
1028Stacey C SergiArgentina2025-04-11Rousseaux, Michael Esq PROPOSAL75Ioni Bowcher
1029Ricardo U GauchoRussia2025-04-22Truhlar And Truhlar Attys PROPOSAL53Amy Elsner
1030Jones A PerinBrazil2025-04-14Benton, John B Jr PROPOSAL97Bernardo Dominic
1031Munro X MorascaGermany2025-04-24Chemel, James L Cpa PROPOSAL56Xuxue Feng
1032Munro L StockhamItaly2025-04-26Dorl, James J Esq QUALIFIED32Ioni Bowcher
1033Jefferson E SlusarskiSpain2025-04-23Chanay, Jeffrey A Esq PROPOSAL46Ioni Bowcher
1034Ricardo V GauchoAustralia2025-05-04Commercial Press PROPOSAL18Anna Fali
1035Jennifer Z MarrierArgentina2025-05-07Morlong Associates RENEWAL23Ivan Magalhaes
1036Smith R KuskoSpain2025-04-25Chemel, James L Cpa NEGOTIATION25Asiya Javayant
1037Leon K FollerSpain2025-04-23King, Christopher A Esq PROPOSAL84Stephen Shaw
1038Johnson Z MorascaUnited Kingdom2025-04-12Truhlar And Truhlar Attys RENEWAL76Onyama Limba
1039Rodrigues Q FerenczBrazil2025-04-28King, Christopher A Esq NEGOTIATION25Bernardo Dominic
1040Chavez V KolmetzUnited Kingdom2025-04-28Morlong Associates QUALIFIED71Ivan Magalhaes
1041Faith E SergiAustralia2025-04-22Rousseaux, Michael Esq PROPOSAL12Elwin Sharvill
1042Stacey P ButtSpain2025-05-03Benton, John B Jr UNQUALIFIED20Bernardo Dominic
1043Aditya Z FlosiCanada2025-04-14Commercial Press NEW50Elwin Sharvill
1044Stacey U RoysterAustralia2025-05-05Chanay, Jeffrey A Esq UNQUALIFIED84Anna Fali
1045Mujtaba D CaldareraAustralia2025-04-21Chemel, James L Cpa QUALIFIED48Stephen Shaw
1046Juan N RulapaughUnited Kingdom2025-04-15Feiner Bros QUALIFIED96Anna Fali
1047Darci H MaletIndia2025-04-29Rangoni Of Florence RENEWAL48Asiya Javayant
1048Wickens E GauchoJapan2025-04-18Benton, John B Jr RENEWAL76Anna Fali
1049Ivar A SchemmerArgentina2025-04-30Commercial Press PROPOSAL72Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Y StensethCanadaAsiya Javayant PROPOSAL
Antonio S DoeJapanXuxue Feng UNQUALIFIED
Munro E MorascaArgentinaIvan Magalhaes PROPOSAL
David Y GauchoSpainAnna Fali NEGOTIATION
Ashley A BologniaCanadaAmy Elsner QUALIFIED
Antonio N SchemmerCanadaBernardo Dominic QUALIFIED
Emily G WhobreyRussiaOnyama Limba PROPOSAL
Maria V NickaIndiaBernardo Dominic UNQUALIFIED
Misaki S KuskoAustraliaXuxue Feng NEW
Octavia A CampainGermanyOnyama Limba NEW
Ivar E AmigonGermanyAnna Fali UNQUALIFIED
Nicolas M RimJapanStephen Shaw RENEWAL
Jones L MaletIndiaIvan Magalhaes PROPOSAL
Aruna S StockhamCanadaAmy Elsner RENEWAL
Misaki V AlbaresGermanyAnna Fali NEW
Emily W MarrierArgentinaStephen Shaw QUALIFIED
Adams X KolmetzGermanyBernardo Dominic PROPOSAL
Johnson O RulapaughSpainXuxue Feng QUALIFIED
Silvio Y RulapaughArgentinaAnna Fali NEGOTIATION
Mayumi N RutaIndiaBernardo Dominic PROPOSAL
Julie L PerinUnited KingdomAsiya Javayant NEGOTIATION
Jefferson B OldroydCanadaStephen Shaw RENEWAL
Isabel A SlusarskiCanadaAnna Fali RENEWAL
Ashley I PerinGermanyIoni Bowcher NEGOTIATION
Maria W RimAustraliaIoni Bowcher UNQUALIFIED
Greenwood P NestleFranceStephen Shaw RENEWAL
Stacey W RutaJapanXuxue Feng PROPOSAL
Silvio N VenereSpainIvan Magalhaes NEGOTIATION
Stacey I NickaAustraliaAsiya Javayant NEW
Alejandro R PerinJapanAmy Elsner NEGOTIATION
Julie G BowleyUnited KingdomIoni Bowcher RENEWAL
Jones Q DoeRussiaAnna Fali UNQUALIFIED
Salvatore G OstroskyFranceElwin Sharvill RENEWAL
Julie B SchemmerItalyAsiya Javayant UNQUALIFIED
Leja Q DarakjySpainAsiya Javayant NEW
Jennifer P CampainBrazilAsiya Javayant NEW
Stacey P WaycottItalyIvan Magalhaes QUALIFIED
Julie R VenereJapanOnyama Limba RENEWAL
Aditya E GarufiItalyIvan Magalhaes QUALIFIED
Isabel U TollnerSpainAnna Fali RENEWAL
Maisha H KolmetzBrazilIvan Magalhaes QUALIFIED
Salvatore Q RimItalyIvan Magalhaes UNQUALIFIED
Kaitlin Z IturbideGermanyIvan Magalhaes RENEWAL
Darci I StensethUnited KingdomAnna Fali NEW
Morrow W BologniaArgentinaAnna Fali UNQUALIFIED
Mayumi F StockhamRussiaAmy Elsner UNQUALIFIED
Johnson M ChuiJapanIoni Bowcher NEGOTIATION
Francesco B CaldareraSpainBernardo Dominic UNQUALIFIED
Ricardo Q PaprockiUnited KingdomElwin Sharvill QUALIFIED
Leja F BowleyJapanIvan Magalhaes QUALIFIED
Frozen Columns
Name
Salvatore O Morasca
Jefferson N Figeroa
Tony J Shinko
Adams F Maclead
Rodrigues B Stockham
Aika H Garufi
Emily O Royster
Johnson P Briddick
James F Foller
Kadeem S Sergi
Alejandro P Darakjy
Rodrigues F Poquette
Juan I Wieser
Maisha M Perin
Jeanfrancois Q Caldarera
Leja Z Gillian
Nicolas H Briddick
Morrow S Caldarera
Kaitlin M Ruta
Aika D Slusarski
Jennifer E Stockham
Jefferson W Nestle
Johnson D Venere
Juan D Briddick
Morrow U Royster
Claire E Darakjy
Sinclair K Poquette
Munro N Chui
Jennifer N Perin
Mayumi G Bowley
Mayumi N Sergi
Tony X Malet
Jennifer M Caldarera
Mayumi X Albares
Izzy Z Waycott
Smith M Kusko
Ashley H Rulapaugh
Mayumi D Gaucho
Ashley S Paprocki
Nicolas X Poquette
Mujtaba B Perin
Misaki F Foller
Munro E Foller
Salvatore I Nicka
Deepesh B Saylors
Tony I Rulapaugh
Juan R Glick
Sinclair J Ferencz
Francesco F Rulapaugh
Costa M Briddick
IdCountryDate
1000Italy2025-05-07
1001Argentina2025-04-13
1002United Kingdom2025-04-19
1003Germany2025-04-19
1004Brazil2025-04-26
1005Italy2025-05-10
1006Canada2025-04-12
1007France2025-04-28
1008Italy2025-04-23
1009Russia2025-04-14
1010Russia2025-04-15
1011Canada2025-05-07
1012Italy2025-04-24
1013Germany2025-05-06
1014Canada2025-05-03
1015France2025-04-21
1016Australia2025-05-04
1017Argentina2025-04-14
1018Spain2025-04-26
1019Canada2025-04-24
1020India2025-04-17
1021Russia2025-04-29
1022Brazil2025-04-27
1023United Kingdom2025-04-18
1024Russia2025-05-03
1025Argentina2025-04-21
1026Argentina2025-04-29
1027Spain2025-05-04
1028Brazil2025-04-21
1029Argentina2025-04-13
1030Japan2025-04-25
1031Canada2025-04-20
1032Canada2025-05-02
1033Australia2025-04-22
1034Spain2025-04-25
1035Australia2025-04-24
1036Brazil2025-04-15
1037Canada2025-04-19
1038United Kingdom2025-04-30
1039Brazil2025-05-06
1040Italy2025-04-28
1041India2025-05-01
1042Argentina2025-04-22
1043Canada2025-05-05
1044Germany2025-04-20
1045India2025-04-25
1046Russia2025-05-06
1047Spain2025-05-05
1048Spain2025-04-13
1049Australia2025-05-03

On-Demand Data

NameIdCountryDate
Arvin E Butt1000Italy2025-04-13
Mayumi V Campain1001France2025-04-17
Kadeem F Stenseth1002Canada2025-05-09
Francesco Q Chui1003Spain2025-04-18
Salvatore G Perin1004Spain2025-04-14
Maria D Caldarera1005Spain2025-05-02
Adams B Darakjy1006Australia2025-04-15
Isabel X Foller1007France2025-04-25
Ivar E Marrier1008France2025-04-19
Aruna Z Wieser1009France2025-05-02
Arvin M Tollner1010Japan2025-05-05
Stacey T Paprocki1011Argentina2025-04-26
Alejandro T Slusarski1012France2025-05-06
Chavez U Vocelka1013Australia2025-04-12
Aruna X Caldarera1014Russia2025-04-21
Smith G Kolmetz1015Spain2025-05-03
Claire T Stockham1016Japan2025-04-24
Ricardo P Malet1017Spain2025-04-20
Chavez A Kolmetz1018Australia2025-04-19
Silvio J Whobrey1019Argentina2025-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja Q GarufiArgentinaIvan Magalhaes NEW
Jefferson D MaletIndiaIvan Magalhaes PROPOSAL
Leon P DoeUnited KingdomAnna Fali QUALIFIED
Clifford K BowleyBrazilXuxue Feng QUALIFIED
Darci T MaletIndiaElwin Sharvill QUALIFIED
Aika P RoysterArgentinaIvan Magalhaes UNQUALIFIED
Wickens N FlosiAustraliaAnna Fali UNQUALIFIED
Ricardo Z DilliardIndiaXuxue Feng NEGOTIATION
Ricardo I FlosiBrazilIvan Magalhaes PROPOSAL
Morrow G FigeroaGermanyIvan Magalhaes QUALIFIED
Leon N BowleySpainElwin Sharvill UNQUALIFIED
Rodrigues J FlosiRussiaStephen Shaw QUALIFIED
Misaki Y KolmetzJapanXuxue Feng UNQUALIFIED
Chavez O DilliardAustraliaAnna Fali QUALIFIED
Greenwood J BowleyCanadaOnyama Limba NEGOTIATION
Juan R KolmetzItalyIvan Magalhaes PROPOSAL
Faith L CaudyIndiaAnna Fali QUALIFIED
Jeanfrancois N GlickCanadaElwin Sharvill PROPOSAL
Rodrigues J InouyeGermanyAnna Fali NEGOTIATION
Kadeem B DoeRussiaIvan Magalhaes QUALIFIED
Aika E GlickBrazilOnyama Limba NEW
Wickens P AlbaresGermanyAmy Elsner QUALIFIED
Emily U SchemmerArgentinaAnna Fali QUALIFIED
Juan O SlusarskiRussiaStephen Shaw NEGOTIATION
Antonio D FerenczFranceAmy Elsner PROPOSAL
Munro I AmigonCanadaIoni Bowcher QUALIFIED
Aditya Q DoeAustraliaXuxue Feng QUALIFIED
Chavez K BologniaUnited KingdomXuxue Feng RENEWAL
Johnson Z NickaUnited KingdomBernardo Dominic PROPOSAL
Leja Q TollnerSpainXuxue Feng NEW
Alejandro Q BologniaAustraliaBernardo Dominic PROPOSAL
Salvatore B BologniaSpainAmy Elsner NEW
Salvatore V StensethItalyBernardo Dominic RENEWAL
Chavez T MorascaIndiaAsiya Javayant NEW
Sinclair P VenereBrazilAsiya Javayant NEGOTIATION
Johnson T WieserSpainAsiya Javayant QUALIFIED
James S GillianArgentinaElwin Sharvill QUALIFIED
Darci M AmigonCanadaIvan Magalhaes UNQUALIFIED
Kadeem B DilliardGermanyAsiya Javayant UNQUALIFIED
Octavia P CaudyArgentinaOnyama Limba UNQUALIFIED

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