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
Costa J CampainFranceIvan Magalhaes QUALIFIED
Aika K WieserArgentinaAsiya Javayant NEW
Clifford L FigeroaAustraliaElwin Sharvill QUALIFIED
Julie X AlbaresUnited KingdomElwin Sharvill PROPOSAL
Jefferson D RoysterJapanAmy Elsner RENEWAL
Mayumi X StensethGermanyAnna Fali QUALIFIED
Maisha R MorascaItalyAmy Elsner QUALIFIED
Juan W ButtAustraliaXuxue Feng NEW
Ricardo L SlusarskiAustraliaIvan Magalhaes PROPOSAL
Ashley D SlusarskiFranceIvan Magalhaes NEGOTIATION
Munro M CaldareraCanadaIvan Magalhaes NEGOTIATION
Adams U PerinFranceOnyama Limba NEW
Faith N InouyeArgentinaBernardo Dominic NEGOTIATION
Nicolas A PoquetteIndiaAnna Fali NEGOTIATION
Kadeem B WaycottIndiaIvan Magalhaes NEW
Kaitlin C ButtGermanyAsiya Javayant QUALIFIED
Rodrigues A SlusarskiIndiaOnyama Limba PROPOSAL
Adams J RoysterJapanXuxue Feng PROPOSAL
Stacey G GauchoBrazilStephen Shaw RENEWAL
Rodrigues T KuskoUnited KingdomAsiya Javayant NEW
Juan I MorascaArgentinaIoni Bowcher RENEWAL
Juan F CaldareraRussiaStephen Shaw PROPOSAL
Tony S VocelkaUnited KingdomStephen Shaw QUALIFIED
Aruna T FerenczFranceAnna Fali QUALIFIED
Nicolas K BowleyRussiaIvan Magalhaes NEGOTIATION
Aruna E RimFranceElwin Sharvill NEW
Johnson T NickaJapanStephen Shaw PROPOSAL
Faith V TollnerAustraliaStephen Shaw QUALIFIED
Darci U CaudyFranceIoni Bowcher NEGOTIATION
Sinclair D MarrierGermanyXuxue Feng NEGOTIATION
Francesco G MaletRussiaAmy Elsner RENEWAL
Leja D SaylorsGermanyAnna Fali QUALIFIED
Aditya A MarrierFranceOnyama Limba UNQUALIFIED
Emily P VenereBrazilXuxue Feng NEGOTIATION
James X FerenczSpainAnna Fali NEW
Smith R PoquetteJapanIoni Bowcher UNQUALIFIED
Kadeem S PerinUnited KingdomStephen Shaw NEGOTIATION
Kaitlin N DilliardRussiaAsiya Javayant RENEWAL
Julie E ShinkoRussiaAsiya Javayant RENEWAL
Murillo Q KolmetzCanadaStephen Shaw RENEWAL
Stacey P CampainArgentinaAmy Elsner NEGOTIATION
Emily F BowleyIndiaOnyama Limba UNQUALIFIED
Mayumi H GarufiSpainElwin Sharvill UNQUALIFIED
Costa N RutaCanadaStephen Shaw RENEWAL
Murillo I ChuiIndiaAnna Fali NEGOTIATION
Jeanfrancois A WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Arvin B AlbaresIndiaXuxue Feng NEW
Alejandro K VenereFranceStephen Shaw UNQUALIFIED
Costa H RoysterUnited KingdomAnna Fali UNQUALIFIED
Arvin R DilliardSpainAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio H FerenczJapanOnyama Limba NEGOTIATION
Aruna C OstroskyBrazilAsiya Javayant RENEWAL
Izzy H KuskoIndiaAsiya Javayant NEW
Ashley J FigeroaGermanyXuxue Feng QUALIFIED
Arvin O StockhamIndiaStephen Shaw QUALIFIED
David S GillianFranceAnna Fali NEGOTIATION
Chavez Z ButtRussiaXuxue Feng NEGOTIATION
Tony E DilliardGermanyOnyama Limba NEGOTIATION
Nicolas N ChuiAustraliaElwin Sharvill QUALIFIED
Juan I MacleadItalyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford Z IturbideGermany2024-06-21Rousseaux, Michael Esq NEGOTIATION50Asiya Javayant
1001Cody F SergiFrance2024-06-18Rangoni Of Florence RENEWAL3Anna Fali
1002Adams F NestleArgentina2024-06-04Benton, John B Jr QUALIFIED16Ivan Magalhaes
1003Mujtaba Z AlbaresIndia2024-05-25Truhlar And Truhlar Attys NEW39Xuxue Feng
1004Ivar N GlickGermany2024-05-29Chanay, Jeffrey A Esq NEW79Amy Elsner
1005Nicolas Y KolmetzGermany2024-06-03Dorl, James J Esq NEW49Amy Elsner
1006Deepesh K RoysterGermany2024-06-13Commercial Press NEGOTIATION26Bernardo Dominic
1007Jennifer O AmigonJapan2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED22Bernardo Dominic
1008Jefferson Z GillianSpain2024-05-27Truhlar And Truhlar Attys RENEWAL16Anna Fali
1009Octavia A DoeRussia2024-06-22Rousseaux, Michael Esq UNQUALIFIED43Asiya Javayant
1010Francesco O GauchoItaly2024-06-06Printing Dimensions QUALIFIED21Ioni Bowcher
1011Octavia K ButtSpain2024-06-14Benton, John B Jr UNQUALIFIED44Onyama Limba
1012Costa B SergiArgentina2024-06-04Chapman, Ross E Esq NEW68Amy Elsner
1013Juan P PoquetteJapan2024-06-14Feiner Bros NEW74Onyama Limba
1014Ashley J DoeItaly2024-05-29Rangoni Of Florence NEW12Elwin Sharvill
1015Aika I FigeroaSpain2024-06-22Feltz Printing Service PROPOSAL5Onyama Limba
1016Antonio X GauchoBrazil2024-06-23Feltz Printing Service QUALIFIED99Anna Fali
1017Nicolas O MacleadUnited Kingdom2024-06-12Chapman, Ross E Esq PROPOSAL22Ioni Bowcher
1018Jennifer Q CampainUnited Kingdom2024-06-03Rangoni Of Florence NEGOTIATION77Onyama Limba
1019Juan F VenereIndia2024-06-17Chemel, James L Cpa NEGOTIATION50Xuxue Feng
1020Julie B BowleyItaly2024-06-03Printing Dimensions RENEWAL70Bernardo Dominic
1021Deepesh D SergiRussia2024-06-09Commercial Press NEW80Xuxue Feng
1022Arvin N MacleadFrance2024-06-06Feltz Printing Service QUALIFIED47Anna Fali
1023Octavia G RimJapan2024-06-01Dorl, James J Esq NEGOTIATION22Xuxue Feng
1024Jennifer D PoquetteCanada2024-06-04Chemel, James L Cpa RENEWAL35Amy Elsner
1025Emily U DarakjySpain2024-06-11Printing Dimensions UNQUALIFIED21Onyama Limba
1026Munro M MaletItaly2024-05-26King, Christopher A Esq NEGOTIATION58Asiya Javayant
1027Ricardo S VocelkaBrazil2024-06-14Truhlar And Truhlar Attys UNQUALIFIED98Xuxue Feng
1028Mujtaba O RoysterFrance2024-06-23Commercial Press NEW61Bernardo Dominic
1029Claire R PerinFrance2024-06-06Printing Dimensions UNQUALIFIED91Bernardo Dominic
1030James P FollerAustralia2024-06-13Buckley Miller Wright UNQUALIFIED17Amy Elsner
1031Jeanfrancois F TollnerArgentina2024-06-21Truhlar And Truhlar Attys NEW27Bernardo Dominic
1032Maisha R StockhamSpain2024-05-30Truhlar And Truhlar Attys RENEWAL3Xuxue Feng
1033Smith F PaprockiArgentina2024-06-08Benton, John B Jr RENEWAL71Anna Fali
1034Ashley F OstroskyIndia2024-06-02Truhlar And Truhlar Attys QUALIFIED72Elwin Sharvill
1035Maisha M MorascaIndia2024-05-26Morlong Associates PROPOSAL78Ivan Magalhaes
1036Claire O CaudyGermany2024-06-09Feiner Bros NEW2Bernardo Dominic
1037Claire W InouyeGermany2024-06-18Truhlar And Truhlar Attys PROPOSAL2Xuxue Feng
1038Jefferson V KolmetzBrazil2024-06-10King, Christopher A Esq RENEWAL15Bernardo Dominic
1039Salvatore T GarufiFrance2024-06-18Chapman, Ross E Esq NEGOTIATION24Onyama Limba
1040Deepesh H GarufiJapan2024-06-14Morlong Associates NEW36Onyama Limba
1041Mujtaba N AmigonAustralia2024-06-22Truhlar And Truhlar Attys NEW80Anna Fali
1042Stacey R OstroskyCanada2024-06-16Rangoni Of Florence PROPOSAL31Bernardo Dominic
1043David F CaldareraSpain2024-06-21Dorl, James J Esq QUALIFIED61Amy Elsner
1044Maisha R MaletCanada2024-05-30Truhlar And Truhlar Attys UNQUALIFIED66Anna Fali
1045Mayumi Y BologniaFrance2024-05-25Chanay, Jeffrey A Esq PROPOSAL21Xuxue Feng
1046Alejandro D DilliardFrance2024-05-29Chemel, James L Cpa RENEWAL83Ioni Bowcher
1047Julie B FollerBrazil2024-06-15Chemel, James L Cpa NEGOTIATION5Onyama Limba
1048Ricardo I MacleadRussia2024-06-10Rangoni Of Florence NEGOTIATION32Onyama Limba
1049Juan I IturbideCanada2024-06-06Chemel, James L Cpa UNQUALIFIED9Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
David R PoquetteCanadaOnyama Limba UNQUALIFIED
Leja S KuskoFranceElwin Sharvill UNQUALIFIED
Wickens Y WieserAustraliaOnyama Limba PROPOSAL
Maisha X SlusarskiBrazilAsiya Javayant NEW
Deepesh G ChuiFranceXuxue Feng NEGOTIATION
Alejandro C SaylorsCanadaOnyama Limba UNQUALIFIED
Salvatore T KuskoSpainAnna Fali NEW
Salvatore D FerenczItalyIvan Magalhaes RENEWAL
Deepesh J OstroskyCanadaElwin Sharvill RENEWAL
Deepesh X OstroskyIndiaIoni Bowcher PROPOSAL
Octavia C ButtItalyXuxue Feng UNQUALIFIED
Kaitlin F CaudyUnited KingdomXuxue Feng NEGOTIATION
Chavez L KuskoItalyXuxue Feng NEGOTIATION
Aruna P FerenczAustraliaElwin Sharvill PROPOSAL
Munro F BowleySpainAmy Elsner QUALIFIED
Costa E PoquetteUnited KingdomAsiya Javayant PROPOSAL
Leon G GlickBrazilAsiya Javayant PROPOSAL
Leja B GlickUnited KingdomAmy Elsner QUALIFIED
Kadeem H FlosiJapanXuxue Feng QUALIFIED
Rodrigues K MacleadJapanIoni Bowcher NEGOTIATION
Claire M DoeGermanyAnna Fali QUALIFIED
Munro Q AlbaresRussiaAsiya Javayant NEGOTIATION
Leja I FollerBrazilBernardo Dominic NEW
Stacey N KolmetzGermanyOnyama Limba NEW
Aika I SlusarskiIndiaIvan Magalhaes PROPOSAL
Leon A InouyeArgentinaXuxue Feng UNQUALIFIED
Kadeem L DarakjyIndiaElwin Sharvill RENEWAL
Leja R AlbaresJapanIoni Bowcher NEW
Johnson K DarakjyGermanyIvan Magalhaes RENEWAL
Alejandro U NestleUnited KingdomAsiya Javayant UNQUALIFIED
Stacey U VocelkaJapanBernardo Dominic RENEWAL
Silvio E DilliardItalyOnyama Limba PROPOSAL
Alejandro Q KolmetzJapanIvan Magalhaes QUALIFIED
Kaitlin O SlusarskiFranceElwin Sharvill QUALIFIED
Antonio U FlosiUnited KingdomStephen Shaw RENEWAL
James N GauchoFranceXuxue Feng PROPOSAL
Kaitlin E SchemmerAustraliaOnyama Limba UNQUALIFIED
Maisha Y VocelkaSpainStephen Shaw NEW
Wickens A AmigonGermanyAmy Elsner PROPOSAL
Maisha I VenereCanadaAnna Fali UNQUALIFIED
Arvin I BriddickAustraliaAnna Fali RENEWAL
Cody X BriddickCanadaAmy Elsner UNQUALIFIED
Isabel V ButtArgentinaIvan Magalhaes QUALIFIED
Adams N FlosiGermanyBernardo Dominic UNQUALIFIED
Nicolas S GlickIndiaElwin Sharvill NEW
Nicolas X CaudyBrazilXuxue Feng PROPOSAL
Aika V ButtBrazilAsiya Javayant NEGOTIATION
Cody O GauchoItalyElwin Sharvill NEGOTIATION
James L WieserFranceStephen Shaw UNQUALIFIED
Emily D GarufiArgentinaIvan Magalhaes RENEWAL
Frozen Columns
Name
Smith C Perin
Costa F Ferencz
Chavez J Amigon
Ricardo X Bolognia
Isabel L Gillian
Jeanfrancois E Caldarera
Clifford C Figeroa
Munro Y Vocelka
David Z Nestle
Rodrigues D Stenseth
Greenwood V Ruta
Mujtaba E Garufi
Sinclair C Wieser
Murillo B Sergi
Ricardo N Darakjy
Jennifer D Waycott
Sinclair Z Nicka
Francesco X Doe
Wickens Y Campain
Tony J Venere
Munro M Stockham
Salvatore Z Tollner
Francesco T Tollner
Deepesh V Kolmetz
Clifford O Iturbide
Murillo N Stenseth
Costa O Slusarski
Deepesh U Perin
Rodrigues M Marrier
Julie F Doe
Salvatore I Campain
Greenwood A Marrier
Ivar F Perin
Silvio D Darakjy
Deepesh M Royster
David X Foller
Jefferson M Gaucho
Kadeem B Waycott
Nicolas T Dilliard
Mujtaba V Nestle
Faith G Stenseth
Claire A Inouye
Aika W Caldarera
Julie R Dilliard
Kadeem T Whobrey
Ashley G Perin
Cody X Waycott
Claire S Tollner
Antonio O Bowley
Smith Q Bowley
IdCountryDate
1000Russia2024-06-08
1001Japan2024-06-08
1002United Kingdom2024-05-26
1003Canada2024-06-10
1004Japan2024-06-22
1005France2024-05-27
1006Argentina2024-06-02
1007Germany2024-06-06
1008Canada2024-06-09
1009Germany2024-06-03
1010Germany2024-05-25
1011Italy2024-05-28
1012Spain2024-06-18
1013Brazil2024-06-17
1014Russia2024-05-25
1015Italy2024-06-19
1016Italy2024-06-08
1017Germany2024-06-23
1018Australia2024-05-28
1019Spain2024-06-08
1020Brazil2024-06-11
1021India2024-06-13
1022Germany2024-06-10
1023Spain2024-06-22
1024Canada2024-06-10
1025Russia2024-06-05
1026Australia2024-06-04
1027Canada2024-06-07
1028Germany2024-06-17
1029Australia2024-06-10
1030France2024-05-26
1031Spain2024-05-25
1032United Kingdom2024-06-19
1033India2024-06-17
1034Canada2024-06-17
1035United Kingdom2024-06-20
1036Australia2024-06-07
1037Brazil2024-05-27
1038Spain2024-06-02
1039Japan2024-06-02
1040Japan2024-06-14
1041Canada2024-05-27
1042Argentina2024-06-22
1043Japan2024-06-13
1044France2024-06-10
1045Germany2024-06-11
1046Russia2024-06-11
1047Argentina2024-06-11
1048France2024-06-21
1049Argentina2024-06-20

