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
Chavez Z MarrierRussiaAnna Fali NEW
Maria G WhobreyUnited KingdomAnna Fali QUALIFIED
Murillo M FlosiItalyIvan Magalhaes NEGOTIATION
Juan N BriddickJapanOnyama Limba RENEWAL
James W DoeCanadaIoni Bowcher RENEWAL
Deepesh M GlickIndiaIvan Magalhaes PROPOSAL
Izzy Y OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Faith H MaletCanadaIvan Magalhaes NEW
Antonio P FerenczJapanAmy Elsner NEGOTIATION
Murillo Y PoquetteArgentinaStephen Shaw NEW
Deepesh X SaylorsJapanStephen Shaw UNQUALIFIED
James Z GlickGermanyIvan Magalhaes RENEWAL
Kadeem V GauchoItalyOnyama Limba NEW
James S BowleyRussiaAsiya Javayant PROPOSAL
Leja N OldroydSpainIoni Bowcher RENEWAL
Mujtaba C KuskoSpainIvan Magalhaes RENEWAL
Chavez Y OldroydFranceElwin Sharvill NEW
Morrow C MarrierItalyXuxue Feng PROPOSAL
Sinclair V OstroskyIndiaOnyama Limba QUALIFIED
Ricardo K CampainFranceIvan Magalhaes QUALIFIED
Stacey X TollnerUnited KingdomIvan Magalhaes NEGOTIATION
Leon T AlbaresCanadaAmy Elsner UNQUALIFIED
Kadeem A PerinCanadaIoni Bowcher NEW
Izzy W RimArgentinaIoni Bowcher RENEWAL
Deepesh W FollerArgentinaAsiya Javayant UNQUALIFIED
Mayumi U StockhamIndiaBernardo Dominic NEGOTIATION
Jeanfrancois M AlbaresFranceBernardo Dominic UNQUALIFIED
Jones P IturbideFranceIoni Bowcher QUALIFIED
Faith D DoeJapanAmy Elsner PROPOSAL
Faith R ButtRussiaAmy Elsner NEGOTIATION
Murillo J StockhamAustraliaOnyama Limba NEGOTIATION
Alejandro V MacleadCanadaAmy Elsner NEW
Sinclair A RimBrazilIvan Magalhaes QUALIFIED
Costa R WieserIndiaOnyama Limba NEGOTIATION
Mayumi Q MacleadIndiaIoni Bowcher NEGOTIATION
Silvio Q SergiCanadaAnna Fali NEGOTIATION
Faith F MaletGermanyAnna Fali QUALIFIED
Leja H KolmetzCanadaAmy Elsner NEW
Ivar E RulapaughJapanStephen Shaw RENEWAL
Antonio T FollerItalyXuxue Feng NEGOTIATION
David X KuskoAustraliaAnna Fali QUALIFIED
Morrow T CaudyUnited KingdomAmy Elsner UNQUALIFIED
Jones R ChuiGermanyIoni Bowcher PROPOSAL
Izzy E SergiSpainIoni Bowcher NEGOTIATION
Smith M StockhamItalyOnyama Limba RENEWAL
Misaki A RutaAustraliaAnna Fali RENEWAL
Morrow R WieserJapanAsiya Javayant RENEWAL
Cody Z RulapaughCanadaAnna Fali NEW
Jennifer T MaletGermanyBernardo Dominic PROPOSAL
Aruna O FlosiAustraliaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
James A WhobreyIndiaAnna Fali QUALIFIED
Ashley O WhobreyBrazilStephen Shaw QUALIFIED
Munro V FollerUnited KingdomBernardo Dominic QUALIFIED
Costa E NestleIndiaBernardo Dominic RENEWAL
Nicolas P StockhamBrazilIvan Magalhaes RENEWAL
Johnson Q SchemmerRussiaIvan Magalhaes NEW
Tony I SlusarskiItalyAmy Elsner PROPOSAL
Smith U KuskoFranceXuxue Feng NEGOTIATION
Ivar O ButtAustraliaIoni Bowcher NEW
Isabel C CaudyAustraliaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo U SaylorsIndia2024-06-06Dorl, James J Esq RENEWAL5Xuxue Feng
1001Leja W FlosiIndia2024-06-14Buckley Miller Wright RENEWAL46Elwin Sharvill
1002Francesco O AmigonUnited Kingdom2024-05-31Commercial Press UNQUALIFIED0Bernardo Dominic
1003Maria R RoysterArgentina2024-06-03Rangoni Of Florence NEW85Amy Elsner
1004Jefferson R TollnerGermany2024-06-12Rousseaux, Michael Esq UNQUALIFIED36Ioni Bowcher
1005Maisha M SchemmerJapan2024-05-29Truhlar And Truhlar Attys NEGOTIATION98Bernardo Dominic
1006Maisha L InouyeItaly2024-06-08Chanay, Jeffrey A Esq NEGOTIATION66Bernardo Dominic
1007Tony P AlbaresUnited Kingdom2024-06-04Dorl, James J Esq QUALIFIED71Onyama Limba
1008Tony B FerenczRussia2024-06-06King, Christopher A Esq NEGOTIATION5Stephen Shaw
1009Arvin J MacleadItaly2024-05-29Chapman, Ross E Esq RENEWAL9Bernardo Dominic
1010Francesco S SchemmerIndia2024-06-20Chapman, Ross E Esq RENEWAL76Onyama Limba
1011Emily M RimBrazil2024-06-11Truhlar And Truhlar Attys NEGOTIATION0Asiya Javayant
1012Julie U OldroydRussia2024-05-27Benton, John B Jr QUALIFIED8Stephen Shaw
1013Clifford H KuskoGermany2024-06-10King, Christopher A Esq QUALIFIED68Elwin Sharvill
1014Jefferson G BologniaArgentina2024-06-06Buckley Miller Wright UNQUALIFIED91Stephen Shaw
1015David O MarrierArgentina2024-05-29Feltz Printing Service RENEWAL12Amy Elsner
1016Ashley Y KuskoAustralia2024-06-03King, Christopher A Esq RENEWAL99Amy Elsner
1017James D BologniaArgentina2024-06-15Commercial Press QUALIFIED17Elwin Sharvill
1018Adams L RimBrazil2024-05-29Chemel, James L Cpa PROPOSAL1Stephen Shaw
1019Leja T KuskoArgentina2024-06-11Buckley Miller Wright NEGOTIATION16Anna Fali
1020Isabel G WhobreyFrance2024-06-05Chemel, James L Cpa PROPOSAL38Ivan Magalhaes
1021Sinclair V FollerArgentina2024-06-18Feiner Bros NEW12Onyama Limba
1022David X WaycottCanada2024-06-14Rangoni Of Florence QUALIFIED72Anna Fali
1023Jeanfrancois R PerinIndia2024-06-21Buckley Miller Wright QUALIFIED46Bernardo Dominic
1024Kaitlin T MacleadSpain2024-05-26Printing Dimensions PROPOSAL77Elwin Sharvill
1025Mujtaba N AmigonIndia2024-06-21Chemel, James L Cpa NEW73Ivan Magalhaes
1026Greenwood O MaletJapan2024-06-07Feltz Printing Service NEW95Stephen Shaw
1027Morrow M PerinItaly2024-06-20Feiner Bros PROPOSAL92Elwin Sharvill
1028Aika W WieserFrance2024-06-05Chemel, James L Cpa NEGOTIATION94Asiya Javayant
1029Nicolas U WieserAustralia2024-05-26Rangoni Of Florence NEGOTIATION68Stephen Shaw
1030Emily X InouyeGermany2024-06-20Morlong Associates RENEWAL51Anna Fali
1031Adams B MacleadArgentina2024-06-22Morlong Associates NEW10Elwin Sharvill
1032Nicolas J VenereGermany2024-06-10Dorl, James J Esq NEGOTIATION19Anna Fali
1033Wickens V PaprockiRussia2024-06-05Feltz Printing Service RENEWAL63Xuxue Feng
1034Costa T DarakjyFrance2024-06-23Truhlar And Truhlar Attys QUALIFIED55Anna Fali
1035Octavia R MaletItaly2024-05-29Dorl, James J Esq RENEWAL66Onyama Limba
1036Leon M FerenczIndia2024-06-12Chemel, James L Cpa RENEWAL12Ioni Bowcher
1037Nicolas T InouyeBrazil2024-05-31Benton, John B Jr PROPOSAL71Amy Elsner
1038Misaki Z AlbaresUnited Kingdom2024-06-19Chemel, James L Cpa NEGOTIATION55Asiya Javayant
1039Clifford Q CaudyRussia2024-06-05Feltz Printing Service QUALIFIED7Elwin Sharvill
1040Misaki V NestleRussia2024-06-04Chanay, Jeffrey A Esq NEGOTIATION35Ioni Bowcher
1041Adams M WhobreyArgentina2024-06-09Benton, John B Jr RENEWAL26Amy Elsner
1042Nicolas K BologniaBrazil2024-06-19Chanay, Jeffrey A Esq NEW40Amy Elsner
1043Octavia O DarakjyGermany2024-06-11Morlong Associates QUALIFIED15Bernardo Dominic
1044Izzy P RutaArgentina2024-06-22Commercial Press NEW72Onyama Limba
1045Stacey R DilliardFrance2024-06-23Rousseaux, Michael Esq NEW43Asiya Javayant
1046Emily G MaletSpain2024-05-26Dorl, James J Esq NEGOTIATION20Onyama Limba
1047Misaki U WieserFrance2024-06-12Feiner Bros QUALIFIED10Anna Fali
1048Wickens A SchemmerAustralia2024-05-26Chapman, Ross E Esq PROPOSAL98Stephen Shaw
1049Alejandro O RoysterJapan2024-05-31Benton, John B Jr PROPOSAL83Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Misaki O MaletGermanyOnyama Limba UNQUALIFIED
David I GauchoArgentinaElwin Sharvill RENEWAL
Ivar K BriddickJapanElwin Sharvill RENEWAL
Kadeem K FigeroaBrazilAmy Elsner QUALIFIED
Claire V WaycottBrazilOnyama Limba UNQUALIFIED
Nicolas V OldroydItalyAsiya Javayant UNQUALIFIED
Jefferson Q SlusarskiFranceBernardo Dominic NEW
Izzy U RulapaughUnited KingdomBernardo Dominic NEW
Munro N MarrierBrazilAnna Fali QUALIFIED
Aika Q FlosiAustraliaAsiya Javayant PROPOSAL
Clifford Y SchemmerCanadaAnna Fali RENEWAL
Arvin O BowleyCanadaAnna Fali UNQUALIFIED
Murillo A RutaUnited KingdomAsiya Javayant RENEWAL
Costa W MaletIndiaXuxue Feng UNQUALIFIED
David Q SchemmerIndiaAmy Elsner UNQUALIFIED
Ashley E ButtArgentinaStephen Shaw RENEWAL
Rodrigues D PoquetteGermanyElwin Sharvill QUALIFIED
Murillo R NestleIndiaXuxue Feng RENEWAL
Wickens H OldroydItalyAmy Elsner NEW
Munro U PoquetteArgentinaXuxue Feng QUALIFIED
Juan X FerenczGermanyAnna Fali QUALIFIED
Antonio X IturbideCanadaOnyama Limba NEGOTIATION
Arvin M GarufiAustraliaElwin Sharvill NEGOTIATION
Alejandro D StensethUnited KingdomIvan Magalhaes NEW
Wickens I WieserItalyAnna Fali NEGOTIATION
Nicolas J WaycottBrazilIvan Magalhaes UNQUALIFIED
Mujtaba D GlickAustraliaStephen Shaw PROPOSAL
Aika L FollerAustraliaAmy Elsner QUALIFIED
Darci U SlusarskiSpainXuxue Feng NEGOTIATION
Juan F ShinkoArgentinaOnyama Limba NEGOTIATION
Leja A NickaFranceAmy Elsner NEGOTIATION
Francesco Q MarrierCanadaAnna Fali UNQUALIFIED
Morrow I RutaArgentinaElwin Sharvill QUALIFIED
Stacey F KolmetzIndiaAsiya Javayant QUALIFIED
Izzy Y BologniaRussiaBernardo Dominic QUALIFIED
Salvatore V OstroskyArgentinaAmy Elsner RENEWAL
Jennifer A TollnerJapanElwin Sharvill QUALIFIED
Ricardo C MarrierRussiaAsiya Javayant RENEWAL
Francesco A SlusarskiJapanIvan Magalhaes UNQUALIFIED
Munro H WaycottRussiaAsiya Javayant NEGOTIATION
James G DoeAustraliaAsiya Javayant RENEWAL
Kaitlin X DoeRussiaIoni Bowcher UNQUALIFIED
Kadeem K RulapaughSpainAmy Elsner QUALIFIED
Murillo X OstroskyIndiaXuxue Feng RENEWAL
Kadeem M FlosiSpainElwin Sharvill PROPOSAL
Ashley P FlosiItalyXuxue Feng RENEWAL
Antonio O ShinkoUnited KingdomElwin Sharvill RENEWAL
Wickens S StensethIndiaAsiya Javayant QUALIFIED
Maria G MaletIndiaAsiya Javayant UNQUALIFIED
Arvin N FigeroaAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Claire A Ferencz
Ricardo V Foller
Chavez D Inouye
Leon Z Malet
Jones H Dilliard
Tony Z Inouye
Leja H Ferencz
Jefferson E Poquette
Salvatore J Inouye
David M Ruta
Munro C Tollner
Julie U Oldroyd
Mayumi O Schemmer
Aditya I Tollner
Jennifer R Nestle
Leja Q Foller
Munro B Inouye
Kadeem L Nestle
Maisha P Briddick
Rodrigues U Gillian
Munro V Amigon
Salvatore J Wieser
Francesco W Rulapaugh
Jennifer Y Saylors
Kadeem C Sergi
Silvio R Ferencz
Antonio T Campain
Maisha R Marrier
Faith J Shinko
Ivar E Campain
Deepesh E Doe
Jones C Kolmetz
Silvio V Wieser
Aditya L Bolognia
Octavia C Glick
Clifford X Gaucho
Leja B Rulapaugh
Sinclair P Stockham
Silvio F Perin
David X Gaucho
Francesco C Wieser
Darci I Campain
Julie C Chui
Alejandro N Malet
Silvio B Butt
Kaitlin T Campain
Kaitlin X Nicka
Aika V Nestle
Costa I Bowley
Ivar M Dilliard
IdCountryDate
1000Italy2024-06-06
1001Brazil2024-05-29
1002United Kingdom2024-05-27
1003Canada2024-05-31
1004Canada2024-06-21
1005Australia2024-06-01
1006Japan2024-05-25
1007Spain2024-05-31
1008Germany2024-06-11
1009Japan2024-06-23
1010France2024-06-22
1011Italy2024-06-07
1012Germany2024-05-29
1013Russia2024-06-01
1014Spain2024-06-21
1015Germany2024-06-14
1016Germany2024-06-07
1017Brazil2024-06-18
1018Germany2024-05-28
1019United Kingdom2024-05-25
1020Argentina2024-05-25
1021France2024-06-17
1022Spain2024-06-18
1023Australia2024-06-17
1024Italy2024-06-14
1025Brazil2024-05-25
1026Brazil2024-06-17
1027Japan2024-06-20
1028India2024-06-15
1029Australia2024-06-12
1030United Kingdom2024-06-23
1031Germany2024-06-19
1032India2024-06-22
1033France2024-06-17
1034Brazil2024-06-05
1035Russia2024-06-02
1036India2024-05-25
1037Argentina2024-06-15
1038Japan2024-06-03
1039United Kingdom2024-05-30
1040Italy2024-06-18
1041Spain2024-06-17
1042Brazil2024-05-30
1043France2024-06-01
1044France2024-06-07
1045Spain2024-06-05
1046Brazil2024-06-02
1047Brazil2024-06-04
1048Spain2024-06-15
1049India2024-06-04

