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 R VocelkaCanadaElwin Sharvill PROPOSAL
Jefferson C DilliardJapanOnyama Limba QUALIFIED
Izzy C KuskoBrazilAmy Elsner NEGOTIATION
Claire C PoquetteFranceAsiya Javayant UNQUALIFIED
Murillo L GlickBrazilOnyama Limba RENEWAL
Adams Z CaldareraFranceBernardo Dominic PROPOSAL
Mayumi Q SchemmerFranceAnna Fali RENEWAL
Costa N FerenczSpainXuxue Feng NEW
Salvatore O FollerSpainAmy Elsner QUALIFIED
Arvin W RoysterAustraliaIoni Bowcher PROPOSAL
James E RimIndiaElwin Sharvill UNQUALIFIED
Silvio Z FlosiSpainBernardo Dominic NEW
Julie P MarrierIndiaAmy Elsner PROPOSAL
Rodrigues P CampainSpainXuxue Feng NEGOTIATION
Deepesh H GauchoIndiaBernardo Dominic UNQUALIFIED
Deepesh W StockhamAustraliaXuxue Feng QUALIFIED
Sinclair B VocelkaArgentinaBernardo Dominic QUALIFIED
Misaki S RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Smith G StockhamJapanOnyama Limba NEW
Rodrigues P FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Costa F ShinkoFranceBernardo Dominic UNQUALIFIED
Tony E MacleadFranceXuxue Feng NEGOTIATION
Mujtaba E DarakjyAustraliaAnna Fali NEGOTIATION
Maria X PaprockiSpainAmy Elsner NEW
Emily X SaylorsJapanBernardo Dominic NEGOTIATION
Alejandro K KolmetzSpainStephen Shaw PROPOSAL
James Q GarufiBrazilAnna Fali UNQUALIFIED
Darci I FollerIndiaIvan Magalhaes NEGOTIATION
Costa N FerenczRussiaXuxue Feng PROPOSAL
Jennifer J StockhamJapanXuxue Feng NEGOTIATION
Faith N NickaIndiaXuxue Feng QUALIFIED
Salvatore O ChuiJapanBernardo Dominic RENEWAL
Leja H SchemmerBrazilIoni Bowcher RENEWAL
Aruna P SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Kadeem K ShinkoAustraliaAmy Elsner NEGOTIATION
Mujtaba S DilliardArgentinaIoni Bowcher NEGOTIATION
Clifford L MaletIndiaStephen Shaw PROPOSAL
Francesco W CaudyGermanyElwin Sharvill NEGOTIATION
Julie K BologniaCanadaStephen Shaw QUALIFIED
Munro J OldroydArgentinaIoni Bowcher UNQUALIFIED
Kadeem N StockhamArgentinaIvan Magalhaes PROPOSAL
Misaki C VenereSpainAmy Elsner UNQUALIFIED
Leon E MorascaSpainElwin Sharvill QUALIFIED
Octavia S DilliardFranceAmy Elsner NEGOTIATION
Misaki D KolmetzBrazilIvan Magalhaes NEGOTIATION
Emily W StockhamFranceAmy Elsner RENEWAL
Jeanfrancois C GauchoItalyAmy Elsner NEW
Aruna B SchemmerJapanOnyama Limba UNQUALIFIED
Kadeem M MacleadCanadaAmy Elsner QUALIFIED
Silvio A RulapaughJapanIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David V PoquetteUnited KingdomStephen Shaw PROPOSAL
James Y VocelkaBrazilOnyama Limba QUALIFIED
Mujtaba X ChuiArgentinaXuxue Feng RENEWAL
Salvatore G ShinkoGermanyAsiya Javayant RENEWAL
Emily H ShinkoJapanAmy Elsner RENEWAL
Jones N FollerJapanIvan Magalhaes NEGOTIATION
Mayumi S SchemmerGermanyIoni Bowcher RENEWAL
Smith T DarakjyArgentinaAnna Fali RENEWAL
Munro Y MaletJapanIvan Magalhaes NEW
Aruna I PerinBrazilElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas Q KuskoBrazil2024-06-01Chemel, James L Cpa QUALIFIED81Asiya Javayant
1001Ashley Y ShinkoGermany2024-05-27Morlong Associates QUALIFIED38Ivan Magalhaes
1002Emily I CaldareraAustralia2024-06-16Commercial Press NEW37Onyama Limba
1003Maisha T PoquetteJapan2024-06-15Chanay, Jeffrey A Esq RENEWAL40Onyama Limba
1004Mujtaba T MarrierUnited Kingdom2024-05-28Printing Dimensions NEW39Ioni Bowcher
1005Jennifer L CaudyItaly2024-05-25Rousseaux, Michael Esq NEW56Elwin Sharvill
1006Jennifer E ShinkoCanada2024-06-06Benton, John B Jr QUALIFIED72Stephen Shaw
1007Arvin Y FerenczSpain2024-06-20Rangoni Of Florence RENEWAL80Ivan Magalhaes
1008Leja A SergiIndia2024-05-24Chapman, Ross E Esq RENEWAL28Amy Elsner
1009Nicolas W AmigonRussia2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED57Onyama Limba
1010Julie P CaudyCanada2024-05-24Truhlar And Truhlar Attys QUALIFIED9Xuxue Feng
1011Clifford K DilliardIndia2024-06-07Truhlar And Truhlar Attys NEGOTIATION99Bernardo Dominic
1012Cody T FerenczSpain2024-06-15King, Christopher A Esq UNQUALIFIED37Amy Elsner
1013Octavia B SaylorsFrance2024-06-17Feltz Printing Service NEGOTIATION96Ioni Bowcher
1014Arvin O RutaArgentina2024-06-10Rousseaux, Michael Esq QUALIFIED3Ioni Bowcher
1015Leon M MorascaUnited Kingdom2024-06-07Buckley Miller Wright QUALIFIED59Anna Fali
1016Stacey Y ShinkoAustralia2024-06-07Benton, John B Jr NEGOTIATION78Anna Fali
1017Mujtaba L GauchoSpain2024-06-07Feiner Bros NEGOTIATION58Elwin Sharvill
1018David F OldroydBrazil2024-05-28Chanay, Jeffrey A Esq NEGOTIATION59Xuxue Feng
1019Stacey C AmigonGermany2024-06-08Feltz Printing Service NEGOTIATION18Ioni Bowcher
1020Murillo P OldroydSpain2024-05-24King, Christopher A Esq NEGOTIATION25Anna Fali
1021Claire E SergiRussia2024-06-15Morlong Associates NEW29Bernardo Dominic
1022Emily R VocelkaArgentina2024-05-23Printing Dimensions QUALIFIED68Onyama Limba
1023Maisha A SchemmerCanada2024-06-06Feiner Bros NEGOTIATION70Xuxue Feng
1024Mujtaba P MaletIndia2024-05-31Buckley Miller Wright UNQUALIFIED7Amy Elsner
1025James M GauchoRussia2024-05-26Truhlar And Truhlar Attys UNQUALIFIED93Onyama Limba
1026Munro M FerenczArgentina2024-06-03Feiner Bros NEW99Elwin Sharvill
1027Ricardo O WaycottRussia2024-06-21Morlong Associates NEGOTIATION63Anna Fali
1028Ricardo G MacleadIndia2024-06-09Feltz Printing Service PROPOSAL59Ivan Magalhaes
1029Wickens W OldroydFrance2024-05-25Benton, John B Jr NEW85Amy Elsner
1030Ivar Q OstroskySpain2024-06-18Rangoni Of Florence PROPOSAL57Onyama Limba
1031Alejandro H CampainBrazil2024-06-20Buckley Miller Wright QUALIFIED2Ioni Bowcher
1032Jennifer E BriddickBrazil2024-06-08King, Christopher A Esq UNQUALIFIED72Asiya Javayant
1033Mujtaba M SergiCanada2024-05-28Buckley Miller Wright NEGOTIATION37Ivan Magalhaes
1034Greenwood T OldroydFrance2024-06-19Chemel, James L Cpa QUALIFIED58Bernardo Dominic
1035Greenwood J BologniaIndia2024-06-11Chapman, Ross E Esq NEGOTIATION91Elwin Sharvill
1036Greenwood H PerinJapan2024-06-09Chanay, Jeffrey A Esq NEGOTIATION64Asiya Javayant
1037Faith B StockhamArgentina2024-06-21Rangoni Of Florence QUALIFIED76Bernardo Dominic
1038Emily Z PaprockiUnited Kingdom2024-06-05Dorl, James J Esq RENEWAL15Elwin Sharvill
1039Aika D OstroskyAustralia2024-06-06Morlong Associates NEW60Amy Elsner
1040Leon C DarakjyUnited Kingdom2024-06-04Buckley Miller Wright NEGOTIATION41Xuxue Feng
1041David I GarufiIndia2024-06-03Dorl, James J Esq PROPOSAL49Anna Fali
1042Tony P ButtJapan2024-05-23Rousseaux, Michael Esq NEW91Elwin Sharvill
1043Sinclair I DoeRussia2024-06-03Truhlar And Truhlar Attys NEW5Onyama Limba
1044Deepesh O BowleyGermany2024-06-17Feltz Printing Service NEW89Anna Fali
1045Kaitlin C FollerSpain2024-06-10Commercial Press UNQUALIFIED88Ioni Bowcher
1046Maisha A FigeroaGermany2024-05-25Chemel, James L Cpa UNQUALIFIED66Xuxue Feng
1047Octavia Q StensethItaly2024-05-31Benton, John B Jr NEW38Xuxue Feng
1048Juan N CaudyRussia2024-06-07Buckley Miller Wright RENEWAL12Anna Fali
1049Leon O MaletBrazil2024-05-29Commercial Press NEGOTIATION25Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Greenwood E MorascaGermanyIvan Magalhaes NEGOTIATION
Tony Z BologniaFranceAmy Elsner UNQUALIFIED
Ivar X FollerItalyAnna Fali RENEWAL
Kaitlin C BologniaArgentinaStephen Shaw UNQUALIFIED
Mayumi Y RoysterAustraliaStephen Shaw RENEWAL
Wickens F SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Ashley C FlosiAustraliaOnyama Limba NEW
Juan T PerinIndiaAmy Elsner RENEWAL
Ivar I SaylorsAustraliaBernardo Dominic NEW
Juan P SergiArgentinaAsiya Javayant QUALIFIED
Darci P AlbaresArgentinaXuxue Feng QUALIFIED
Wickens B BologniaJapanElwin Sharvill UNQUALIFIED
Alejandro J GlickUnited KingdomStephen Shaw UNQUALIFIED
Johnson B CaldareraRussiaIvan Magalhaes NEW
Kaitlin S GarufiFranceAmy Elsner NEGOTIATION
Mujtaba B OldroydCanadaElwin Sharvill UNQUALIFIED
Morrow M FlosiRussiaAnna Fali NEGOTIATION
Rodrigues W CampainItalyStephen Shaw QUALIFIED
Jennifer I DoeGermanyAmy Elsner PROPOSAL
Chavez Z OldroydGermanyBernardo Dominic RENEWAL
Jeanfrancois Y OldroydIndiaBernardo Dominic NEGOTIATION
Munro N RoysterBrazilXuxue Feng QUALIFIED
Rodrigues B MarrierJapanOnyama Limba PROPOSAL
Kaitlin M IturbideCanadaXuxue Feng NEGOTIATION
Adams V OldroydSpainOnyama Limba NEW
Adams J PaprockiAustraliaBernardo Dominic QUALIFIED
Jefferson T RimFranceXuxue Feng NEW
Tony Z RutaSpainBernardo Dominic NEGOTIATION
Smith R GarufiUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues I RimFranceElwin Sharvill QUALIFIED
Antonio L BriddickFranceAsiya Javayant PROPOSAL
Octavia T RulapaughRussiaOnyama Limba UNQUALIFIED
Cody H InouyeRussiaXuxue Feng RENEWAL
Rodrigues E RulapaughUnited KingdomIoni Bowcher NEW
Kadeem F RutaIndiaElwin Sharvill QUALIFIED
Clifford H DilliardFranceAmy Elsner UNQUALIFIED
Smith R SaylorsAustraliaOnyama Limba UNQUALIFIED
Aruna Q PaprockiUnited KingdomIoni Bowcher QUALIFIED
Wickens A SergiUnited KingdomXuxue Feng NEGOTIATION
Darci K WaycottGermanyAmy Elsner UNQUALIFIED
Costa W SlusarskiJapanAsiya Javayant NEW
Stacey H VocelkaItalyBernardo Dominic NEW
Kadeem W RoysterIndiaStephen Shaw RENEWAL
Ricardo O MarrierItalyAmy Elsner PROPOSAL
Munro C GarufiAustraliaAsiya Javayant RENEWAL
Kaitlin L PaprockiItalyIvan Magalhaes PROPOSAL
Tony S VenereAustraliaAnna Fali UNQUALIFIED
Nicolas E StensethBrazilIoni Bowcher RENEWAL
Antonio Y MaletFranceAmy Elsner UNQUALIFIED
Costa P NestleArgentinaOnyama Limba QUALIFIED
Frozen Columns
Name
Greenwood M Tollner
Isabel D Saylors
Jones I Doe
Claire P Kusko
Ashley V Flosi
Mujtaba C Morasca
Sinclair K Waycott
Cody H Maclead
David X Iturbide
Johnson U Glick
Adams D Foller
Tony L Whobrey
Aditya J Tollner
Costa Z Tollner
Cody R Malet
Misaki L Ferencz
Isabel X Doe
Jeanfrancois Z Stockham
Alejandro Z Briddick
Sinclair V Stockham
Alejandro H Waycott
Maisha A Shinko
Smith I Bolognia
Aditya Q Vocelka
Aruna M Paprocki
Emily H Tollner
Rodrigues A Amigon
Costa W Slusarski
Rodrigues B Briddick
Aika B Dilliard
Julie F Perin
Alejandro U Rulapaugh
Antonio F Stockham
Stacey M Flosi
Morrow Q Gaucho
Julie G Nicka
Johnson G Ferencz
Silvio D Saylors
Cody B Briddick
Maisha Y Amigon
Julie Z Ferencz
Clifford H Rim
Deepesh G Chui
Octavia L Foller
Tony C Gillian
Munro W Morasca
Antonio M Poquette
Jeanfrancois H Venere
Sinclair I Malet
David Z Marrier
IdCountryDate
1000Japan2024-05-30
1001Japan2024-05-27
1002Germany2024-05-27
1003Argentina2024-06-08
1004Brazil2024-05-24
1005Germany2024-06-09
1006Spain2024-06-18
1007Germany2024-06-10
1008Italy2024-06-11
1009Australia2024-06-02
1010Italy2024-06-09
1011Germany2024-06-15
1012Germany2024-06-09
1013France2024-05-29
1014United Kingdom2024-06-20
1015Russia2024-05-31
1016Canada2024-06-09
1017Japan2024-06-10
1018Australia2024-06-21
1019India2024-06-20
1020India2024-05-27
1021Russia2024-06-12
1022Russia2024-05-23
1023Germany2024-05-27
1024Germany2024-05-24
1025United Kingdom2024-05-26
1026Spain2024-05-28
1027Brazil2024-05-31
1028Japan2024-06-16
1029India2024-05-25
1030France2024-06-19
1031Russia2024-06-21
1032Germany2024-06-11
1033United Kingdom2024-06-15
1034United Kingdom2024-05-30
1035Australia2024-06-18
1036Argentina2024-05-30
1037India2024-05-23
1038France2024-06-14
1039France2024-06-15
1040Canada2024-06-19
1041France2024-06-05
1042Italy2024-06-20
1043Japan2024-05-28
1044Spain2024-05-28
1045Russia2024-06-19
1046Australia2024-05-28
1047Japan2024-05-31
1048Argentina2024-06-06
1049Germany2024-06-12