On-Demand Data

NameIdCountryDate
Aruna C Slusarski1000United Kingdom2024-06-15
Maria N Malet1001Italy2024-06-20
Francesco A Slusarski1002Japan2024-06-19
Izzy H Whobrey1003France2024-06-14
Mayumi X Malet1004Argentina2024-06-11
Darci K Slusarski1005Germany2024-06-19
Salvatore J Oldroyd1006France2024-06-11
Mayumi V Bolognia1007Spain2024-05-27
Nicolas U Figeroa1008Spain2024-06-15
Smith Q Sergi1009Spain2024-06-23
Misaki E Glick1010Russia2024-05-29
Misaki K Bowley1011Australia2024-05-26
Costa K Briddick1012Italy2024-06-15
Claire L Ostrosky1013Spain2024-05-28
Chavez K Perin1014Italy2024-05-26
Sinclair J Dilliard1015United Kingdom2024-06-05
Claire C Flosi1016Germany2024-06-04
Ivar I Gaucho1017France2024-06-17
Maisha S Slusarski1018India2024-06-03
Mujtaba G Figeroa1019Germany2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey K BriddickArgentinaAnna Fali RENEWAL
Adams V AlbaresIndiaStephen Shaw UNQUALIFIED
Morrow R GauchoAustraliaStephen Shaw PROPOSAL
Wickens O BologniaItalyIvan Magalhaes PROPOSAL
Francesco M CaldareraAustraliaStephen Shaw PROPOSAL
Aruna I IturbideBrazilAsiya Javayant UNQUALIFIED
Deepesh T WieserIndiaIoni Bowcher PROPOSAL
Salvatore Q StockhamArgentinaAmy Elsner RENEWAL
Jefferson Q MaletRussiaOnyama Limba QUALIFIED
Ricardo K WieserFranceXuxue Feng PROPOSAL
James I GillianAustraliaAmy Elsner QUALIFIED
Adams K MaletJapanElwin Sharvill RENEWAL
Darci S RutaGermanyIvan Magalhaes UNQUALIFIED
Wickens M DarakjyCanadaBernardo Dominic UNQUALIFIED
Wickens T WieserRussiaElwin Sharvill NEW
Ashley T ButtItalyOnyama Limba QUALIFIED
Smith U CaldareraCanadaAmy Elsner QUALIFIED
Octavia L InouyeUnited KingdomAsiya Javayant NEW
Misaki A GlickRussiaAsiya Javayant PROPOSAL
Greenwood M CaldareraCanadaAsiya Javayant RENEWAL
David T AmigonArgentinaXuxue Feng NEW
Adams A ButtJapanStephen Shaw UNQUALIFIED
Juan W IturbideJapanAmy Elsner QUALIFIED
Wickens K RimSpainIvan Magalhaes NEW
Aditya N CampainSpainIvan Magalhaes NEW
Aika W IturbideArgentinaAsiya Javayant QUALIFIED
Ashley G GillianFranceBernardo Dominic UNQUALIFIED
Aruna J MaletSpainIvan Magalhaes UNQUALIFIED
Arvin Q RulapaughSpainIoni Bowcher NEW
Ricardo N PaprockiItalyIvan Magalhaes NEW
Tony Y FerenczItalyOnyama Limba UNQUALIFIED
Arvin R TollnerUnited KingdomIvan Magalhaes PROPOSAL
Stacey V MaletIndiaAmy Elsner RENEWAL
Isabel Z CaldareraJapanAsiya Javayant NEGOTIATION
Jefferson T AmigonJapanIoni Bowcher PROPOSAL
Jeanfrancois G SlusarskiUnited KingdomAmy Elsner RENEWAL
Aika F ChuiCanadaOnyama Limba NEGOTIATION
James F KolmetzFranceAmy Elsner RENEWAL
Jeanfrancois U GillianAustraliaAsiya Javayant NEGOTIATION
Smith Y FollerCanadaStephen 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>