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
Cody D MarrierItalyAmy Elsner NEGOTIATION
Jefferson W WieserBrazilElwin Sharvill NEW
Adams H BowleyArgentinaBernardo Dominic QUALIFIED
Munro S StensethAustraliaXuxue Feng NEGOTIATION
Aruna A BologniaArgentinaAmy Elsner NEW
Morrow E AmigonCanadaBernardo Dominic UNQUALIFIED
Leja O PoquetteSpainElwin Sharvill RENEWAL
Smith L RutaCanadaAmy Elsner NEW
Jefferson A BriddickAustraliaXuxue Feng UNQUALIFIED
Aika F NestleGermanyStephen Shaw UNQUALIFIED
Deepesh G SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Arvin K VocelkaBrazilOnyama Limba UNQUALIFIED
Juan P PoquetteGermanyElwin Sharvill PROPOSAL
Mayumi P DoeUnited KingdomXuxue Feng NEW
Rodrigues E GlickGermanyElwin Sharvill NEGOTIATION
Isabel I RimBrazilAmy Elsner RENEWAL
Wickens G KolmetzGermanyIvan Magalhaes NEGOTIATION
Maisha Z WaycottItalyIvan Magalhaes QUALIFIED
Mayumi E OldroydSpainIoni Bowcher UNQUALIFIED
Izzy K KolmetzItalyOnyama Limba NEW
Adams C NickaCanadaIoni Bowcher NEW
Chavez M StensethSpainElwin Sharvill PROPOSAL
Alejandro Q PaprockiSpainAmy Elsner QUALIFIED
Maria Z RoysterFranceOnyama Limba NEW
Tony C DoeGermanyAsiya Javayant QUALIFIED
Isabel B CaudyJapanIoni Bowcher PROPOSAL
David Z ButtGermanyIvan Magalhaes NEW
Ricardo C CaldareraCanadaOnyama Limba PROPOSAL
Juan W KolmetzJapanAnna Fali UNQUALIFIED
Aditya R VocelkaItalyIoni Bowcher NEW
Claire N ShinkoSpainOnyama Limba UNQUALIFIED
Jeanfrancois M SergiAustraliaOnyama Limba RENEWAL
Mayumi R DoeIndiaElwin Sharvill QUALIFIED
Deepesh G SergiSpainIvan Magalhaes UNQUALIFIED
Aditya T VocelkaAustraliaIvan Magalhaes QUALIFIED
Leja U BologniaItalyAnna Fali NEGOTIATION
Misaki I MaletBrazilStephen Shaw RENEWAL
Isabel E CaldareraGermanyElwin Sharvill NEW
David B GlickSpainBernardo Dominic QUALIFIED
Chavez R FollerRussiaAnna Fali NEGOTIATION
Chavez C NickaCanadaElwin Sharvill PROPOSAL
Mujtaba U NestleArgentinaStephen Shaw PROPOSAL
Kaitlin E MaletArgentinaAnna Fali QUALIFIED
Jennifer B CaldareraBrazilAsiya Javayant NEW
Kaitlin F DilliardRussiaAnna Fali RENEWAL
Cody E StockhamUnited KingdomAmy Elsner PROPOSAL
Claire K CaldareraAustraliaIvan Magalhaes UNQUALIFIED
Murillo O GillianCanadaAsiya Javayant NEW
Jefferson E GarufiAustraliaIoni Bowcher RENEWAL
Julie P CampainJapanStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow I AmigonJapanXuxue Feng UNQUALIFIED
Alejandro Z BologniaUnited KingdomIvan Magalhaes QUALIFIED
Juan J FollerSpainElwin Sharvill NEW
Jefferson W RulapaughCanadaAnna Fali UNQUALIFIED
Tony D BriddickArgentinaAnna Fali NEW
Aditya L ChuiIndiaBernardo Dominic NEGOTIATION
Johnson N MaletSpainAmy Elsner QUALIFIED
Octavia O DarakjyUnited KingdomIoni Bowcher PROPOSAL
Darci L RimFranceBernardo Dominic QUALIFIED
Kaitlin F BologniaJapanAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford K GauchoRussia2024-05-20Chemel, James L Cpa PROPOSAL24Ioni Bowcher
1001Kadeem Q IturbideIndia2024-05-26Rangoni Of Florence NEGOTIATION72Elwin Sharvill
1002Izzy H SlusarskiArgentina2024-06-16Chemel, James L Cpa PROPOSAL93Ivan Magalhaes
1003Ivar H GarufiSpain2024-06-06Chanay, Jeffrey A Esq QUALIFIED61Asiya Javayant
1004Greenwood I VenereArgentina2024-05-20Chanay, Jeffrey A Esq PROPOSAL44Ivan Magalhaes
1005Alejandro R VenereCanada2024-06-06Benton, John B Jr NEW44Bernardo Dominic
1006James C VocelkaBrazil2024-05-22Truhlar And Truhlar Attys UNQUALIFIED1Elwin Sharvill
1007Claire S OstroskyIndia2024-06-02Benton, John B Jr NEGOTIATION52Ivan Magalhaes
1008Arvin W SlusarskiRussia2024-06-06Chanay, Jeffrey A Esq NEGOTIATION99Asiya Javayant
1009Faith T KuskoUnited Kingdom2024-06-13Printing Dimensions RENEWAL32Stephen Shaw
1010Silvio C IturbideItaly2024-06-08King, Christopher A Esq RENEWAL43Ivan Magalhaes
1011Ivar C GillianAustralia2024-06-10Benton, John B Jr NEW12Ioni Bowcher
1012Claire K FlosiUnited Kingdom2024-05-22Chapman, Ross E Esq NEGOTIATION32Elwin Sharvill
1013Juan S GlickItaly2024-06-05Feltz Printing Service NEW81Anna Fali
1014Maisha P ButtJapan2024-06-17Dorl, James J Esq RENEWAL79Amy Elsner
1015David Q ChuiJapan2024-06-02Commercial Press NEGOTIATION48Ioni Bowcher
1016Maria H CampainUnited Kingdom2024-06-10Dorl, James J Esq PROPOSAL19Asiya Javayant
1017Aruna R DoeBrazil2024-06-06Chemel, James L Cpa QUALIFIED13Onyama Limba
1018Kaitlin W SaylorsItaly2024-06-02Chanay, Jeffrey A Esq RENEWAL60Amy Elsner
1019Wickens A InouyeAustralia2024-06-13Chapman, Ross E Esq QUALIFIED24Xuxue Feng
1020Mayumi I GillianFrance2024-06-13Printing Dimensions NEGOTIATION74Elwin Sharvill
1021Ricardo I RulapaughItaly2024-05-20Printing Dimensions NEW5Anna Fali
1022Adams V InouyeSpain2024-05-20Benton, John B Jr QUALIFIED13Onyama Limba
1023Nicolas B SergiRussia2024-05-30Truhlar And Truhlar Attys UNQUALIFIED96Onyama Limba
1024Alejandro Y CaldareraBrazil2024-06-01Commercial Press UNQUALIFIED41Ivan Magalhaes
1025Aditya O FollerArgentina2024-05-30Morlong Associates PROPOSAL34Amy Elsner
1026Silvio B SaylorsGermany2024-06-10Printing Dimensions NEGOTIATION63Ivan Magalhaes
1027James T GauchoCanada2024-05-31Feiner Bros RENEWAL7Asiya Javayant
1028Aditya N NestleBrazil2024-05-26Chanay, Jeffrey A Esq NEGOTIATION86Stephen Shaw
1029Faith O AlbaresFrance2024-05-25Chemel, James L Cpa RENEWAL5Asiya Javayant
1030Clifford D GarufiRussia2024-06-12Dorl, James J Esq QUALIFIED50Onyama Limba
1031Emily O MaletRussia2024-06-16King, Christopher A Esq RENEWAL50Amy Elsner
1032Maisha F InouyeGermany2024-05-25Feltz Printing Service UNQUALIFIED44Onyama Limba
1033Greenwood K VenereGermany2024-06-18Rousseaux, Michael Esq PROPOSAL42Anna Fali
1034Jennifer F FollerCanada2024-06-17Chemel, James L Cpa NEGOTIATION16Amy Elsner
1035Francesco G RulapaughArgentina2024-06-08Benton, John B Jr QUALIFIED16Ivan Magalhaes
1036Sinclair K CampainBrazil2024-06-09Chapman, Ross E Esq NEW67Elwin Sharvill
1037Jefferson O MacleadJapan2024-05-26Dorl, James J Esq UNQUALIFIED35Asiya Javayant
1038Tony A PaprockiRussia2024-06-04Printing Dimensions NEW49Onyama Limba
1039Jeanfrancois P KuskoSpain2024-06-10Truhlar And Truhlar Attys QUALIFIED94Stephen Shaw
1040Kaitlin D GlickGermany2024-05-23Chapman, Ross E Esq PROPOSAL76Xuxue Feng
1041Kadeem F GlickAustralia2024-06-09Feltz Printing Service NEW51Anna Fali
1042Misaki S VocelkaUnited Kingdom2024-05-30Benton, John B Jr RENEWAL36Xuxue Feng
1043Smith P RoysterIndia2024-05-28Printing Dimensions NEGOTIATION5Asiya Javayant
1044Salvatore S FollerIndia2024-06-09Rousseaux, Michael Esq NEGOTIATION99Ioni Bowcher
1045Faith M SaylorsCanada2024-06-04Feiner Bros QUALIFIED78Asiya Javayant
1046Jones T OldroydIndia2024-06-04Truhlar And Truhlar Attys RENEWAL27Ivan Magalhaes
1047Arvin V WaycottSpain2024-05-28Rousseaux, Michael Esq RENEWAL94Anna Fali
1048Julie O CaudyBrazil2024-06-18Commercial Press QUALIFIED79Anna Fali
1049Munro R GlickArgentina2024-06-04Commercial Press NEW39Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Greenwood U MaletUnited KingdomElwin Sharvill NEGOTIATION
Alejandro D OstroskyIndiaElwin Sharvill NEGOTIATION
Julie L FlosiGermanyIoni Bowcher NEGOTIATION
Aditya S OstroskyFranceElwin Sharvill RENEWAL
Murillo A CaudyBrazilXuxue Feng NEW
Aika Y NickaAustraliaIoni Bowcher NEGOTIATION
Nicolas D PerinItalyXuxue Feng QUALIFIED
Kaitlin G MaletBrazilIoni Bowcher PROPOSAL
Aika H DarakjyGermanyAmy Elsner NEW
Jennifer Q WhobreyIndiaOnyama Limba UNQUALIFIED
Maria G TollnerIndiaOnyama Limba QUALIFIED
Juan K MarrierItalyAmy Elsner UNQUALIFIED
Wickens N SergiRussiaIoni Bowcher PROPOSAL
Kadeem F StockhamIndiaIvan Magalhaes PROPOSAL
Faith O RimGermanyIoni Bowcher NEW
Julie L GlickFranceXuxue Feng NEGOTIATION
Greenwood O MacleadBrazilAmy Elsner PROPOSAL
Aruna D WaycottItalyIvan Magalhaes UNQUALIFIED
Octavia S CaudyFranceElwin Sharvill RENEWAL
Misaki R FollerCanadaStephen Shaw UNQUALIFIED
Arvin O ChuiIndiaAmy Elsner UNQUALIFIED
Maisha R OldroydIndiaAmy Elsner QUALIFIED
Johnson R KuskoArgentinaAmy Elsner NEW
Leon G KuskoAustraliaBernardo Dominic UNQUALIFIED
Wickens V DoeFranceXuxue Feng NEGOTIATION
Greenwood K KolmetzItalyAnna Fali QUALIFIED
Ivar S SaylorsJapanIvan Magalhaes RENEWAL
Octavia X DilliardArgentinaOnyama Limba QUALIFIED
Juan Y CaldareraBrazilAsiya Javayant PROPOSAL
Ricardo W MorascaIndiaElwin Sharvill NEGOTIATION
David R GauchoGermanyStephen Shaw NEW
Smith K RutaGermanyStephen Shaw PROPOSAL
Izzy G MaletFranceAmy Elsner NEW
Cody J FigeroaFranceElwin Sharvill UNQUALIFIED
David A PaprockiSpainIvan Magalhaes UNQUALIFIED
Rodrigues R MaletBrazilOnyama Limba UNQUALIFIED
Leja Z VocelkaAustraliaStephen Shaw PROPOSAL
Deepesh S AlbaresAustraliaXuxue Feng UNQUALIFIED
Arvin H MaletAustraliaIoni Bowcher RENEWAL
Juan I RutaUnited KingdomAmy Elsner RENEWAL
Misaki V PerinRussiaXuxue Feng NEGOTIATION
Jennifer W ShinkoSpainBernardo Dominic PROPOSAL
Ivar X SaylorsJapanElwin Sharvill RENEWAL
Maria W BriddickBrazilOnyama Limba RENEWAL
Francesco D StensethBrazilIoni Bowcher RENEWAL
Johnson B CampainFranceAnna Fali NEGOTIATION
Octavia P MarrierRussiaAmy Elsner RENEWAL
Octavia T VenereGermanyIoni Bowcher QUALIFIED
Mujtaba M DilliardFranceAmy Elsner NEGOTIATION
Ashley X MacleadGermanyStephen Shaw PROPOSAL
Frozen Columns
Name
Ivar L Royster
Jennifer D Butt
Aruna Q Glick
Clifford P Gaucho
Julie S Kolmetz
Ashley R Doe
Antonio Y Slusarski
Chavez T Butt
Juan D Doe
Misaki R Gillian
Ashley T Morasca
Rodrigues N Wieser
James U Slusarski
Antonio I Vocelka
Clifford V Chui
Morrow I Malet
Salvatore H Kusko
Sinclair E Poquette
Nicolas V Vocelka
Leja V Bowley
Morrow Y Rim
Maisha R Figeroa
Francesco N Caudy
Kadeem K Tollner
Izzy C Nestle
Sinclair L Ruta
Kadeem P Malet
Clifford Q Whobrey
Ashley L Flosi
Julie S Gillian
Leon I Rim
Izzy O Stockham
Jeanfrancois C Vocelka
Maisha M Gillian
Wickens W Gillian
Greenwood T Saylors
Antonio G Caudy
Aditya L Albares
Smith M Chui
Aruna W Paprocki
Kadeem B Albares
Munro G Figeroa
Tony K Gaucho
Kaitlin O Malet
Munro K Morasca
Johnson Q Sergi
Arvin Y Nestle
Arvin V Whobrey
Juan F Iturbide
Salvatore L Saylors
IdCountryDate
1000Japan2024-06-03
1001Brazil2024-05-25
1002Argentina2024-05-31
1003Canada2024-06-18
1004Russia2024-06-10
1005Spain2024-06-09
1006Italy2024-06-14
1007Germany2024-06-04
1008Spain2024-06-17
1009Australia2024-05-23
1010France2024-06-03
1011Australia2024-06-13
1012France2024-05-29
1013United Kingdom2024-06-03
1014Germany2024-06-03
1015Russia2024-06-05
1016Brazil2024-05-31
1017United Kingdom2024-06-07
1018Canada2024-05-31
1019Germany2024-05-20
1020Argentina2024-06-16
1021United Kingdom2024-06-11
1022Japan2024-06-11
1023Australia2024-06-12
1024Germany2024-06-09
1025Japan2024-05-25
1026Japan2024-05-23
1027Canada2024-06-06
1028Brazil2024-05-22
1029Russia2024-06-02
1030Australia2024-06-12
1031Brazil2024-05-21
1032India2024-06-03
1033Argentina2024-06-17
1034United Kingdom2024-05-30
1035Canada2024-06-10
1036Argentina2024-06-01
1037Italy2024-06-15
1038Argentina2024-05-29
1039Spain2024-06-16
1040United Kingdom2024-06-10
1041Argentina2024-05-24
1042Australia2024-06-17
1043India2024-05-30
1044Argentina2024-05-25
1045Canada2024-06-07
1046Germany2024-06-12
1047Germany2024-05-31
1048India2024-06-08
1049Germany2024-06-11

