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
Faith U ButtRussiaAsiya Javayant RENEWAL
Ashley G FlosiFranceOnyama Limba QUALIFIED
Isabel K RimArgentinaElwin Sharvill PROPOSAL
Murillo C WaycottItalyOnyama Limba NEGOTIATION
Ashley W InouyeFranceElwin Sharvill QUALIFIED
Salvatore T StockhamBrazilIvan Magalhaes RENEWAL
Izzy R RimGermanyAsiya Javayant RENEWAL
Izzy O SaylorsRussiaAmy Elsner QUALIFIED
Octavia T MaletIndiaIvan Magalhaes QUALIFIED
Johnson G GlickFranceBernardo Dominic NEW
Johnson U FerenczItalyXuxue Feng NEW
Costa U PerinIndiaXuxue Feng NEGOTIATION
Jones O GauchoArgentinaIvan Magalhaes RENEWAL
Maisha Q TollnerSpainAsiya Javayant NEGOTIATION
Murillo A ShinkoUnited KingdomAnna Fali PROPOSAL
Sinclair Q SergiItalyAnna Fali RENEWAL
Emily G FlosiArgentinaElwin Sharvill RENEWAL
Wickens A WaycottRussiaAmy Elsner UNQUALIFIED
Ivar O NickaCanadaIvan Magalhaes PROPOSAL
Rodrigues U DoeSpainAnna Fali QUALIFIED
Johnson U VenereArgentinaIvan Magalhaes RENEWAL
Octavia M BowleyFranceOnyama Limba UNQUALIFIED
Tony D SaylorsFranceElwin Sharvill NEW
Kadeem S WieserCanadaBernardo Dominic PROPOSAL
Ashley M FollerUnited KingdomOnyama Limba NEW
David M DarakjyJapanAnna Fali UNQUALIFIED
Aditya O AmigonArgentinaXuxue Feng NEW
Ricardo U RutaJapanStephen Shaw UNQUALIFIED
Morrow W OstroskyItalyIoni Bowcher NEW
Aika T AmigonArgentinaXuxue Feng RENEWAL
Aditya A GarufiItalyOnyama Limba QUALIFIED
David S MaletGermanyXuxue Feng QUALIFIED
Salvatore R FlosiSpainStephen Shaw NEGOTIATION
Sinclair X PaprockiArgentinaOnyama Limba RENEWAL
Francesco B MorascaAustraliaAnna Fali PROPOSAL
Aika P RoysterGermanyAmy Elsner PROPOSAL
Munro C CaldareraUnited KingdomElwin Sharvill NEW
Misaki P NickaAustraliaAsiya Javayant NEGOTIATION
Johnson H ChuiGermanyBernardo Dominic RENEWAL
Salvatore F AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Alejandro K WhobreyBrazilElwin Sharvill PROPOSAL
Octavia Z FerenczArgentinaAnna Fali QUALIFIED
Octavia R MorascaArgentinaAmy Elsner PROPOSAL
David L MaletJapanElwin Sharvill NEW
Deepesh W DarakjyGermanyElwin Sharvill UNQUALIFIED
Greenwood P DoeIndiaAmy Elsner NEGOTIATION
David R WhobreyArgentinaElwin Sharvill UNQUALIFIED
Ashley X SlusarskiRussiaStephen Shaw NEW
Leon A CaudyCanadaXuxue Feng NEGOTIATION
Nicolas P SergiAustraliaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria J CaldareraFranceBernardo Dominic PROPOSAL
Aditya V FigeroaAustraliaXuxue Feng RENEWAL
Misaki X AlbaresJapanAnna Fali QUALIFIED
Maisha K PoquetteCanadaAmy Elsner PROPOSAL
Deepesh X FlosiItalyStephen Shaw UNQUALIFIED
Leon V VocelkaItalyAmy Elsner PROPOSAL
Clifford M CaldareraSpainBernardo Dominic RENEWAL
Claire A SaylorsUnited KingdomAmy Elsner RENEWAL
Misaki T WhobreyUnited KingdomIoni Bowcher QUALIFIED
Chavez D WhobreyBrazilElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha I FollerBrazil2024-06-02King, Christopher A Esq UNQUALIFIED17Ivan Magalhaes
1001Misaki Q TollnerAustralia2024-05-30Feiner Bros QUALIFIED41Ioni Bowcher
1002Rodrigues L CampainIndia2024-06-05Buckley Miller Wright NEW81Ivan Magalhaes
1003Costa A RulapaughGermany2024-06-14Morlong Associates QUALIFIED44Asiya Javayant
1004Costa V FigeroaGermany2024-06-20Printing Dimensions RENEWAL63Onyama Limba
1005Mujtaba F PaprockiBrazil2024-06-05Rousseaux, Michael Esq NEW52Bernardo Dominic
1006Misaki M PoquetteGermany2024-05-25Printing Dimensions NEW44Elwin Sharvill
1007Francesco Z MaletJapan2024-06-01Feltz Printing Service NEGOTIATION13Ioni Bowcher
1008Ashley B PaprockiSpain2024-06-21Rousseaux, Michael Esq RENEWAL96Anna Fali
1009Johnson R GauchoUnited Kingdom2024-06-14Rangoni Of Florence NEW50Amy Elsner
1010Leja O OldroydRussia2024-06-02Benton, John B Jr NEW12Stephen Shaw
1011Jones O NestleArgentina2024-05-31Chapman, Ross E Esq RENEWAL10Ioni Bowcher
1012Jefferson D RulapaughArgentina2024-06-15Chapman, Ross E Esq NEW17Onyama Limba
1013Aditya C VenereRussia2024-06-13Chemel, James L Cpa UNQUALIFIED26Xuxue Feng
1014Arvin D SergiUnited Kingdom2024-06-10Chapman, Ross E Esq RENEWAL5Asiya Javayant
1015Murillo T WaycottUnited Kingdom2024-06-03Rousseaux, Michael Esq NEW24Elwin Sharvill
1016Nicolas Q GauchoIndia2024-05-24Chanay, Jeffrey A Esq QUALIFIED13Amy Elsner
1017Juan A DoeSpain2024-06-18Truhlar And Truhlar Attys QUALIFIED34Stephen Shaw
1018Misaki G PaprockiBrazil2024-05-28Morlong Associates PROPOSAL3Ivan Magalhaes
1019Wickens U SlusarskiAustralia2024-06-19Chemel, James L Cpa PROPOSAL92Ioni Bowcher
1020Clifford G MaletRussia2024-06-16King, Christopher A Esq PROPOSAL5Ivan Magalhaes
1021Stacey Z PoquetteSpain2024-05-23Rousseaux, Michael Esq NEGOTIATION12Ivan Magalhaes
1022Costa Q SlusarskiRussia2024-05-28King, Christopher A Esq NEGOTIATION39Xuxue Feng
1023Leja H ButtCanada2024-05-27Morlong Associates PROPOSAL13Asiya Javayant
1024James G ChuiAustralia2024-06-07Chemel, James L Cpa RENEWAL89Ivan Magalhaes
1025Tony L OldroydGermany2024-06-14Morlong Associates RENEWAL70Ioni Bowcher
1026Smith O ButtBrazil2024-06-03Buckley Miller Wright RENEWAL53Elwin Sharvill
1027Salvatore F OldroydAustralia2024-06-10Dorl, James J Esq UNQUALIFIED59Anna Fali
1028Alejandro X PaprockiArgentina2024-06-02Feltz Printing Service UNQUALIFIED50Xuxue Feng
1029Ivar B GillianIndia2024-06-11Buckley Miller Wright NEW50Bernardo Dominic
1030Ricardo P RoysterAustralia2024-06-06King, Christopher A Esq NEGOTIATION27Asiya Javayant
1031Munro F RoysterArgentina2024-05-24Dorl, James J Esq RENEWAL33Bernardo Dominic
1032Antonio Z GillianRussia2024-06-16Chanay, Jeffrey A Esq QUALIFIED40Anna Fali
1033Greenwood Z SaylorsArgentina2024-05-26Benton, John B Jr UNQUALIFIED26Asiya Javayant
1034Morrow H MarrierItaly2024-06-08Chemel, James L Cpa NEW83Bernardo Dominic
1035David S CampainGermany2024-06-20Feiner Bros UNQUALIFIED19Anna Fali
1036Greenwood A CaldareraFrance2024-06-19Benton, John B Jr QUALIFIED44Bernardo Dominic
1037Smith J StensethUnited Kingdom2024-06-07Printing Dimensions NEGOTIATION73Xuxue Feng
1038Misaki Y ButtSpain2024-05-26Feltz Printing Service QUALIFIED37Anna Fali
1039Sinclair Y ButtBrazil2024-06-04Feiner Bros UNQUALIFIED46Stephen Shaw
1040Wickens S KuskoRussia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED12Stephen Shaw
1041Mujtaba X PaprockiBrazil2024-06-15Chemel, James L Cpa NEGOTIATION77Amy Elsner
1042Ivar Y MacleadBrazil2024-05-25King, Christopher A Esq UNQUALIFIED79Xuxue Feng
1043Jeanfrancois Z SlusarskiBrazil2024-05-27Chanay, Jeffrey A Esq RENEWAL77Bernardo Dominic
1044Darci O StockhamCanada2024-06-14King, Christopher A Esq NEW32Stephen Shaw
1045Aruna M CaldareraBrazil2024-06-16Feiner Bros QUALIFIED19Anna Fali
1046Nicolas P DilliardGermany2024-06-04Truhlar And Truhlar Attys RENEWAL41Ioni Bowcher
1047Mayumi N PoquetteItaly2024-06-12King, Christopher A Esq NEGOTIATION55Stephen Shaw
1048Johnson E KuskoGermany2024-05-31Chemel, James L Cpa UNQUALIFIED23Xuxue Feng
1049Arvin E RimJapan2024-06-17Feltz Printing Service PROPOSAL81Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Emily O GauchoCanadaAnna Fali PROPOSAL
Maria W RoysterItalyIvan Magalhaes NEW
Morrow F CampainAustraliaIvan Magalhaes UNQUALIFIED
Francesco U CaudySpainOnyama Limba NEGOTIATION
Morrow R BriddickCanadaIoni Bowcher NEGOTIATION
Juan O PaprockiSpainIoni Bowcher RENEWAL
Julie D DarakjyJapanAsiya Javayant PROPOSAL
Nicolas W RimIndiaBernardo Dominic QUALIFIED
Isabel E MaletJapanBernardo Dominic NEGOTIATION
Kaitlin W InouyeGermanyIvan Magalhaes NEGOTIATION
Adams Z KuskoFranceAsiya Javayant UNQUALIFIED
Alejandro C GillianAustraliaOnyama Limba PROPOSAL
Aruna E PaprockiUnited KingdomBernardo Dominic PROPOSAL
Deepesh R BriddickBrazilIvan Magalhaes PROPOSAL
Faith F CampainJapanBernardo Dominic PROPOSAL
Chavez Q BologniaFranceIvan Magalhaes QUALIFIED
Silvio J OldroydFranceOnyama Limba QUALIFIED
Salvatore J WieserItalyBernardo Dominic UNQUALIFIED
Arvin D SlusarskiAustraliaElwin Sharvill PROPOSAL
Stacey V ShinkoIndiaAmy Elsner QUALIFIED
Salvatore S StockhamArgentinaAnna Fali UNQUALIFIED
Aditya N WaycottArgentinaAmy Elsner QUALIFIED
Tony F StockhamRussiaAsiya Javayant NEW
Darci B CampainRussiaBernardo Dominic NEGOTIATION
Maria W AlbaresAustraliaBernardo Dominic NEGOTIATION
Leon R OldroydSpainAsiya Javayant NEGOTIATION
Francesco E TollnerUnited KingdomAsiya Javayant QUALIFIED
Munro T FlosiBrazilAmy Elsner UNQUALIFIED
Maisha M MaletBrazilOnyama Limba PROPOSAL
Clifford Z StensethCanadaAsiya Javayant NEGOTIATION
Clifford F DoeJapanBernardo Dominic RENEWAL
Juan S DoeGermanyAnna Fali RENEWAL
Kadeem G SlusarskiIndiaAmy Elsner UNQUALIFIED
Julie N FerenczRussiaBernardo Dominic UNQUALIFIED
Morrow P MorascaSpainIvan Magalhaes QUALIFIED
Sinclair Q WhobreyFranceAmy Elsner QUALIFIED
Smith W DoeFranceIoni Bowcher RENEWAL
Jeanfrancois B TollnerBrazilAnna Fali NEW
Aika F BriddickAustraliaAmy Elsner RENEWAL
Chavez C RulapaughArgentinaAmy Elsner QUALIFIED
Faith K MacleadCanadaOnyama Limba RENEWAL
Francesco D SchemmerJapanStephen Shaw NEW
Tony P DarakjyGermanyElwin Sharvill UNQUALIFIED
Jennifer C DilliardBrazilXuxue Feng NEW
Ashley T DilliardAustraliaStephen Shaw NEW
Costa M VocelkaBrazilXuxue Feng NEW
Maria N PaprockiFranceAmy Elsner NEW
Silvio E AmigonIndiaXuxue Feng QUALIFIED
James T KolmetzSpainAnna Fali UNQUALIFIED
Maisha Z KolmetzArgentinaElwin Sharvill QUALIFIED
Frozen Columns
Name
Mayumi E Rulapaugh
Maria K Nestle
Rodrigues Y Sergi
Aika G Tollner
Arvin N Amigon
Clifford L Vocelka
Wickens S Poquette
David Q Glick
Jeanfrancois V Figeroa
Aika N Ruta
Sinclair G Caudy
Faith E Ruta
Faith K Saylors
Emily Q Marrier
Greenwood A Shinko
Costa U Iturbide
Sinclair A Inouye
Misaki B Chui
Nicolas T Doe
Clifford R Iturbide
Deepesh U Maclead
Misaki F Malet
Jeanfrancois D Venere
Tony M Foller
Leon E Kusko
Aruna T Venere
Deepesh C Schemmer
Misaki V Paprocki
Aditya Y Malet
Juan I Darakjy
Alejandro M Marrier
Chavez X Albares
Misaki Y Bolognia
Johnson C Butt
Silvio J Schemmer
Isabel P Darakjy
Adams I Perin
Salvatore G Gaucho
Greenwood M Amigon
Stacey L Kusko
Maisha G Glick
Juan X Foller
Chavez S Morasca
Ricardo W Iturbide
Deepesh C Malet
Antonio W Malet
Wickens N Amigon
Jefferson V Vocelka
Faith E Perin
Maria R Inouye
IdCountryDate
1000Spain2024-06-15
1001Japan2024-05-26
1002United Kingdom2024-06-05
1003India2024-06-18
1004Germany2024-05-25
1005Russia2024-06-21
1006India2024-05-29
1007Canada2024-05-29
1008United Kingdom2024-06-13
1009Australia2024-06-01
1010Australia2024-06-20
1011Russia2024-06-20
1012India2024-06-13
1013United Kingdom2024-06-08
1014Argentina2024-05-31
1015Germany2024-06-07
1016Australia2024-05-26
1017United Kingdom2024-06-18
1018Italy2024-05-23
1019Argentina2024-06-12
1020Italy2024-06-19
1021Argentina2024-06-10
1022Canada2024-06-05
1023Brazil2024-05-24
1024Russia2024-06-02
1025Argentina2024-05-23
1026India2024-05-26
1027Japan2024-06-16
1028United Kingdom2024-06-14
1029Spain2024-06-07
1030Spain2024-05-23
1031Canada2024-06-09
1032Spain2024-06-14
1033France2024-06-19
1034Russia2024-06-13
1035Japan2024-06-16
1036Germany2024-06-09
1037Spain2024-06-05
1038India2024-06-21
1039Canada2024-06-07
1040France2024-06-19
1041Germany2024-06-15
1042France2024-06-01
1043France2024-06-14
1044Australia2024-05-30
1045Spain2024-06-16
1046United Kingdom2024-06-04
1047India2024-06-16
1048Argentina2024-05-31
1049Australia2024-06-07

