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
Ashley D ShinkoUnited KingdomStephen Shaw NEW
Cody Y MarrierFranceIoni Bowcher RENEWAL
Wickens B NickaItalyIoni Bowcher NEW
Maisha B DilliardUnited KingdomAmy Elsner NEGOTIATION
Aika J StockhamRussiaBernardo Dominic UNQUALIFIED
Isabel I ChuiBrazilElwin Sharvill NEW
Isabel L OstroskyIndiaAmy Elsner QUALIFIED
Francesco W GillianItalyBernardo Dominic NEW
Leon C DoeRussiaIvan Magalhaes NEW
Tony E GauchoBrazilIvan Magalhaes NEW
David U NickaCanadaAmy Elsner UNQUALIFIED
Kadeem T PoquetteCanadaAmy Elsner UNQUALIFIED
Kaitlin T DoeJapanOnyama Limba UNQUALIFIED
Isabel C OldroydGermanyStephen Shaw UNQUALIFIED
Costa N OstroskyRussiaAnna Fali NEGOTIATION
Leon V MorascaGermanyBernardo Dominic NEGOTIATION
Costa I RoysterJapanXuxue Feng NEGOTIATION
Morrow P FigeroaCanadaIoni Bowcher PROPOSAL
Jefferson D WieserSpainIoni Bowcher NEGOTIATION
Ivar S BowleyArgentinaIoni Bowcher PROPOSAL
Claire Z PaprockiIndiaStephen Shaw NEGOTIATION
Octavia P RimAustraliaStephen Shaw NEW
Mayumi F CampainArgentinaIvan Magalhaes UNQUALIFIED
Kadeem V PerinGermanyElwin Sharvill NEGOTIATION
Cody X VocelkaCanadaBernardo Dominic QUALIFIED
Clifford V ChuiSpainAsiya Javayant UNQUALIFIED
Clifford Y FollerFranceXuxue Feng QUALIFIED
Ricardo P SchemmerCanadaAmy Elsner PROPOSAL
Nicolas W MaletUnited KingdomBernardo Dominic PROPOSAL
Claire I DoeArgentinaStephen Shaw PROPOSAL
Aditya D OldroydJapanAnna Fali QUALIFIED
Misaki H ButtAustraliaAsiya Javayant NEW
Maria J RutaRussiaIoni Bowcher RENEWAL
Stacey A IturbideCanadaAmy Elsner PROPOSAL
Chavez V DarakjyArgentinaStephen Shaw NEGOTIATION
Arvin N PerinCanadaAmy Elsner NEGOTIATION
Izzy F DarakjySpainIoni Bowcher NEW
David G FerenczJapanStephen Shaw RENEWAL
Deepesh T FigeroaArgentinaOnyama Limba NEW
Silvio D IturbideSpainElwin Sharvill NEW
Isabel R MacleadItalyIoni Bowcher QUALIFIED
Adams I NestleBrazilAsiya Javayant QUALIFIED
Nicolas D KolmetzGermanyBernardo Dominic NEW
Maria G PerinAustraliaIvan Magalhaes UNQUALIFIED
Cody Y GlickArgentinaIoni Bowcher NEW
Mayumi Z KolmetzCanadaIvan Magalhaes PROPOSAL
Claire Q TollnerGermanyAmy Elsner QUALIFIED
Mayumi X BriddickGermanyAsiya Javayant UNQUALIFIED
Nicolas O OldroydBrazilStephen Shaw NEGOTIATION
Salvatore X DoeJapanOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel W MaletFranceStephen Shaw RENEWAL
Murillo D OstroskyItalyAmy Elsner RENEWAL
James V FlosiIndiaOnyama Limba QUALIFIED
Munro E OldroydJapanOnyama Limba UNQUALIFIED
Costa T SergiCanadaIvan Magalhaes QUALIFIED
Stacey S OldroydAustraliaElwin Sharvill NEW
Mujtaba M KolmetzJapanIvan Magalhaes NEGOTIATION
Costa N ButtGermanyStephen Shaw UNQUALIFIED
Jones C OstroskyGermanyElwin Sharvill QUALIFIED
James S RoysterBrazilElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba S StockhamRussia2024-05-18Rousseaux, Michael Esq UNQUALIFIED95Onyama Limba
1001Leja W NestleArgentina2024-05-08Rousseaux, Michael Esq RENEWAL87Ioni Bowcher
1002Juan D GauchoCanada2024-05-14Commercial Press UNQUALIFIED41Elwin Sharvill
1003Salvatore E PerinGermany2024-05-02Rangoni Of Florence UNQUALIFIED46Ivan Magalhaes
1004Johnson A DilliardGermany2024-05-13Buckley Miller Wright NEGOTIATION60Xuxue Feng
1005Isabel T FlosiCanada2024-05-08Printing Dimensions PROPOSAL97Amy Elsner
1006Silvio F ShinkoCanada2024-05-04Chanay, Jeffrey A Esq UNQUALIFIED81Amy Elsner
1007Jennifer N NestleRussia2024-05-26Rousseaux, Michael Esq RENEWAL55Stephen Shaw
1008Johnson E SaylorsSpain2024-05-07Chanay, Jeffrey A Esq PROPOSAL73Anna Fali
1009Johnson D SchemmerItaly2024-05-08Buckley Miller Wright RENEWAL30Xuxue Feng
1010Stacey I MaletUnited Kingdom2024-05-05Chanay, Jeffrey A Esq NEW96Anna Fali
1011Johnson F StensethFrance2024-05-14Chemel, James L Cpa PROPOSAL43Bernardo Dominic
1012Faith G BologniaGermany2024-05-25Morlong Associates RENEWAL92Ivan Magalhaes
1013Leon J GillianBrazil2024-05-16King, Christopher A Esq RENEWAL14Elwin Sharvill
1014Deepesh F PerinGermany2024-05-10Feiner Bros NEW44Ioni Bowcher
1015Julie Z OldroydItaly2024-05-01Truhlar And Truhlar Attys PROPOSAL59Elwin Sharvill
1016Tony F GillianCanada2024-04-28Truhlar And Truhlar Attys NEGOTIATION47Onyama Limba
1017Arvin O CaldareraJapan2024-05-15King, Christopher A Esq PROPOSAL98Ivan Magalhaes
1018Salvatore N KolmetzAustralia2024-05-06Chemel, James L Cpa UNQUALIFIED32Asiya Javayant
1019Rodrigues X AlbaresFrance2024-05-12Printing Dimensions RENEWAL31Ioni Bowcher
1020Misaki O GauchoItaly2024-05-07Chemel, James L Cpa QUALIFIED43Ivan Magalhaes
1021Darci S PaprockiJapan2024-04-29Truhlar And Truhlar Attys QUALIFIED71Onyama Limba
1022Alejandro Y TollnerBrazil2024-04-29Morlong Associates UNQUALIFIED65Onyama Limba
1023Johnson B FlosiUnited Kingdom2024-05-19Printing Dimensions UNQUALIFIED93Ivan Magalhaes
1024Arvin W MarrierArgentina2024-05-07Feiner Bros NEGOTIATION91Onyama Limba
1025Maria U ShinkoGermany2024-04-28Feiner Bros UNQUALIFIED67Amy Elsner
1026James S KolmetzCanada2024-05-12Buckley Miller Wright QUALIFIED71Bernardo Dominic
1027Mujtaba I StensethSpain2024-05-22Dorl, James J Esq NEGOTIATION59Bernardo Dominic
1028Adams C BowleyItaly2024-04-27Chapman, Ross E Esq NEW1Ioni Bowcher
1029Aika F MaletSpain2024-05-07Feiner Bros NEW81Anna Fali
1030Smith S AmigonGermany2024-05-11Rangoni Of Florence NEW1Ioni Bowcher
1031Ricardo V DarakjySpain2024-05-06King, Christopher A Esq PROPOSAL92Amy Elsner
1032Faith N DilliardFrance2024-05-18Morlong Associates NEW95Ioni Bowcher
1033Greenwood E PoquetteUnited Kingdom2024-05-07Morlong Associates PROPOSAL90Onyama Limba
1034Darci C VenereGermany2024-05-15Rangoni Of Florence QUALIFIED50Ivan Magalhaes
1035Wickens M BriddickBrazil2024-05-14Feiner Bros QUALIFIED32Asiya Javayant
1036Costa P ChuiJapan2024-05-21Chanay, Jeffrey A Esq UNQUALIFIED14Asiya Javayant
1037David P AlbaresRussia2024-05-25Morlong Associates NEGOTIATION98Ivan Magalhaes
1038Deepesh Q WieserGermany2024-05-06Morlong Associates PROPOSAL86Ioni Bowcher
1039Salvatore R WieserArgentina2024-05-04Benton, John B Jr RENEWAL40Anna Fali
1040Salvatore O MorascaFrance2024-05-12Truhlar And Truhlar Attys RENEWAL22Bernardo Dominic
1041Jeanfrancois E PoquetteItaly2024-05-22Chanay, Jeffrey A Esq PROPOSAL65Amy Elsner
1042Antonio W IturbideUnited Kingdom2024-04-29Chemel, James L Cpa UNQUALIFIED27Ioni Bowcher
1043Jeanfrancois X ChuiRussia2024-05-01King, Christopher A Esq QUALIFIED50Elwin Sharvill
1044Arvin P WaycottSpain2024-05-02Rangoni Of Florence NEGOTIATION75Anna Fali
1045Chavez B CaudyJapan2024-05-21Chapman, Ross E Esq PROPOSAL88Ioni Bowcher
1046Costa L WaycottSpain2024-05-26Commercial Press UNQUALIFIED40Stephen Shaw
1047Cody G KuskoBrazil2024-05-11King, Christopher A Esq RENEWAL16Ioni Bowcher
1048Nicolas K MaletGermany2024-05-23Buckley Miller Wright NEW60Amy Elsner
1049Maisha Q ShinkoCanada2024-05-13Chanay, Jeffrey A Esq PROPOSAL15Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin M FigeroaBrazilOnyama Limba QUALIFIED
Ricardo Q MaletIndiaStephen Shaw QUALIFIED
Clifford J SergiUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues E StockhamUnited KingdomOnyama Limba NEGOTIATION
Maisha R FollerCanadaAsiya Javayant QUALIFIED
Jennifer U PaprockiItalyElwin Sharvill UNQUALIFIED
Kaitlin D SchemmerGermanyOnyama Limba QUALIFIED
Nicolas Q KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey H DarakjyItalyBernardo Dominic RENEWAL
Murillo L GillianIndiaAnna Fali NEGOTIATION
Misaki S RulapaughIndiaStephen Shaw NEGOTIATION
Darci Q CaudyGermanyAnna Fali QUALIFIED
Cody F DoeCanadaIoni Bowcher NEGOTIATION
Silvio R GarufiFranceElwin Sharvill UNQUALIFIED
Aika C BologniaSpainAmy Elsner NEW
Misaki U NestleIndiaAnna Fali UNQUALIFIED
Izzy G GarufiArgentinaIvan Magalhaes NEW
Misaki U RulapaughGermanyAsiya Javayant UNQUALIFIED
Greenwood R AmigonUnited KingdomAnna Fali RENEWAL
Tony G GauchoRussiaStephen Shaw QUALIFIED
Clifford N ChuiCanadaAmy Elsner NEW
Clifford K SlusarskiJapanStephen Shaw NEGOTIATION
Mayumi L RimSpainIvan Magalhaes UNQUALIFIED
Greenwood J MorascaItalyAsiya Javayant UNQUALIFIED
Arvin Q CaldareraRussiaAnna Fali RENEWAL
Greenwood V BologniaSpainOnyama Limba NEW
Deepesh G BologniaUnited KingdomIoni Bowcher PROPOSAL
Smith K PerinBrazilIoni Bowcher NEW
Jefferson R PoquetteFranceStephen Shaw NEGOTIATION
Wickens P WhobreyAustraliaAnna Fali PROPOSAL
Johnson Z SchemmerIndiaAsiya Javayant UNQUALIFIED
Leon R GarufiArgentinaStephen Shaw RENEWAL
Greenwood E RutaBrazilIvan Magalhaes QUALIFIED
Faith F MaletAustraliaXuxue Feng NEW
Antonio O BowleySpainAmy Elsner PROPOSAL
Johnson K DoeBrazilAsiya Javayant NEW
Rodrigues R SchemmerIndiaStephen Shaw NEGOTIATION
Aruna E CaudyFranceIoni Bowcher QUALIFIED
Darci W AlbaresAustraliaBernardo Dominic QUALIFIED
Francesco O ButtFranceElwin Sharvill NEW
Izzy V FerenczFranceXuxue Feng PROPOSAL
Emily P FigeroaCanadaIoni Bowcher RENEWAL
Tony L ChuiSpainIvan Magalhaes RENEWAL
Ashley W ButtGermanyXuxue Feng RENEWAL
Jones S PoquetteArgentinaAnna Fali NEW
Maisha A FigeroaAustraliaAsiya Javayant NEW
Claire U WieserJapanAsiya Javayant NEW
Misaki A DoeFranceAnna Fali QUALIFIED
Jeanfrancois N SaylorsGermanyXuxue Feng UNQUALIFIED
Murillo G MacleadIndiaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Aditya H Nicka
Clifford D Sergi
Juan B Stockham
Nicolas T Darakjy
Ivar Z Shinko
David Y Darakjy
Kadeem E Ruta
Darci A Butt
Ricardo Q Oldroyd
Rodrigues Q Stenseth
Kaitlin U Royster
Rodrigues F Gillian
Leon F Bolognia
Jennifer R Nicka
Silvio U Caudy
Sinclair C Morasca
Juan S Whobrey
Misaki R Marrier
Stacey I Paprocki
Mujtaba P Shinko
Mujtaba S Tollner
Jennifer J Doe
Mayumi P Briddick
Johnson W Malet
Murillo H Nicka
Jefferson I Dilliard
Stacey P Bolognia
Alejandro R Schemmer
Greenwood F Briddick
Tony T Albares
Leja R Foller
Wickens G Iturbide
Ashley D Foller
Antonio X Figeroa
Arvin J Royster
Sinclair S Kusko
Darci W Glick
Aika B Inouye
Wickens S Whobrey
Arvin I Iturbide
Kaitlin A Darakjy
Sinclair J Nestle
Jennifer X Rulapaugh
Greenwood Z Rulapaugh
Greenwood F Stenseth
Rodrigues Z Poquette
Jones G Stenseth
Francesco P Wieser
Ivar X Dilliard
Jennifer D Schemmer
IdCountryDate
1000Germany2024-05-06
1001Germany2024-05-06
1002Japan2024-04-29
1003France2024-05-23
1004Spain2024-05-05
1005Italy2024-05-02
1006France2024-05-03
1007Argentina2024-05-26
1008Canada2024-04-30
1009Spain2024-04-27
1010Spain2024-05-05
1011Japan2024-05-15
1012Brazil2024-05-19
1013France2024-04-28
1014France2024-05-04
1015Italy2024-05-12
1016Australia2024-05-01
1017Russia2024-05-22
1018Brazil2024-05-10
1019India2024-05-11
1020Canada2024-05-18
1021Spain2024-05-21
1022United Kingdom2024-05-07
1023Brazil2024-05-06
1024France2024-05-20
1025Argentina2024-05-02
1026Germany2024-04-27
1027United Kingdom2024-05-03
1028India2024-05-23
1029India2024-05-13
1030Canada2024-05-06
1031Brazil2024-05-22
1032France2024-05-16
1033Russia2024-05-07
1034France2024-05-07
1035India2024-05-14
1036United Kingdom2024-05-21
1037Argentina2024-05-08
1038United Kingdom2024-05-19
1039Japan2024-05-06
1040Italy2024-05-20
1041Canada2024-04-27
1042Argentina2024-05-02
1043Japan2024-05-24
1044Germany2024-05-26
1045Russia2024-05-13
1046Australia2024-05-23
1047Russia2024-05-10
1048Italy2024-05-06
1049Germany2024-05-02

