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
Chavez H BowleyGermanyBernardo Dominic PROPOSAL
Aruna C FigeroaRussiaIvan Magalhaes UNQUALIFIED
Misaki T RulapaughRussiaXuxue Feng RENEWAL
Kadeem M RoysterArgentinaStephen Shaw PROPOSAL
Claire Y InouyeJapanAnna Fali RENEWAL
Nicolas Q OldroydArgentinaBernardo Dominic PROPOSAL
Darci X WhobreyJapanElwin Sharvill NEGOTIATION
Faith E MacleadGermanyIoni Bowcher NEGOTIATION
Francesco P NickaIndiaOnyama Limba UNQUALIFIED
Deepesh G ButtArgentinaAsiya Javayant PROPOSAL
Costa P DarakjyUnited KingdomOnyama Limba UNQUALIFIED
Francesco V TollnerSpainAmy Elsner UNQUALIFIED
Mujtaba N PoquetteRussiaStephen Shaw NEGOTIATION
Johnson Q VocelkaGermanyIoni Bowcher UNQUALIFIED
Claire K VenereCanadaXuxue Feng RENEWAL
Morrow T BriddickItalyStephen Shaw UNQUALIFIED
Aditya B MaletBrazilAmy Elsner QUALIFIED
James A RoysterFranceIoni Bowcher UNQUALIFIED
Aditya F SaylorsAustraliaBernardo Dominic PROPOSAL
Kaitlin N BriddickAustraliaAsiya Javayant PROPOSAL
Kaitlin L InouyeIndiaBernardo Dominic UNQUALIFIED
Mujtaba G PerinArgentinaAsiya Javayant RENEWAL
Deepesh W BologniaBrazilXuxue Feng UNQUALIFIED
Kaitlin P BowleyRussiaAnna Fali PROPOSAL
Jeanfrancois W ChuiArgentinaStephen Shaw NEW
Nicolas H AmigonIndiaXuxue Feng UNQUALIFIED
Kadeem A NickaFranceIoni Bowcher NEW
Leon J RoysterSpainXuxue Feng NEW
Aika M MaletIndiaBernardo Dominic UNQUALIFIED
Deepesh I RoysterAustraliaBernardo Dominic RENEWAL
Antonio V FigeroaRussiaStephen Shaw NEGOTIATION
Arvin D SergiJapanXuxue Feng PROPOSAL
Ivar C OstroskyArgentinaElwin Sharvill UNQUALIFIED
Juan L RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Jefferson T OldroydGermanyOnyama Limba PROPOSAL
Jefferson I AmigonFranceIvan Magalhaes NEW
Izzy S WhobreySpainElwin Sharvill PROPOSAL
Stacey S BologniaJapanAsiya Javayant NEGOTIATION
Arvin I MorascaUnited KingdomIvan Magalhaes QUALIFIED
Arvin V MorascaFranceStephen Shaw QUALIFIED
James G DilliardBrazilElwin Sharvill PROPOSAL
Isabel Y NestleFranceIvan Magalhaes UNQUALIFIED
Antonio H GlickItalyOnyama Limba PROPOSAL
Claire Q PerinUnited KingdomStephen Shaw NEW
Arvin T TollnerCanadaIoni Bowcher NEW
Adams N IturbideBrazilElwin Sharvill UNQUALIFIED
Arvin D NickaItalyStephen Shaw PROPOSAL
Stacey O DilliardJapanAsiya Javayant PROPOSAL
Leja I FerenczArgentinaAnna Fali NEGOTIATION
Mayumi B RimItalyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo O WaycottRussiaBernardo Dominic UNQUALIFIED
David F KolmetzGermanyIoni Bowcher PROPOSAL
Greenwood L NickaAustraliaIvan Magalhaes NEW
Morrow E WaycottSpainStephen Shaw RENEWAL
Claire U MaletCanadaOnyama Limba PROPOSAL
Sinclair A InouyeFranceStephen Shaw UNQUALIFIED
Aditya O GarufiItalyIoni Bowcher QUALIFIED
Munro I GarufiItalyStephen Shaw PROPOSAL
Jeanfrancois D ButtIndiaAmy Elsner QUALIFIED
Isabel Q GauchoUnited KingdomStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia R MaletItaly2024-05-19Morlong Associates RENEWAL57Ioni Bowcher
1001Ashley U InouyeRussia2024-06-03Chemel, James L Cpa RENEWAL47Xuxue Feng
1002Antonio G BowleyCanada2024-06-01Chapman, Ross E Esq UNQUALIFIED22Ioni Bowcher
1003Morrow S GillianArgentina2024-06-03Printing Dimensions UNQUALIFIED14Elwin Sharvill
1004Stacey I ShinkoSpain2024-06-01Commercial Press NEGOTIATION71Onyama Limba
1005Darci S MaletAustralia2024-05-24King, Christopher A Esq QUALIFIED24Asiya Javayant
1006Murillo W AmigonBrazil2024-05-19Rousseaux, Michael Esq NEGOTIATION81Ioni Bowcher
1007Adams P GillianItaly2024-05-27Truhlar And Truhlar Attys UNQUALIFIED30Amy Elsner
1008Arvin F OstroskyGermany2024-05-18Truhlar And Truhlar Attys PROPOSAL53Onyama Limba
1009Isabel B PerinIndia2024-05-29Commercial Press UNQUALIFIED53Amy Elsner
1010Costa M WaycottRussia2024-05-15Rousseaux, Michael Esq UNQUALIFIED63Elwin Sharvill
1011Jeanfrancois R PerinJapan2024-06-10Chapman, Ross E Esq QUALIFIED5Anna Fali
1012Maria F ButtAustralia2024-05-16Commercial Press QUALIFIED13Amy Elsner
1013Rodrigues S DoeCanada2024-05-30Chemel, James L Cpa NEW36Anna Fali
1014Aruna P WaycottRussia2024-05-24Chanay, Jeffrey A Esq PROPOSAL57Elwin Sharvill
1015Kadeem P KuskoRussia2024-05-17Chapman, Ross E Esq QUALIFIED37Elwin Sharvill
1016Ashley Q MacleadRussia2024-05-26Rousseaux, Michael Esq NEGOTIATION59Ioni Bowcher
1017Maria N VocelkaFrance2024-05-29Feltz Printing Service UNQUALIFIED96Anna Fali
1018Deepesh Z SergiItaly2024-05-20Chemel, James L Cpa RENEWAL8Ivan Magalhaes
1019Alejandro Z GillianGermany2024-05-22Morlong Associates UNQUALIFIED68Stephen Shaw
1020David T SchemmerAustralia2024-05-16Feltz Printing Service NEW79Ivan Magalhaes
1021Munro G MarrierRussia2024-06-05King, Christopher A Esq QUALIFIED99Amy Elsner
1022Emily G BowleySpain2024-05-24Buckley Miller Wright NEGOTIATION24Ioni Bowcher
1023Aditya K RutaJapan2024-06-02Chemel, James L Cpa UNQUALIFIED72Bernardo Dominic
1024Salvatore J FerenczUnited Kingdom2024-05-29Morlong Associates QUALIFIED77Amy Elsner
1025Kadeem S RimItaly2024-06-04Truhlar And Truhlar Attys RENEWAL1Amy Elsner
1026Ricardo O RulapaughIndia2024-05-15King, Christopher A Esq QUALIFIED2Xuxue Feng
1027Jones V OldroydIndia2024-06-02Chemel, James L Cpa PROPOSAL87Ioni Bowcher
1028Antonio C SaylorsItaly2024-05-30Feiner Bros UNQUALIFIED7Onyama Limba
1029Isabel T ButtBrazil2024-06-12Dorl, James J Esq RENEWAL81Xuxue Feng
1030Greenwood T MaletUnited Kingdom2024-06-10Feiner Bros RENEWAL80Onyama Limba
1031Maisha O MorascaItaly2024-05-25Benton, John B Jr NEGOTIATION50Asiya Javayant
1032Wickens D KolmetzBrazil2024-05-27Rousseaux, Michael Esq PROPOSAL74Bernardo Dominic
1033Clifford I AmigonItaly2024-05-15Rousseaux, Michael Esq PROPOSAL1Onyama Limba
1034Faith V BriddickJapan2024-06-02Morlong Associates NEW92Amy Elsner
1035Maisha O CampainSpain2024-05-18Rangoni Of Florence QUALIFIED18Amy Elsner
1036Misaki M InouyeBrazil2024-05-17Truhlar And Truhlar Attys NEW78Ivan Magalhaes
1037Johnson L RimArgentina2024-06-11Feiner Bros NEW33Xuxue Feng
1038Maisha U MacleadArgentina2024-05-27Feltz Printing Service PROPOSAL48Elwin Sharvill
1039Munro W GillianAustralia2024-06-05Chapman, Ross E Esq PROPOSAL17Bernardo Dominic
1040Leja B MaletItaly2024-05-27King, Christopher A Esq QUALIFIED48Elwin Sharvill
1041Jefferson A ChuiGermany2024-06-05Feiner Bros NEW76Stephen Shaw
1042Francesco Z VocelkaIndia2024-05-28Benton, John B Jr NEW51Bernardo Dominic
1043Darci S TollnerRussia2024-05-29Chanay, Jeffrey A Esq NEW31Asiya Javayant
1044Leja V ShinkoSpain2024-06-12Dorl, James J Esq NEW68Xuxue Feng
1045Rodrigues S PaprockiItaly2024-06-05Truhlar And Truhlar Attys UNQUALIFIED85Anna Fali
1046Cody M AmigonSpain2024-05-28Rousseaux, Michael Esq NEW37Ioni Bowcher
1047Mujtaba J FlosiItaly2024-06-04Printing Dimensions UNQUALIFIED59Onyama Limba
1048James B GarufiJapan2024-05-19Benton, John B Jr NEGOTIATION72Anna Fali
1049Stacey E PaprockiGermany2024-05-19Feiner Bros UNQUALIFIED20Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha Q GauchoBrazilAsiya Javayant PROPOSAL
Octavia Q CaudyBrazilIoni Bowcher QUALIFIED
Sinclair F FigeroaIndiaBernardo Dominic NEGOTIATION
Mayumi H DoeSpainOnyama Limba NEW
Isabel D RutaCanadaOnyama Limba QUALIFIED
Morrow K ButtGermanyElwin Sharvill NEW
Silvio E SlusarskiFranceOnyama Limba UNQUALIFIED
Greenwood H KolmetzIndiaAmy Elsner PROPOSAL
Costa I NickaUnited KingdomOnyama Limba UNQUALIFIED
Francesco J NestleJapanAsiya Javayant RENEWAL
Nicolas V ButtSpainXuxue Feng NEGOTIATION
Julie U PerinAustraliaBernardo Dominic QUALIFIED
Clifford O MaletAustraliaAsiya Javayant QUALIFIED
Francesco X GarufiCanadaStephen Shaw PROPOSAL
Faith S BologniaGermanyElwin Sharvill QUALIFIED
Wickens I SaylorsJapanAmy Elsner PROPOSAL
Leja J CampainJapanStephen Shaw UNQUALIFIED
Sinclair P NestleRussiaXuxue Feng UNQUALIFIED
Greenwood M GillianFranceIvan Magalhaes PROPOSAL
Mujtaba R AmigonFranceAmy Elsner RENEWAL
Chavez T RimItalyIoni Bowcher QUALIFIED
Nicolas J CaudyRussiaAsiya Javayant QUALIFIED
Costa Z OldroydRussiaIvan Magalhaes NEGOTIATION
Leon M VenereAustraliaIvan Magalhaes NEGOTIATION
Morrow M VocelkaUnited KingdomAmy Elsner NEGOTIATION
Emily P BriddickBrazilIvan Magalhaes NEW
Kadeem B SaylorsFranceXuxue Feng RENEWAL
Stacey L ChuiItalyAmy Elsner UNQUALIFIED
Jeanfrancois U VocelkaJapanIoni Bowcher QUALIFIED
Julie K SchemmerFranceAsiya Javayant NEW
Sinclair A GauchoJapanBernardo Dominic NEGOTIATION
Octavia S WhobreyCanadaBernardo Dominic NEW
Salvatore U RoysterAustraliaXuxue Feng NEW
Aika S DarakjyGermanyAmy Elsner UNQUALIFIED
Leja V VenereBrazilAmy Elsner NEGOTIATION
Silvio H PaprockiGermanyStephen Shaw QUALIFIED
Mujtaba M DoeRussiaAnna Fali UNQUALIFIED
Leon X InouyeIndiaElwin Sharvill NEW
Octavia D GarufiRussiaAnna Fali QUALIFIED
Ricardo B FerenczFranceElwin Sharvill RENEWAL
Kadeem R GlickArgentinaAsiya Javayant RENEWAL
Maisha O SchemmerGermanyOnyama Limba PROPOSAL
Aruna V ShinkoSpainIvan Magalhaes NEW
Mayumi C KolmetzIndiaIoni Bowcher NEGOTIATION
Maisha H TollnerUnited KingdomBernardo Dominic RENEWAL
Isabel Y MacleadAustraliaXuxue Feng RENEWAL
Jefferson G DilliardFranceIoni Bowcher PROPOSAL
Sinclair Z RutaRussiaOnyama Limba UNQUALIFIED
Salvatore I GlickIndiaBernardo Dominic NEGOTIATION
Chavez A DoeRussiaElwin Sharvill NEW
Frozen Columns
Name
Misaki B Kolmetz
Aika X Doe
Maisha L Kolmetz
Aditya P Gaucho
Aruna O Wieser
Stacey T Poquette
Aika W Sergi
Tony Y Royster
Maisha M Albares
Juan F Gaucho
Wickens K Perin
Sinclair T Schemmer
Alejandro S Schemmer
Antonio O Schemmer
Smith D Perin
Jennifer B Figeroa
Salvatore X Paprocki
Jefferson W Malet
Ricardo N Perin
Morrow K Caldarera
Izzy S Royster
Deepesh G Ruta
Francesco W Chui
Leja J Stenseth
Cody J Ostrosky
Leja T Poquette
Deepesh E Marrier
Antonio Y Venere
Munro G Darakjy
Faith P Amigon
Leja O Flosi
Kaitlin S Gillian
Sinclair X Ostrosky
Johnson V Stenseth
Ivar X Ostrosky
Jones M Stockham
Silvio K Briddick
Rodrigues A Sergi
Ivar F Garufi
Izzy D Bowley
Claire W Flosi
Aika X Whobrey
Ricardo Q Caudy
James X Wieser
Misaki A Amigon
Rodrigues Q Ruta
Francesco A Bolognia
Mayumi Q Caldarera
Izzy Y Saylors
Aika O Chui
IdCountryDate
1000Spain2024-06-13
1001United Kingdom2024-06-13
1002Russia2024-05-20
1003Japan2024-06-01
1004Germany2024-05-30
1005Japan2024-06-01
1006Argentina2024-06-10
1007France2024-05-30
1008Japan2024-06-10
1009Australia2024-06-13
1010Argentina2024-05-30
1011Italy2024-05-23
1012Canada2024-05-26
1013Brazil2024-05-29
1014Brazil2024-05-28
1015United Kingdom2024-06-01
1016Brazil2024-05-30
1017United Kingdom2024-05-17
1018France2024-06-04
1019Spain2024-05-23
1020Italy2024-05-31
1021Argentina2024-05-29
1022Canada2024-05-23
1023Russia2024-06-04
1024United Kingdom2024-05-27
1025Spain2024-05-17
1026Japan2024-05-19
1027India2024-06-02
1028India2024-05-31
1029Brazil2024-05-15
1030Germany2024-05-22
1031United Kingdom2024-05-29
1032Italy2024-06-05
1033India2024-06-03
1034United Kingdom2024-05-15
1035Brazil2024-05-25
1036Canada2024-05-24
1037Australia2024-05-28
1038Canada2024-05-25
1039Japan2024-06-11
1040Russia2024-05-24
1041Russia2024-05-19
1042Brazil2024-05-18
1043Brazil2024-05-30
1044United Kingdom2024-05-30
1045Argentina2024-05-27
1046Japan2024-06-12
1047United Kingdom2024-05-28
1048Canada2024-05-16
1049Argentina2024-06-01