On-Demand Data

NameIdCountryDate
Izzy G Nicka1000Australia2024-06-08
Johnson R Stockham1001Japan2024-06-19
Ashley K Glick1002Australia2024-06-09
Jones J Nestle1003Russia2024-06-11
Emily G Malet1004Italy2024-06-12
Jefferson K Stockham1005Australia2024-06-01
Clifford Q Garufi1006France2024-06-13
James C Saylors1007Italy2024-06-07
Faith W Shinko1008Brazil2024-06-04
Juan N Bolognia1009Germany2024-06-20
Sinclair N Sergi1010Argentina2024-06-08
Maisha Q Kusko1011Argentina2024-06-09
Kaitlin R Inouye1012Australia2024-05-29
Juan K Bolognia1013Argentina2024-06-07
Ricardo V Wieser1014Russia2024-05-23
Tony A Butt1015India2024-06-18
Wickens X Foller1016Australia2024-05-24
Faith U Chui1017Argentina2024-05-25
Wickens O Amigon1018Argentina2024-06-20
Francesco M Poquette1019Italy2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel D VenereAustraliaElwin Sharvill RENEWAL
Salvatore Y DarakjyJapanAsiya Javayant PROPOSAL
Cody F RimCanadaStephen Shaw PROPOSAL
Adams I RutaIndiaIoni Bowcher NEW
Ivar I RulapaughSpainAsiya Javayant QUALIFIED
Julie P FollerArgentinaAmy Elsner PROPOSAL
Salvatore F FigeroaItalyXuxue Feng UNQUALIFIED
Ashley T RulapaughJapanBernardo Dominic NEW
Maria N DarakjySpainAmy Elsner NEW
Chavez G WieserAustraliaBernardo Dominic UNQUALIFIED
Misaki D GlickRussiaElwin Sharvill QUALIFIED
Murillo D KuskoCanadaIoni Bowcher NEW
Izzy B GillianIndiaElwin Sharvill NEW
Ashley H FigeroaArgentinaElwin Sharvill NEGOTIATION
Faith M TollnerAustraliaStephen Shaw UNQUALIFIED
Greenwood C DoeRussiaBernardo Dominic UNQUALIFIED
Salvatore N BowleyUnited KingdomIvan Magalhaes RENEWAL
Octavia S SergiCanadaAnna Fali RENEWAL
Stacey K RulapaughJapanStephen Shaw RENEWAL
Mujtaba Q RutaUnited KingdomIoni Bowcher UNQUALIFIED
Misaki S WhobreyAustraliaAsiya Javayant NEW
Darci X BowleyRussiaElwin Sharvill RENEWAL
Sinclair J GauchoGermanyXuxue Feng RENEWAL
Alejandro G CaldareraFranceOnyama Limba QUALIFIED
Rodrigues F GlickIndiaAsiya Javayant UNQUALIFIED
Octavia Y NickaJapanAmy Elsner UNQUALIFIED
Jeanfrancois C StockhamUnited KingdomElwin Sharvill NEGOTIATION
Salvatore E ChuiFranceAnna Fali RENEWAL
Leon W MorascaSpainXuxue Feng UNQUALIFIED
Leja M NickaBrazilAsiya Javayant NEGOTIATION
Claire H ChuiUnited KingdomIoni Bowcher RENEWAL
Julie S RutaCanadaStephen Shaw NEGOTIATION
Jeanfrancois L TollnerIndiaXuxue Feng PROPOSAL
Kaitlin N BologniaArgentinaOnyama Limba NEW
David J CaldareraSpainBernardo Dominic PROPOSAL
Silvio Q BowleyJapanElwin Sharvill NEW
Chavez X FollerCanadaIvan Magalhaes UNQUALIFIED
Emily O ShinkoAustraliaElwin Sharvill NEGOTIATION
Aditya A BowleyBrazilAsiya Javayant PROPOSAL
Aruna W KolmetzGermanyAnna Fali QUALIFIED

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