On-Demand Data

NameIdCountryDate
Francesco M Albares1000Australia2024-05-09
Smith X Wieser1001United Kingdom2024-05-14
Clifford R Doe1002Japan2024-05-23
Clifford V Morasca1003Argentina2024-05-14
Jeanfrancois J Poquette1004India2024-05-16
Ivar J Figeroa1005Italy2024-05-26
Stacey E Wieser1006Argentina2024-05-13
Octavia Q Kusko1007Russia2024-05-19
Isabel G Nicka1008Canada2024-05-26
Leon K Sergi1009Germany2024-05-16
Aika G Gillian1010Japan2024-05-05
Juan B Caldarera1011Australia2024-05-05
Aditya O Saylors1012Australia2024-05-15
Izzy Q Garufi1013Spain2024-05-21
Cody Z Ruta1014Russia2024-05-25
Mayumi Q Iturbide1015India2024-05-22
Wickens L Shinko1016Italy2024-05-03
Jeanfrancois L Amigon1017Germany2024-05-18
Arvin I Glick1018Italy2024-05-26
Leja H Vocelka1019Italy2024-05-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams F InouyeUnited KingdomIvan Magalhaes PROPOSAL
Cody P MaletAustraliaAnna Fali UNQUALIFIED
Clifford F OldroydItalyBernardo Dominic NEGOTIATION
Aditya L VocelkaArgentinaXuxue Feng PROPOSAL
Juan B SergiFranceAmy Elsner UNQUALIFIED
Morrow V GarufiCanadaIoni Bowcher PROPOSAL
Emily Y FlosiGermanyBernardo Dominic NEGOTIATION
Jennifer C GarufiIndiaIoni Bowcher QUALIFIED
Rodrigues Q DoeCanadaAnna Fali QUALIFIED
Darci L BologniaAustraliaStephen Shaw NEW
Nicolas L OstroskyCanadaAnna Fali PROPOSAL
Ashley V ChuiCanadaXuxue Feng QUALIFIED
Alejandro L BologniaJapanElwin Sharvill PROPOSAL
Smith Z RulapaughGermanyStephen Shaw QUALIFIED
Wickens X FigeroaUnited KingdomXuxue Feng NEGOTIATION
Morrow I BologniaUnited KingdomStephen Shaw NEGOTIATION
Aika D WhobreyArgentinaAnna Fali UNQUALIFIED
Stacey T InouyeRussiaElwin Sharvill NEGOTIATION
Francesco Z KuskoJapanStephen Shaw NEW
Julie P NickaBrazilIvan Magalhaes NEGOTIATION
Sinclair S ChuiAustraliaAmy Elsner NEW
Deepesh L SchemmerItalyElwin Sharvill UNQUALIFIED
Cody B PerinGermanyAsiya Javayant QUALIFIED
Juan U RulapaughIndiaXuxue Feng NEGOTIATION
Octavia I BriddickArgentinaAnna Fali NEGOTIATION
Faith F DoeRussiaStephen Shaw QUALIFIED
Arvin L CaudyJapanAsiya Javayant UNQUALIFIED
Clifford K GillianSpainAsiya Javayant NEW
Julie R GarufiCanadaIvan Magalhaes RENEWAL
Misaki T CaldareraItalyBernardo Dominic PROPOSAL
Arvin H MaletFranceAnna Fali NEGOTIATION
Claire G MarrierRussiaBernardo Dominic PROPOSAL
Aruna K SergiJapanAmy Elsner UNQUALIFIED
Leon J IturbideGermanyElwin Sharvill PROPOSAL
Juan G MaletArgentinaIvan Magalhaes NEW
Deepesh A GlickJapanIvan Magalhaes PROPOSAL
Kadeem R MaletAustraliaOnyama Limba QUALIFIED
Isabel N CaudyJapanBernardo Dominic UNQUALIFIED
Francesco K PerinGermanyAnna Fali NEW
David F FigeroaIndiaXuxue Feng 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>