On-Demand Data

NameIdCountryDate
Claire O Gaucho1000Germany2024-05-29
David G Kolmetz1001Argentina2024-06-19
Smith R Nicka1002India2024-05-24
Misaki W Malet1003France2024-06-03
Maisha I Dilliard1004Australia2024-06-20
Smith A Tollner1005Australia2024-06-08
Emily D Nestle1006Australia2024-06-12
Mujtaba F Rim1007Argentina2024-06-20
Antonio J Briddick1008Argentina2024-06-07
Ricardo D Rim1009Italy2024-06-15
Alejandro T Garufi1010Australia2024-05-23
Stacey W Caudy1011Japan2024-06-13
Nicolas E Stockham1012Germany2024-06-10
Silvio S Shinko1013Japan2024-06-04
Leja J Garufi1014France2024-06-05
Aika S Ruta1015Japan2024-05-25
Aika U Campain1016Spain2024-05-31
Izzy G Sergi1017Italy2024-06-14
Isabel Q Campain1018Spain2024-06-01
Clifford Z Inouye1019Germany2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna R MorascaJapanAnna Fali NEW
Ashley W RimBrazilAnna Fali QUALIFIED
Julie K TollnerSpainBernardo Dominic NEW
Jones C DarakjyArgentinaIoni Bowcher UNQUALIFIED
Stacey Y NestleRussiaAnna Fali PROPOSAL
Morrow Y BowleyBrazilStephen Shaw NEW
Wickens K PerinUnited KingdomStephen Shaw RENEWAL
Silvio V NickaSpainIoni Bowcher NEW
Clifford L DarakjyAustraliaOnyama Limba PROPOSAL
Mujtaba V DoeCanadaIvan Magalhaes QUALIFIED
Aika D RimIndiaIoni Bowcher QUALIFIED
Greenwood Q KolmetzBrazilAmy Elsner PROPOSAL
Julie D ShinkoJapanElwin Sharvill NEW
Cody A FerenczCanadaIvan Magalhaes NEGOTIATION
Wickens S FigeroaBrazilStephen Shaw UNQUALIFIED
Ashley O RoysterRussiaBernardo Dominic PROPOSAL
Munro Z IturbideSpainXuxue Feng RENEWAL
Antonio D InouyeFranceIvan Magalhaes NEGOTIATION
Nicolas Y NickaBrazilOnyama Limba NEW
David K FlosiCanadaAsiya Javayant NEW
Jennifer M MarrierGermanyIoni Bowcher NEW
Rodrigues V SaylorsBrazilStephen Shaw UNQUALIFIED
Jeanfrancois Z MaletArgentinaXuxue Feng RENEWAL
Aruna Y GillianBrazilXuxue Feng NEW
Smith R MaletIndiaBernardo Dominic RENEWAL
Adams B RulapaughItalyOnyama Limba QUALIFIED
Kaitlin G TollnerItalyElwin Sharvill QUALIFIED
David T ShinkoBrazilOnyama Limba PROPOSAL
Maria X InouyeFranceOnyama Limba QUALIFIED
Nicolas V BologniaRussiaXuxue Feng PROPOSAL
Rodrigues D BowleyItalyXuxue Feng UNQUALIFIED
Kadeem X VocelkaBrazilStephen Shaw NEGOTIATION
Costa X DoeIndiaXuxue Feng NEW
Chavez Q PoquetteGermanyStephen Shaw NEW
Wickens U BowleyItalyAnna Fali RENEWAL
Stacey Y KolmetzJapanStephen Shaw RENEWAL
Wickens D GauchoRussiaAsiya Javayant RENEWAL
Adams Y WhobreyArgentinaAsiya Javayant NEGOTIATION
Jennifer K CampainFranceStephen Shaw RENEWAL
Julie X PoquetteUnited KingdomIvan Magalhaes 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>