On-Demand Data

NameIdCountryDate
Greenwood U Albares1000Canada2024-06-05
Jones Y Rim1001United Kingdom2024-05-24
Salvatore J Ruta1002Canada2024-05-15
Juan G Campain1003Russia2024-05-28
Alejandro F Venere1004Germany2024-05-24
Johnson S Bowley1005France2024-05-24
David H Doe1006Brazil2024-06-02
Ivar B Slusarski1007Japan2024-06-13
James B Dilliard1008Germany2024-06-03
Smith G Caudy1009Germany2024-05-22
Greenwood C Doe1010Germany2024-05-23
Costa M Bolognia1011France2024-05-20
Darci E Caudy1012Germany2024-06-02
Ricardo Z Ostrosky1013India2024-05-20
Cody B Venere1014India2024-06-12
Johnson E Darakjy1015Japan2024-05-29
Rodrigues F Malet1016Australia2024-06-13
Jefferson P Doe1017Australia2024-06-12
Arvin J Rulapaugh1018Germany2024-06-05
Aditya X Ostrosky1019Australia2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Z SchemmerIndiaBernardo Dominic RENEWAL
Murillo Y SchemmerJapanAsiya Javayant RENEWAL
Ashley R NestleArgentinaOnyama Limba PROPOSAL
Darci V WieserIndiaAnna Fali NEW
Salvatore K KuskoRussiaAsiya Javayant QUALIFIED
Rodrigues P ChuiRussiaOnyama Limba PROPOSAL
Claire K VocelkaBrazilIvan Magalhaes QUALIFIED
Octavia H MaletIndiaIoni Bowcher RENEWAL
Smith I IturbideIndiaElwin Sharvill NEW
Emily W WhobreyGermanyAsiya Javayant PROPOSAL
Arvin Z BowleyGermanyBernardo Dominic PROPOSAL
David R StockhamIndiaAnna Fali RENEWAL
Munro F TollnerCanadaXuxue Feng QUALIFIED
Wickens Q SchemmerIndiaIvan Magalhaes UNQUALIFIED
Misaki I WieserCanadaStephen Shaw NEW
Murillo Q GillianBrazilXuxue Feng PROPOSAL
Francesco Q StensethItalyBernardo Dominic NEW
Tony O InouyeBrazilStephen Shaw QUALIFIED
Isabel H PoquetteFranceBernardo Dominic UNQUALIFIED
Wickens M SaylorsSpainAnna Fali PROPOSAL
Tony D ButtSpainIoni Bowcher QUALIFIED
Chavez A VocelkaCanadaAmy Elsner QUALIFIED
Mujtaba L GarufiBrazilAmy Elsner UNQUALIFIED
Aditya S SchemmerAustraliaStephen Shaw RENEWAL
Ivar I MaletUnited KingdomIvan Magalhaes RENEWAL
Izzy E StensethItalyIoni Bowcher QUALIFIED
Maisha V IturbideBrazilAmy Elsner PROPOSAL
Clifford H IturbideBrazilStephen Shaw NEGOTIATION
Aditya E WhobreyIndiaAsiya Javayant QUALIFIED
Murillo L MaletBrazilStephen Shaw PROPOSAL
Rodrigues Y AlbaresFranceOnyama Limba RENEWAL
Kaitlin U SchemmerAustraliaIvan Magalhaes PROPOSAL
Murillo R SaylorsCanadaBernardo Dominic UNQUALIFIED
Faith V MorascaGermanyAsiya Javayant PROPOSAL
Clifford H VenereAustraliaXuxue Feng NEW
Deepesh L OldroydIndiaOnyama Limba PROPOSAL
Maria C StockhamBrazilAnna Fali QUALIFIED
Munro X SergiAustraliaAnna Fali RENEWAL
David K OstroskyGermanyAnna Fali NEW
Francesco P FerenczCanadaOnyama Limba PROPOSAL

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