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
Izzy I VocelkaRussiaAmy Elsner QUALIFIED
Stacey T MaletGermanyOnyama Limba RENEWAL
Deepesh D RutaUnited KingdomOnyama Limba UNQUALIFIED
Isabel C IturbideCanadaXuxue Feng PROPOSAL
Francesco O MaletJapanAmy Elsner QUALIFIED
Antonio W NestleBrazilIoni Bowcher QUALIFIED
James H MorascaJapanElwin Sharvill NEGOTIATION
Clifford O IturbideSpainStephen Shaw PROPOSAL
Rodrigues Y IturbideJapanBernardo Dominic RENEWAL
Izzy K SchemmerItalyAnna Fali NEGOTIATION
Jefferson J WaycottCanadaXuxue Feng NEGOTIATION
Aruna C PoquetteUnited KingdomIoni Bowcher RENEWAL
Mujtaba I WieserAustraliaAsiya Javayant NEGOTIATION
Nicolas U StensethSpainAnna Fali NEW
Sinclair E PerinUnited KingdomStephen Shaw UNQUALIFIED
Antonio F BowleyFranceElwin Sharvill UNQUALIFIED
Jefferson E MorascaItalyBernardo Dominic UNQUALIFIED
Francesco T OldroydUnited KingdomElwin Sharvill PROPOSAL
Rodrigues E PoquetteItalyStephen Shaw NEGOTIATION
Morrow C KolmetzFranceAnna Fali RENEWAL
Clifford R ButtUnited KingdomBernardo Dominic QUALIFIED
Maisha P OstroskyIndiaAnna Fali NEW
Mujtaba L RoysterGermanyElwin Sharvill QUALIFIED
Jeanfrancois H IturbideRussiaXuxue Feng QUALIFIED
Francesco Z NestleJapanElwin Sharvill PROPOSAL
Tony Y MorascaBrazilElwin Sharvill UNQUALIFIED
Aruna F SlusarskiBrazilAmy Elsner UNQUALIFIED
Leon T FigeroaUnited KingdomBernardo Dominic RENEWAL
Clifford S BowleySpainIoni Bowcher PROPOSAL
Aruna T DoeJapanElwin Sharvill UNQUALIFIED
Maria R PoquetteCanadaOnyama Limba NEGOTIATION
Aika X NestleGermanyIoni Bowcher QUALIFIED
Jeanfrancois Y NickaCanadaBernardo Dominic NEW
Julie O AlbaresGermanyStephen Shaw NEW
James Z MorascaCanadaAmy Elsner UNQUALIFIED
Mujtaba I RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Costa I WhobreyItalyStephen Shaw NEW
Rodrigues L BologniaCanadaOnyama Limba QUALIFIED
David K NickaUnited KingdomAsiya Javayant QUALIFIED
Ricardo Q StockhamAustraliaBernardo Dominic RENEWAL
Aruna P CampainRussiaAmy Elsner RENEWAL
Aditya E SlusarskiCanadaAsiya Javayant QUALIFIED
Ivar J WaycottIndiaXuxue Feng NEGOTIATION
Maria A CampainRussiaAnna Fali PROPOSAL
Ashley B AlbaresJapanAnna Fali UNQUALIFIED
Maria P GlickArgentinaIoni Bowcher UNQUALIFIED
Jones W GillianJapanAsiya Javayant QUALIFIED
Misaki Y MarrierSpainAsiya Javayant PROPOSAL
Ivar C RulapaughSpainStephen Shaw UNQUALIFIED
Costa B CaldareraAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem F SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Darci F MacleadBrazilXuxue Feng NEGOTIATION
Murillo V OstroskyGermanyAnna Fali NEW
Kadeem O StockhamIndiaOnyama Limba UNQUALIFIED
Jeanfrancois P KolmetzGermanyBernardo Dominic QUALIFIED
Misaki I RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha U VocelkaGermanyOnyama Limba NEGOTIATION
Claire W RimAustraliaOnyama Limba UNQUALIFIED
Francesco A CampainIndiaIoni Bowcher RENEWAL
Costa P SaylorsFranceAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio U OstroskyAustralia2024-06-03Dorl, James J Esq PROPOSAL78Asiya Javayant
1001Wickens T OstroskyUnited Kingdom2024-05-30Morlong Associates QUALIFIED69Amy Elsner
1002Jennifer R MaletUnited Kingdom2024-06-17King, Christopher A Esq QUALIFIED29Ivan Magalhaes
1003Johnson N DoeIndia2024-05-21Rousseaux, Michael Esq NEW34Stephen Shaw
1004Aika K BriddickBrazil2024-06-14Chapman, Ross E Esq RENEWAL50Ioni Bowcher
1005Wickens Q VenereUnited Kingdom2024-05-22Printing Dimensions NEGOTIATION85Ioni Bowcher
1006Rodrigues W FigeroaAustralia2024-06-15Truhlar And Truhlar Attys PROPOSAL98Stephen Shaw
1007Deepesh T PerinArgentina2024-06-13Chapman, Ross E Esq QUALIFIED89Onyama Limba
1008Arvin O AlbaresItaly2024-06-07Chanay, Jeffrey A Esq RENEWAL71Anna Fali
1009Francesco I DarakjyItaly2024-06-05Buckley Miller Wright QUALIFIED52Bernardo Dominic
1010Deepesh O RoysterFrance2024-05-26Morlong Associates NEW6Xuxue Feng
1011Juan E PaprockiArgentina2024-06-01Benton, John B Jr NEW58Anna Fali
1012Mujtaba X StockhamGermany2024-06-08Rousseaux, Michael Esq NEGOTIATION68Onyama Limba
1013Nicolas X FigeroaBrazil2024-06-17Buckley Miller Wright PROPOSAL28Amy Elsner
1014Julie P NestleCanada2024-05-23Printing Dimensions PROPOSAL64Xuxue Feng
1015Jones B KuskoIndia2024-05-27Dorl, James J Esq RENEWAL88Asiya Javayant
1016Julie G VocelkaArgentina2024-06-06Morlong Associates UNQUALIFIED85Bernardo Dominic
1017Morrow P RoysterBrazil2024-05-27Truhlar And Truhlar Attys NEW45Onyama Limba
1018Kadeem T CampainItaly2024-06-17Benton, John B Jr NEW47Amy Elsner
1019Julie I CaldareraGermany2024-05-21Chemel, James L Cpa UNQUALIFIED25Xuxue Feng
1020Octavia R GlickSpain2024-06-10Feltz Printing Service NEW41Onyama Limba
1021Antonio A VenereJapan2024-06-11Benton, John B Jr UNQUALIFIED98Bernardo Dominic
1022Aditya T NestleItaly2024-05-26Benton, John B Jr NEW60Xuxue Feng
1023Antonio M CaudyItaly2024-05-24Dorl, James J Esq RENEWAL84Onyama Limba
1024Jennifer L StockhamAustralia2024-05-27Chapman, Ross E Esq NEW64Stephen Shaw
1025Nicolas Z VenereItaly2024-06-05Feltz Printing Service QUALIFIED30Stephen Shaw
1026Maria G WieserSpain2024-06-16Chapman, Ross E Esq NEW86Stephen Shaw
1027James C BologniaRussia2024-06-01Commercial Press NEGOTIATION28Elwin Sharvill
1028Adams T BowleyItaly2024-05-21Chapman, Ross E Esq QUALIFIED24Bernardo Dominic
1029Arvin Y WhobreyJapan2024-06-06Truhlar And Truhlar Attys NEGOTIATION55Elwin Sharvill
1030Smith B BowleyFrance2024-06-02Dorl, James J Esq PROPOSAL80Amy Elsner
1031Silvio J MarrierArgentina2024-06-04Chapman, Ross E Esq NEW0Elwin Sharvill
1032Greenwood D CaldareraCanada2024-06-14Buckley Miller Wright UNQUALIFIED38Bernardo Dominic
1033Maisha I OldroydArgentina2024-06-12Dorl, James J Esq NEGOTIATION7Ioni Bowcher
1034Leon W StensethSpain2024-06-13Rousseaux, Michael Esq QUALIFIED78Ivan Magalhaes
1035Johnson L NickaBrazil2024-06-13Feiner Bros PROPOSAL24Elwin Sharvill
1036David R GillianRussia2024-05-27King, Christopher A Esq RENEWAL65Asiya Javayant
1037Jennifer B AlbaresUnited Kingdom2024-06-04Rousseaux, Michael Esq NEW97Anna Fali
1038Rodrigues R RimArgentina2024-05-29Benton, John B Jr NEGOTIATION73Ioni Bowcher
1039Francesco N KolmetzArgentina2024-05-20Benton, John B Jr QUALIFIED45Anna Fali
1040Jeanfrancois H PerinItaly2024-05-20Feiner Bros NEW4Bernardo Dominic
1041Mujtaba H SergiBrazil2024-06-08Rangoni Of Florence NEGOTIATION91Anna Fali
1042Morrow Z BologniaIndia2024-06-18Chapman, Ross E Esq QUALIFIED22Stephen Shaw
1043Ricardo O IturbideGermany2024-06-08Commercial Press UNQUALIFIED63Ivan Magalhaes
1044Ivar C GarufiIndia2024-06-06Feiner Bros PROPOSAL53Onyama Limba
1045Jefferson P TollnerGermany2024-06-16Buckley Miller Wright QUALIFIED91Bernardo Dominic
1046Aditya V StockhamCanada2024-05-27Chapman, Ross E Esq QUALIFIED99Ivan Magalhaes
1047Greenwood Q KolmetzAustralia2024-06-15Dorl, James J Esq NEW32Onyama Limba
1048Julie A OldroydFrance2024-05-30Feiner Bros PROPOSAL83Ivan Magalhaes
1049Julie P GillianGermany2024-06-16Printing Dimensions PROPOSAL59Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Nicolas R SchemmerItalyAmy Elsner UNQUALIFIED
David F InouyeIndiaAmy Elsner NEW
Morrow T DoeGermanyIoni Bowcher UNQUALIFIED
Aika A AlbaresJapanBernardo Dominic NEGOTIATION
Maisha I BowleyArgentinaAsiya Javayant UNQUALIFIED
Leja R MacleadArgentinaOnyama Limba PROPOSAL
Antonio O MaletSpainStephen Shaw PROPOSAL
Deepesh J DoeCanadaAmy Elsner PROPOSAL
Emily P SlusarskiGermanyAmy Elsner NEGOTIATION
Leon V OstroskyCanadaOnyama Limba NEW
Johnson L BologniaSpainXuxue Feng PROPOSAL
Leon M OldroydFranceElwin Sharvill QUALIFIED
Izzy M ChuiArgentinaIoni Bowcher PROPOSAL
Johnson F AlbaresJapanXuxue Feng NEGOTIATION
Isabel E VocelkaAustraliaStephen Shaw NEW
Ricardo X KuskoItalyXuxue Feng RENEWAL
Emily A CampainJapanIoni Bowcher NEW
Nicolas M FigeroaGermanyAsiya Javayant NEGOTIATION
Isabel L KolmetzJapanStephen Shaw NEW
Johnson A StockhamItalyElwin Sharvill RENEWAL
Wickens B CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Juan Y ChuiJapanAnna Fali NEW
Jeanfrancois W SchemmerFranceAnna Fali PROPOSAL
Clifford X WhobreyAustraliaElwin Sharvill NEGOTIATION
Deepesh L ShinkoGermanyBernardo Dominic RENEWAL
Juan P CaldareraIndiaOnyama Limba QUALIFIED
Arvin S WieserRussiaStephen Shaw NEGOTIATION
Salvatore K NestleGermanyXuxue Feng QUALIFIED
Murillo L MaletArgentinaAnna Fali NEW
Aruna W SergiUnited KingdomAsiya Javayant UNQUALIFIED
James B SchemmerGermanyAsiya Javayant NEGOTIATION
Tony U RoysterSpainAmy Elsner NEGOTIATION
Francesco V OldroydRussiaAnna Fali QUALIFIED
Wickens Y WieserItalyXuxue Feng NEGOTIATION
Jennifer V InouyeFranceAsiya Javayant QUALIFIED
Isabel B GauchoArgentinaIvan Magalhaes RENEWAL
Julie V IturbideCanadaAmy Elsner UNQUALIFIED
Misaki K GlickRussiaAnna Fali QUALIFIED
Mayumi F BriddickItalyIvan Magalhaes NEGOTIATION
Alejandro Q ChuiSpainAmy Elsner NEW
Murillo T StockhamFranceAnna Fali UNQUALIFIED
Mayumi T WhobreyItalyAnna Fali QUALIFIED
Emily E MorascaAustraliaElwin Sharvill PROPOSAL
Aditya U KuskoItalyBernardo Dominic NEW
Ivar B CaldareraAustraliaAnna Fali UNQUALIFIED
Maria O PoquetteIndiaAmy Elsner NEGOTIATION
Julie E BologniaBrazilXuxue Feng PROPOSAL
Maria B SaylorsFranceIoni Bowcher NEW
Silvio J IturbideArgentinaBernardo Dominic NEGOTIATION
Ashley C FlosiArgentinaXuxue Feng RENEWAL
Frozen Columns
Name
Mujtaba Y Inouye
Clifford T Perin
Isabel A Stenseth
Antonio B Slusarski
Ashley Z Kusko
Chavez N Nicka
David G Caudy
Tony K Inouye
Rodrigues W Malet
Juan W Maclead
Stacey F Amigon
Octavia P Garufi
Faith K Oldroyd
Antonio L Foller
Mayumi Y Inouye
Aditya O Campain
Jones J Dilliard
Greenwood R Perin
Misaki S Slusarski
Leja D Waycott
Greenwood H Ferencz
Ivar S Ostrosky
Costa H Venere
Rodrigues C Foller
Aika R Caudy
Aruna L Doe
Darci X Chui
Antonio Y Bolognia
Clifford I Ferencz
Salvatore F Campain
Jefferson W Morasca
Murillo E Royster
David G Figeroa
Isabel K Slusarski
Julie D Inouye
Antonio U Gaucho
Leon X Slusarski
Nicolas G Butt
Arvin O Bowley
Darci J Caudy
Maria J Iturbide
Jennifer L Rulapaugh
Ashley K Gaucho
Arvin Z Nestle
Ivar H Poquette
Jefferson B Stockham
Faith I Inouye
Faith P Schemmer
Leja S Campain
David H Nestle
IdCountryDate
1000Italy2024-05-22
1001United Kingdom2024-05-21
1002United Kingdom2024-05-23
1003Canada2024-06-14
1004Japan2024-06-12
1005Argentina2024-05-24
1006United Kingdom2024-06-02
1007United Kingdom2024-06-14
1008Spain2024-06-07
1009Italy2024-06-06
1010Brazil2024-06-06
1011Australia2024-06-05
1012Canada2024-06-05
1013Brazil2024-05-31
1014Japan2024-06-09
1015Spain2024-06-18
1016India2024-06-17
1017Japan2024-06-15
1018Germany2024-05-22
1019India2024-05-27
1020Brazil2024-06-12
1021Japan2024-05-29
1022Spain2024-06-05
1023Spain2024-05-29
1024Canada2024-06-05
1025Italy2024-05-21
1026India2024-06-01
1027Argentina2024-05-24
1028Australia2024-06-17
1029India2024-06-18
1030Brazil2024-05-29
1031Australia2024-06-15
1032Japan2024-06-13
1033Spain2024-05-20
1034India2024-05-31
1035Brazil2024-06-06
1036United Kingdom2024-06-08
1037Italy2024-06-10
1038Australia2024-05-21
1039Japan2024-06-11
1040Russia2024-05-24
1041Canada2024-06-05
1042United Kingdom2024-06-13
1043Canada2024-05-27
1044Germany2024-06-02
1045Spain2024-05-25
1046Italy2024-06-16
1047Argentina2024-05-28
1048France2024-05-21
1049Japan2024-06-14

