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 K KuskoItalyAmy Elsner QUALIFIED
Julie A OldroydRussiaAmy Elsner RENEWAL
Adams B GillianArgentinaAnna Fali NEW
Ashley V WaycottGermanyIoni Bowcher QUALIFIED
Ivar H PoquetteGermanyIvan Magalhaes QUALIFIED
Salvatore Y TollnerBrazilAsiya Javayant NEW
Smith W VenereRussiaXuxue Feng NEGOTIATION
Chavez X SchemmerArgentinaElwin Sharvill NEW
Julie G ChuiRussiaOnyama Limba NEGOTIATION
Leja S MaletCanadaAnna Fali UNQUALIFIED
Wickens M StockhamArgentinaOnyama Limba UNQUALIFIED
Aditya T RimUnited KingdomIvan Magalhaes NEW
Isabel A PerinItalyStephen Shaw RENEWAL
Maisha M FlosiSpainStephen Shaw UNQUALIFIED
Smith A GauchoIndiaAsiya Javayant QUALIFIED
Octavia C MarrierRussiaStephen Shaw PROPOSAL
Ashley N BologniaCanadaStephen Shaw RENEWAL
Jefferson B GlickFranceAsiya Javayant NEW
Murillo D BologniaUnited KingdomAmy Elsner RENEWAL
Ivar O RutaSpainElwin Sharvill PROPOSAL
Mujtaba C GauchoSpainIoni Bowcher UNQUALIFIED
Julie T OldroydIndiaElwin Sharvill QUALIFIED
Greenwood S NestleSpainIvan Magalhaes UNQUALIFIED
Costa L OldroydSpainIoni Bowcher NEW
Maria J GarufiAustraliaStephen Shaw NEGOTIATION
Arvin K MaletUnited KingdomAmy Elsner NEW
Leja J SaylorsCanadaAnna Fali PROPOSAL
Munro M AmigonIndiaElwin Sharvill NEGOTIATION
Aika Q MarrierRussiaXuxue Feng NEGOTIATION
Misaki N RulapaughIndiaStephen Shaw QUALIFIED
Chavez T InouyeUnited KingdomIvan Magalhaes QUALIFIED
Maisha W OstroskyFranceAmy Elsner PROPOSAL
Emily K AmigonCanadaElwin Sharvill NEGOTIATION
Munro B VocelkaRussiaIoni Bowcher NEW
Izzy B VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba Q NickaItalyAsiya Javayant NEGOTIATION
Emily L SlusarskiRussiaIoni Bowcher RENEWAL
James Z InouyeArgentinaAsiya Javayant PROPOSAL
Juan S FollerUnited KingdomXuxue Feng PROPOSAL
Emily E PoquetteGermanyAmy Elsner NEGOTIATION
Salvatore M RoysterUnited KingdomAsiya Javayant QUALIFIED
Stacey S SaylorsFranceStephen Shaw QUALIFIED
Faith V IturbideArgentinaStephen Shaw PROPOSAL
Mayumi J PoquetteSpainIoni Bowcher NEW
Arvin W NickaBrazilXuxue Feng PROPOSAL
Isabel D WaycottGermanyBernardo Dominic PROPOSAL
Jones H RoysterArgentinaXuxue Feng UNQUALIFIED
Isabel C OstroskyUnited KingdomBernardo Dominic RENEWAL
James V NickaCanadaBernardo Dominic UNQUALIFIED
Aika C OldroydFranceOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony L BriddickFranceOnyama Limba QUALIFIED
Antonio F ButtItalyStephen Shaw NEW
Adams Q WieserBrazilAmy Elsner UNQUALIFIED
Ricardo H ChuiJapanIoni Bowcher NEW
Tony G MaletRussiaIvan Magalhaes UNQUALIFIED
Aika N GillianAustraliaOnyama Limba QUALIFIED
Jones I IturbideIndiaAnna Fali NEGOTIATION
Munro R TollnerSpainXuxue Feng UNQUALIFIED
Silvio P PoquetteSpainXuxue Feng NEGOTIATION
Chavez B MacleadBrazilIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja R ButtUnited Kingdom2024-06-14Feiner Bros UNQUALIFIED48Bernardo Dominic
1001Leja F IturbideRussia2024-05-29Chemel, James L Cpa RENEWAL51Asiya Javayant
1002Leja B BowleyAustralia2024-05-18Feiner Bros PROPOSAL68Ivan Magalhaes
1003Maisha F DilliardGermany2024-06-09Truhlar And Truhlar Attys NEW65Onyama Limba
1004Maria U FlosiUnited Kingdom2024-05-18Commercial Press NEW26Stephen Shaw
1005Jeanfrancois L FigeroaJapan2024-06-07Chapman, Ross E Esq RENEWAL21Amy Elsner
1006Ashley X WieserArgentina2024-05-28Dorl, James J Esq RENEWAL35Elwin Sharvill
1007Mujtaba G RulapaughItaly2024-05-31Commercial Press NEGOTIATION47Asiya Javayant
1008Jones B PerinRussia2024-05-29Buckley Miller Wright UNQUALIFIED44Stephen Shaw
1009Jefferson D SchemmerAustralia2024-05-30Rousseaux, Michael Esq NEGOTIATION47Xuxue Feng
1010Aruna D RutaSpain2024-05-28Chemel, James L Cpa NEW67Asiya Javayant
1011Kaitlin V RimRussia2024-05-19Feltz Printing Service PROPOSAL12Amy Elsner
1012Stacey V MacleadGermany2024-05-27King, Christopher A Esq NEGOTIATION55Ivan Magalhaes
1013Adams Z InouyeJapan2024-06-01Rangoni Of Florence NEW16Onyama Limba
1014Jones L SchemmerArgentina2024-06-04Chapman, Ross E Esq RENEWAL86Elwin Sharvill
1015David V NickaAustralia2024-06-13Truhlar And Truhlar Attys RENEWAL96Bernardo Dominic
1016David N ChuiJapan2024-05-25Buckley Miller Wright PROPOSAL9Ioni Bowcher
1017Sinclair V PerinUnited Kingdom2024-06-14Rangoni Of Florence RENEWAL35Stephen Shaw
1018Johnson Y FigeroaUnited Kingdom2024-05-24King, Christopher A Esq PROPOSAL13Bernardo Dominic
1019Munro D CampainAustralia2024-05-18Rousseaux, Michael Esq PROPOSAL75Elwin Sharvill
1020James L OstroskyBrazil2024-06-07Benton, John B Jr NEGOTIATION63Stephen Shaw
1021Ricardo X MaletUnited Kingdom2024-05-27Rousseaux, Michael Esq PROPOSAL97Elwin Sharvill
1022Mujtaba T GlickRussia2024-06-10Chapman, Ross E Esq NEW91Xuxue Feng
1023Jeanfrancois F RutaArgentina2024-06-14Feltz Printing Service RENEWAL9Onyama Limba
1024Kadeem K AlbaresSpain2024-06-13Printing Dimensions QUALIFIED65Asiya Javayant
1025Wickens B InouyeIndia2024-06-10Truhlar And Truhlar Attys NEW30Stephen Shaw
1026Emily L TollnerGermany2024-05-23Feltz Printing Service UNQUALIFIED61Ioni Bowcher
1027Jones N FigeroaUnited Kingdom2024-05-17Feltz Printing Service NEW46Anna Fali
1028Ricardo U FlosiItaly2024-06-02Dorl, James J Esq UNQUALIFIED71Asiya Javayant
1029Munro N RimFrance2024-06-10Benton, John B Jr UNQUALIFIED41Elwin Sharvill
1030Isabel M FerenczBrazil2024-05-27Chapman, Ross E Esq UNQUALIFIED98Stephen Shaw
1031Murillo U InouyeAustralia2024-05-29Feiner Bros NEGOTIATION87Elwin Sharvill
1032Leja W StockhamRussia2024-05-22Truhlar And Truhlar Attys NEGOTIATION89Stephen Shaw
1033Tony L VocelkaCanada2024-05-22Dorl, James J Esq UNQUALIFIED36Anna Fali
1034Rodrigues M CampainSpain2024-05-18King, Christopher A Esq QUALIFIED79Bernardo Dominic
1035Octavia X CaudyArgentina2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED32Bernardo Dominic
1036Rodrigues Q InouyeRussia2024-06-13Morlong Associates NEW54Ivan Magalhaes
1037Morrow Q BriddickSpain2024-05-25Feltz Printing Service UNQUALIFIED37Stephen Shaw
1038James E KolmetzItaly2024-06-13Chemel, James L Cpa PROPOSAL65Stephen Shaw
1039Kadeem H TollnerUnited Kingdom2024-06-03Benton, John B Jr UNQUALIFIED65Ioni Bowcher
1040Wickens D GarufiAustralia2024-06-11Truhlar And Truhlar Attys NEGOTIATION91Anna Fali
1041Misaki P NestleFrance2024-05-28Rangoni Of Florence RENEWAL9Ioni Bowcher
1042Ashley G GauchoArgentina2024-05-25Feltz Printing Service NEGOTIATION8Bernardo Dominic
1043Rodrigues Z OldroydSpain2024-06-02Buckley Miller Wright QUALIFIED46Ivan Magalhaes
1044Sinclair M NestleUnited Kingdom2024-05-23Dorl, James J Esq QUALIFIED97Ioni Bowcher
1045Jones J ShinkoAustralia2024-05-17Feiner Bros UNQUALIFIED13Elwin Sharvill
1046Clifford O CaudyArgentina2024-06-01Dorl, James J Esq QUALIFIED83Onyama Limba
1047Emily G FerenczFrance2024-05-27King, Christopher A Esq NEW71Anna Fali
1048Maria X PerinRussia2024-06-02Dorl, James J Esq QUALIFIED97Onyama Limba
1049Juan N FerenczCanada2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED38Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ricardo G PoquetteRussiaOnyama Limba QUALIFIED
Silvio L NickaIndiaElwin Sharvill RENEWAL
Adams Z DarakjyArgentinaIvan Magalhaes NEGOTIATION
Francesco E CampainItalyIvan Magalhaes QUALIFIED
Juan K ChuiCanadaBernardo Dominic PROPOSAL
Jeanfrancois C PerinArgentinaIvan Magalhaes NEW
Leon H NestleArgentinaOnyama Limba QUALIFIED
Aika W MaletFranceOnyama Limba RENEWAL
Antonio J NickaAustraliaAsiya Javayant NEW
James C BriddickJapanIvan Magalhaes NEGOTIATION
Emily Q RutaCanadaIvan Magalhaes NEW
Juan G CaudyItalyIvan Magalhaes NEGOTIATION
Costa O AmigonGermanyAsiya Javayant QUALIFIED
Isabel B MorascaUnited KingdomAnna Fali NEW
Aruna E TollnerAustraliaStephen Shaw NEW
Faith K InouyeCanadaAmy Elsner QUALIFIED
Wickens S BologniaItalyIvan Magalhaes NEW
Adams S MacleadJapanElwin Sharvill PROPOSAL
Sinclair D BriddickAustraliaXuxue Feng QUALIFIED
Antonio U BowleyBrazilAmy Elsner RENEWAL
Rodrigues I FlosiJapanIvan Magalhaes UNQUALIFIED
Ashley Y VocelkaArgentinaAmy Elsner QUALIFIED
Ricardo U AmigonJapanIoni Bowcher PROPOSAL
Darci O MacleadRussiaIvan Magalhaes RENEWAL
Wickens C FerenczFranceBernardo Dominic PROPOSAL
Wickens W MarrierFranceIvan Magalhaes QUALIFIED
Misaki H FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Jennifer R MarrierBrazilBernardo Dominic PROPOSAL
Kaitlin A PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Kadeem E KuskoRussiaIoni Bowcher RENEWAL
Clifford A SaylorsAustraliaIvan Magalhaes NEW
Costa T RoysterAustraliaAnna Fali PROPOSAL
Izzy A NestleRussiaBernardo Dominic RENEWAL
Morrow E CampainUnited KingdomIvan Magalhaes PROPOSAL
Tony L DoeCanadaAmy Elsner QUALIFIED
Chavez U ShinkoCanadaOnyama Limba QUALIFIED
David Q KolmetzBrazilAmy Elsner NEW
Morrow Q VenereCanadaIvan Magalhaes UNQUALIFIED
Octavia S WieserGermanyXuxue Feng QUALIFIED
Emily P CaldareraItalyXuxue Feng NEGOTIATION
James A IturbideItalyAsiya Javayant NEW
Jennifer G MaletArgentinaElwin Sharvill NEGOTIATION
Rodrigues A FerenczArgentinaAmy Elsner NEW
Adams L StockhamArgentinaXuxue Feng NEW
Aika K AmigonIndiaOnyama Limba UNQUALIFIED
Stacey S RutaItalyAmy Elsner NEGOTIATION
Isabel Z SergiItalyIoni Bowcher NEW
Smith J GauchoArgentinaXuxue Feng NEGOTIATION
Izzy A FerenczIndiaIoni Bowcher QUALIFIED
Arvin N MaletUnited KingdomElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Jennifer L Kolmetz
Mayumi B Poquette
David D Royster
Antonio P Stockham
Costa D Malet
Rodrigues K Venere
Kaitlin X Bolognia
Aditya M Darakjy
Aika D Figeroa
Octavia W Rim
Jeanfrancois W Perin
Leja P Tollner
Johnson A Glick
Faith H Malet
Stacey A Garufi
Munro R Stockham
Jefferson S Amigon
Arvin K Iturbide
Johnson O Slusarski
Izzy T Maclead
Jones Q Garufi
Costa R Darakjy
Deepesh H Ruta
Johnson G Amigon
Maisha D Garufi
Juan J Glick
Leon M Malet
Aditya O Campain
Adams A Briddick
Arvin O Ruta
Jones J Ferencz
Mayumi S Saylors
Costa U Stenseth
Tony Y Ostrosky
Jones Q Rulapaugh
Darci B Glick
Kaitlin H Garufi
Kaitlin Y Amigon
Emily T Flosi
Leja P Malet
Faith N Poquette
Salvatore W Vocelka
Chavez L Amigon
Julie L Figeroa
Leon S Poquette
Octavia I Shinko
Aika U Rulapaugh
Leon C Venere
Leja H Doe
Leja A Ruta
IdCountryDate
1000United Kingdom2024-06-05
1001United Kingdom2024-05-16
1002United Kingdom2024-06-09
1003France2024-05-29
1004Japan2024-05-24
1005Germany2024-06-01
1006Brazil2024-05-21
1007Canada2024-06-09
1008Argentina2024-06-07
1009Australia2024-05-19
1010United Kingdom2024-06-05
1011Italy2024-05-20
1012Germany2024-05-18
1013Spain2024-06-02
1014Russia2024-06-10
1015Argentina2024-06-02
1016Canada2024-06-10
1017United Kingdom2024-05-30
1018Spain2024-05-27
1019Germany2024-06-12
1020Japan2024-06-11
1021Australia2024-06-03
1022Italy2024-05-29
1023India2024-06-08
1024Spain2024-05-27
1025Argentina2024-05-22
1026Russia2024-06-12
1027Australia2024-05-19
1028India2024-06-01
1029Italy2024-05-16
1030Canada2024-05-18
1031Japan2024-05-25
1032Brazil2024-05-31
1033Germany2024-06-08
1034Spain2024-06-11
1035India2024-05-20
1036Germany2024-06-13
1037Canada2024-05-30
1038Australia2024-06-04
1039Italy2024-06-12
1040Canada2024-05-16
1041Japan2024-06-03
1042India2024-05-22
1043India2024-05-28
1044United Kingdom2024-06-07
1045Argentina2024-05-26
1046Italy2024-06-13
1047Germany2024-06-12
1048Japan2024-05-31
1049Australia2024-05-22