On-Demand Data

NameIdCountryDate
Mayumi V Schemmer1000Spain2024-06-04
David P Malet1001France2024-06-12
Johnson K Albares1002United Kingdom2024-06-02
Rodrigues A Campain1003Spain2024-06-09
Kaitlin F Chui1004Germany2024-05-25
Salvatore A Morasca1005Russia2024-05-25
Antonio F Stenseth1006Brazil2024-06-23
Antonio A Ferencz1007France2024-06-12
James C Slusarski1008France2024-06-23
Maria I Slusarski1009Canada2024-06-14
Rodrigues N Ferencz1010United Kingdom2024-05-26
Nicolas J Tollner1011Brazil2024-05-30
David R Malet1012United Kingdom2024-06-08
Morrow Z Poquette1013India2024-06-09
Silvio X Caudy1014Argentina2024-05-30
Jeanfrancois R Rim1015Russia2024-06-23
Adams B Butt1016Argentina2024-06-05
Kadeem H Vocelka1017United Kingdom2024-05-27
Ashley R Stenseth1018Brazil2024-06-16
Jones B Rim1019Italy2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo W NestleGermanyElwin Sharvill RENEWAL
Claire L OldroydJapanBernardo Dominic PROPOSAL
Isabel W NickaSpainBernardo Dominic UNQUALIFIED
Faith R TollnerIndiaXuxue Feng UNQUALIFIED
Morrow O CaldareraBrazilIoni Bowcher NEGOTIATION
Jefferson B ChuiBrazilOnyama Limba QUALIFIED
Darci H DarakjyArgentinaIoni Bowcher QUALIFIED
Greenwood S IturbideAustraliaOnyama Limba RENEWAL
Tony G ShinkoAustraliaStephen Shaw QUALIFIED
Stacey K KuskoCanadaAsiya Javayant UNQUALIFIED
Octavia N MorascaJapanIoni Bowcher NEGOTIATION
Ashley K DoeBrazilAmy Elsner PROPOSAL
Sinclair P FollerFranceAnna Fali NEW
Kadeem N GlickAustraliaAsiya Javayant QUALIFIED
James H AlbaresArgentinaIvan Magalhaes RENEWAL
Mayumi X SlusarskiAustraliaAmy Elsner RENEWAL
Johnson I StensethCanadaIoni Bowcher PROPOSAL
Claire D BologniaBrazilIvan Magalhaes QUALIFIED
Maria R RulapaughGermanyBernardo Dominic NEW
Juan Y StensethAustraliaAsiya Javayant QUALIFIED
Mayumi C CaudyFranceAnna Fali NEGOTIATION
Jones W MarrierRussiaStephen Shaw QUALIFIED
Wickens Q VocelkaRussiaIvan Magalhaes QUALIFIED
Mayumi T CaudyIndiaStephen Shaw NEW
Munro E RoysterCanadaXuxue Feng UNQUALIFIED
Mujtaba D WhobreyCanadaIoni Bowcher PROPOSAL
Maisha C BriddickIndiaElwin Sharvill PROPOSAL
Ashley L KolmetzItalyAmy Elsner NEGOTIATION
Murillo T DarakjyUnited KingdomElwin Sharvill PROPOSAL
Adams R SlusarskiJapanXuxue Feng NEGOTIATION
Darci C StensethBrazilIoni Bowcher UNQUALIFIED
Salvatore J BowleyRussiaXuxue Feng NEW
Salvatore L MaletItalyElwin Sharvill UNQUALIFIED
Tony N RoysterJapanAmy Elsner QUALIFIED
Cody Y GarufiSpainXuxue Feng PROPOSAL
Claire O PaprockiRussiaAmy Elsner UNQUALIFIED
Faith C FollerAustraliaIvan Magalhaes UNQUALIFIED
Claire O SergiIndiaXuxue Feng UNQUALIFIED
Adams C MorascaItalyElwin Sharvill NEW
Kadeem X StockhamBrazilOnyama Limba 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>