On-Demand Data

NameIdCountryDate
Claire S Malet1000France2024-06-14
Ashley P Glick1001Brazil2024-06-09
Mujtaba W Perin1002Australia2024-06-01
Wickens B Perin1003France2024-05-30
Rodrigues F Marrier1004Italy2024-05-30
Sinclair M Vocelka1005Argentina2024-06-15
Salvatore R Kolmetz1006Japan2024-05-24
Julie I Kusko1007Spain2024-05-23
Aruna D Maclead1008Italy2024-06-12
Jennifer Y Whobrey1009Spain2024-06-11
Maria V Marrier1010Australia2024-06-17
Silvio G Slusarski1011France2024-06-16
Rodrigues T Butt1012France2024-05-29
David G Flosi1013United Kingdom2024-05-24
Leja X Kusko1014France2024-05-26
Deepesh T Kolmetz1015Germany2024-06-09
Ivar Q Malet1016Canada2024-05-23
Maisha Y Rulapaugh1017Spain2024-06-16
Salvatore L Rim1018Russia2024-05-26
Murillo D Caldarera1019Japan2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro E DarakjySpainOnyama Limba RENEWAL
Munro N SergiIndiaOnyama Limba PROPOSAL
Ricardo D ButtIndiaIoni Bowcher PROPOSAL
Johnson E NickaBrazilXuxue Feng NEW
Misaki G CaldareraCanadaAnna Fali NEGOTIATION
Maisha K VenereJapanAnna Fali NEW
Mujtaba U CaldareraBrazilAsiya Javayant NEGOTIATION
Octavia W FlosiArgentinaAnna Fali UNQUALIFIED
Darci J GauchoArgentinaStephen Shaw QUALIFIED
Ricardo K SergiBrazilStephen Shaw QUALIFIED
Maria M AmigonBrazilIvan Magalhaes QUALIFIED
Johnson G NestleFranceIvan Magalhaes UNQUALIFIED
Cody E MaletSpainXuxue Feng RENEWAL
Deepesh M RimJapanXuxue Feng QUALIFIED
Octavia C GauchoBrazilOnyama Limba QUALIFIED
Darci K SaylorsCanadaAmy Elsner RENEWAL
Deepesh T KolmetzRussiaAnna Fali NEGOTIATION
Isabel S TollnerBrazilXuxue Feng NEGOTIATION
Ricardo S SergiArgentinaIoni Bowcher PROPOSAL
Rodrigues L NickaFranceStephen Shaw RENEWAL
Smith C GlickCanadaIvan Magalhaes UNQUALIFIED
Murillo B VocelkaUnited KingdomAmy Elsner NEGOTIATION
Antonio D SlusarskiCanadaAnna Fali NEW
Julie R IturbideAustraliaXuxue Feng RENEWAL
Maisha N GauchoAustraliaXuxue Feng NEW
Juan S RimArgentinaIoni Bowcher NEW
Maisha R WhobreyGermanyIvan Magalhaes PROPOSAL
Kadeem F MarrierJapanOnyama Limba QUALIFIED
Ashley K FerenczAustraliaStephen Shaw RENEWAL
Tony V RutaAustraliaIvan Magalhaes NEW
Darci S OldroydJapanIoni Bowcher PROPOSAL
Maria G GarufiAustraliaAmy Elsner RENEWAL
Stacey M BologniaJapanAnna Fali NEGOTIATION
Leja D MarrierFranceAnna Fali RENEWAL
Smith H FollerGermanyElwin Sharvill PROPOSAL
Mayumi Z IturbideBrazilIvan Magalhaes QUALIFIED
Adams H RutaCanadaAnna Fali PROPOSAL
Jeanfrancois V GauchoSpainAnna Fali NEW
Jennifer K GarufiGermanyXuxue Feng NEGOTIATION
Smith K NestleSpainStephen Shaw 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>