On-Demand Data

NameIdCountryDate
Faith Y Darakjy1000Argentina2024-05-17
Francesco T Stenseth1001United Kingdom2024-06-07
Murillo A Stenseth1002United Kingdom2024-05-18
Octavia F Oldroyd1003Brazil2024-05-23
Aika O Doe1004United Kingdom2024-05-16
Jeanfrancois L Glick1005Spain2024-05-20
Kadeem Z Stenseth1006France2024-06-09
Greenwood J Vocelka1007Argentina2024-06-12
Francesco Y Gillian1008Argentina2024-05-30
Darci Z Nicka1009Russia2024-06-08
Faith P Stenseth1010United Kingdom2024-06-02
David L Nestle1011Australia2024-06-01
Wickens V Caudy1012Spain2024-05-31
Claire T Marrier1013India2024-06-05
Greenwood E Shinko1014Russia2024-06-10
Nicolas U Nicka1015Japan2024-05-24
Darci G Ostrosky1016India2024-05-22
Kadeem O Kusko1017Argentina2024-05-28
Chavez W Ferencz1018Germany2024-05-20
Misaki V Venere1019France2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio C AmigonArgentinaIoni Bowcher NEW
Kaitlin I CampainFranceIvan Magalhaes RENEWAL
Aditya F AlbaresIndiaAmy Elsner NEW
Tony Z PerinIndiaOnyama Limba UNQUALIFIED
Salvatore S MacleadUnited KingdomOnyama Limba RENEWAL
Kaitlin I SchemmerArgentinaXuxue Feng PROPOSAL
Ashley Z PerinFranceXuxue Feng QUALIFIED
Maisha A KuskoAustraliaStephen Shaw UNQUALIFIED
Emily L CaudyBrazilAsiya Javayant NEGOTIATION
Kaitlin I BowleyAustraliaBernardo Dominic NEW
Misaki A TollnerJapanAsiya Javayant NEW
Deepesh Q NestleFranceIvan Magalhaes NEGOTIATION
Izzy M PaprockiCanadaBernardo Dominic NEW
Arvin I ShinkoSpainXuxue Feng UNQUALIFIED
Jefferson H ChuiIndiaIoni Bowcher NEGOTIATION
Costa H AmigonFranceIvan Magalhaes NEW
Jeanfrancois I OldroydSpainAsiya Javayant NEW
Juan C TollnerSpainOnyama Limba PROPOSAL
Ivar Z GillianFranceStephen Shaw NEW
Aika C InouyeAustraliaAsiya Javayant UNQUALIFIED
Cody L GlickRussiaIvan Magalhaes NEGOTIATION
Leon W WaycottUnited KingdomAnna Fali UNQUALIFIED
Mujtaba A FerenczGermanyXuxue Feng NEGOTIATION
Chavez C RimRussiaBernardo Dominic PROPOSAL
Stacey F KolmetzFranceStephen Shaw UNQUALIFIED
James H VenereArgentinaBernardo Dominic QUALIFIED
Mayumi O TollnerUnited KingdomAnna Fali QUALIFIED
Kaitlin H RoysterJapanXuxue Feng QUALIFIED
Cody G WaycottSpainAnna Fali PROPOSAL
Arvin H SaylorsFranceAmy Elsner NEW
Salvatore Z OldroydBrazilIvan Magalhaes NEGOTIATION
Morrow D GarufiRussiaAsiya Javayant RENEWAL
Mujtaba F NickaJapanXuxue Feng RENEWAL
Aditya V CampainIndiaXuxue Feng PROPOSAL
Antonio O OldroydUnited KingdomOnyama Limba QUALIFIED
Jefferson U CaldareraGermanyStephen Shaw RENEWAL
Munro D VocelkaRussiaElwin Sharvill UNQUALIFIED
Ricardo S FollerFranceBernardo Dominic QUALIFIED
Leja J BologniaSpainOnyama Limba NEGOTIATION
Isabel A BowleyJapanStephen Shaw NEW

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