On-Demand Data

NameIdCountryDate
Mayumi F Vocelka1000Argentina2024-06-11
Aruna H Dilliard1001Argentina2024-06-12
Alejandro D Rim1002Spain2024-06-12
Deepesh E Wieser1003Canada2024-05-31
Aika V Poquette1004Italy2024-06-07
Sinclair J Briddick1005Italy2024-05-27
Leja N Briddick1006Italy2024-05-27
Murillo T Schemmer1007Russia2024-06-16
Arvin L Foller1008Argentina2024-06-17
Sinclair G Tollner1009United Kingdom2024-05-29
Johnson G Garufi1010United Kingdom2024-06-03
Rodrigues U Stenseth1011Australia2024-06-15
Ricardo C Chui1012Japan2024-06-04
Nicolas G Chui1013Japan2024-05-25
Aditya O Doe1014Argentina2024-05-24
Jeanfrancois N Stenseth1015Canada2024-06-13
Morrow Y Rim1016France2024-05-27
Smith J Oldroyd1017Spain2024-05-20
David E Ostrosky1018Spain2024-05-24
Rodrigues S Rim1019Argentina2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony W FollerGermanyBernardo Dominic QUALIFIED
Rodrigues L FollerJapanAsiya Javayant NEGOTIATION
Murillo N StensethIndiaBernardo Dominic PROPOSAL
Aditya P OstroskyFranceBernardo Dominic NEGOTIATION
Izzy K WaycottItalyElwin Sharvill RENEWAL
Misaki M KolmetzFranceBernardo Dominic UNQUALIFIED
Alejandro R RutaCanadaAnna Fali PROPOSAL
Faith A OstroskyArgentinaAnna Fali PROPOSAL
James Q TollnerJapanAmy Elsner NEW
Mayumi F GarufiFranceIoni Bowcher QUALIFIED
Smith C FerenczAustraliaIoni Bowcher NEGOTIATION
Chavez A IturbideFranceStephen Shaw PROPOSAL
Adams Z GillianBrazilIoni Bowcher NEW
Misaki V StockhamSpainIvan Magalhaes NEW
Julie H CaldareraGermanyElwin Sharvill QUALIFIED
Cody Q BriddickJapanAmy Elsner QUALIFIED
Jennifer C GillianFranceAsiya Javayant PROPOSAL
Arvin V WieserFranceAsiya Javayant NEW
Kadeem A GlickArgentinaElwin Sharvill UNQUALIFIED
Maria G DoeAustraliaBernardo Dominic PROPOSAL
Nicolas E StensethAustraliaElwin Sharvill NEW
James U SaylorsIndiaElwin Sharvill QUALIFIED
Jennifer F GlickRussiaOnyama Limba RENEWAL
Smith D GarufiArgentinaStephen Shaw RENEWAL
Darci N AmigonGermanyStephen Shaw PROPOSAL
Maria D SlusarskiJapanBernardo Dominic UNQUALIFIED
Aruna Z RoysterItalyBernardo Dominic UNQUALIFIED
Kaitlin H BologniaBrazilAnna Fali QUALIFIED
Maria L NestleArgentinaAsiya Javayant PROPOSAL
Clifford U DilliardBrazilXuxue Feng RENEWAL
Leja V GauchoGermanyStephen Shaw QUALIFIED
Arvin J PaprockiRussiaXuxue Feng PROPOSAL
Munro T MorascaRussiaElwin Sharvill NEW
Morrow L PaprockiFranceIvan Magalhaes RENEWAL
Jeanfrancois C VocelkaAustraliaElwin Sharvill NEGOTIATION
Chavez E FollerIndiaAsiya Javayant QUALIFIED
Nicolas B CampainJapanIoni Bowcher NEW
Mujtaba N GillianArgentinaAnna Fali RENEWAL
David F MorascaGermanyAmy Elsner RENEWAL
Nicolas F GarufiItalyAnna Fali 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>