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
Ashley X VenereBrazilIoni Bowcher QUALIFIED
Emily B FlosiSpainElwin Sharvill QUALIFIED
Stacey N InouyeJapanAmy Elsner NEW
Sinclair C VenereRussiaOnyama Limba UNQUALIFIED
Leon D SlusarskiGermanyAmy Elsner PROPOSAL
Munro E MacleadCanadaAmy Elsner NEW
Maria D WieserBrazilIvan Magalhaes PROPOSAL
Greenwood V MarrierGermanyIvan Magalhaes PROPOSAL
Murillo M NickaUnited KingdomIoni Bowcher NEGOTIATION
Smith N OldroydItalyXuxue Feng RENEWAL
Cody Y KolmetzJapanIvan Magalhaes UNQUALIFIED
Emily O KuskoSpainAnna Fali NEGOTIATION
Arvin M AmigonBrazilElwin Sharvill QUALIFIED
Nicolas S InouyeUnited KingdomAsiya Javayant NEGOTIATION
Johnson O RulapaughItalyStephen Shaw UNQUALIFIED
Francesco W CampainIndiaElwin Sharvill NEGOTIATION
Mayumi Q AlbaresUnited KingdomIoni Bowcher RENEWAL
Ivar N StensethCanadaAnna Fali PROPOSAL
Clifford V BriddickIndiaIoni Bowcher PROPOSAL
Smith P MaletArgentinaElwin Sharvill NEW
Jefferson U GauchoBrazilIvan Magalhaes QUALIFIED
Deepesh H SergiGermanyOnyama Limba QUALIFIED
Aruna G FlosiItalyIvan Magalhaes NEGOTIATION
Jeanfrancois V FerenczSpainOnyama Limba PROPOSAL
Murillo M PoquetteJapanAnna Fali RENEWAL
Deepesh Q VenereSpainIoni Bowcher NEW
Aruna T PoquetteJapanIvan Magalhaes UNQUALIFIED
Jefferson T AmigonJapanStephen Shaw QUALIFIED
Isabel K FollerRussiaStephen Shaw QUALIFIED
Alejandro S MaletSpainElwin Sharvill NEGOTIATION
Alejandro N MaletRussiaAsiya Javayant PROPOSAL
Chavez F MorascaSpainAsiya Javayant QUALIFIED
Maisha K OstroskyRussiaIvan Magalhaes NEW
Arvin P WieserUnited KingdomIvan Magalhaes NEGOTIATION
Mujtaba W BowleyUnited KingdomAmy Elsner RENEWAL
Tony J SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Salvatore T CaudyUnited KingdomAmy Elsner UNQUALIFIED
Deepesh N StensethRussiaAsiya Javayant NEW
Adams V TollnerIndiaAnna Fali NEW
Leja I MorascaUnited KingdomAsiya Javayant QUALIFIED
Morrow N ShinkoIndiaAmy Elsner PROPOSAL
Francesco F GlickUnited KingdomAnna Fali NEW
Juan C DoeGermanyStephen Shaw QUALIFIED
Morrow B WhobreyIndiaElwin Sharvill QUALIFIED
Jefferson K AlbaresFranceIvan Magalhaes PROPOSAL
Aika O SergiCanadaOnyama Limba NEGOTIATION
Faith E WhobreyGermanyIvan Magalhaes UNQUALIFIED
Julie H RimArgentinaAnna Fali NEW
Alejandro W NickaItalyAmy Elsner RENEWAL
Faith I PoquetteIndiaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James S BologniaBrazilBernardo Dominic QUALIFIED
Morrow T SaylorsItalyAsiya Javayant UNQUALIFIED
Murillo H FlosiAustraliaBernardo Dominic NEGOTIATION
Mayumi Y OstroskyJapanOnyama Limba QUALIFIED
Adams K ChuiBrazilIvan Magalhaes NEGOTIATION
Wickens V ChuiJapanXuxue Feng QUALIFIED
Greenwood S CampainCanadaIoni Bowcher UNQUALIFIED
Cody W NickaUnited KingdomIoni Bowcher PROPOSAL
Alejandro F MaletAustraliaAsiya Javayant NEGOTIATION
Kadeem J FigeroaGermanyBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy F OldroydArgentina2024-04-25King, Christopher A Esq NEW80Ioni Bowcher
1001Misaki B NestleAustralia2024-05-20Rangoni Of Florence NEW79Amy Elsner
1002Aruna M MarrierCanada2024-05-24Feltz Printing Service NEW67Anna Fali
1003Jennifer K BowleyGermany2024-05-08Chemel, James L Cpa PROPOSAL77Xuxue Feng
1004Sinclair T KolmetzRussia2024-04-28Buckley Miller Wright QUALIFIED48Elwin Sharvill
1005Greenwood E SaylorsUnited Kingdom2024-05-23Printing Dimensions NEW76Bernardo Dominic
1006Juan P WhobreyItaly2024-04-29Chapman, Ross E Esq PROPOSAL37Amy Elsner
1007Aditya N MarrierBrazil2024-05-14Chanay, Jeffrey A Esq RENEWAL58Stephen Shaw
1008Tony P VocelkaBrazil2024-04-29Buckley Miller Wright RENEWAL17Asiya Javayant
1009Alejandro O BologniaItaly2024-05-24Printing Dimensions PROPOSAL49Elwin Sharvill
1010David G MorascaItaly2024-05-04Feiner Bros NEGOTIATION91Amy Elsner
1011Salvatore K MaletItaly2024-05-02Morlong Associates NEW39Onyama Limba
1012Kadeem H GillianFrance2024-04-27Chapman, Ross E Esq NEGOTIATION28Ivan Magalhaes
1013Alejandro A PaprockiAustralia2024-05-06Feiner Bros NEGOTIATION79Elwin Sharvill
1014Misaki Y ChuiSpain2024-05-11Morlong Associates NEGOTIATION25Ivan Magalhaes
1015Aruna S WaycottGermany2024-05-13Rousseaux, Michael Esq UNQUALIFIED58Amy Elsner
1016Maisha U InouyeFrance2024-05-19Feiner Bros NEGOTIATION58Onyama Limba
1017Alejandro K VocelkaCanada2024-05-10Commercial Press QUALIFIED7Onyama Limba
1018Aditya L VocelkaItaly2024-05-09Benton, John B Jr PROPOSAL35Anna Fali
1019Silvio Z BriddickAustralia2024-05-22Benton, John B Jr NEW59Onyama Limba
1020Alejandro P BologniaIndia2024-04-25Rangoni Of Florence QUALIFIED19Anna Fali
1021Costa Y InouyeGermany2024-05-07Printing Dimensions NEGOTIATION86Xuxue Feng
1022Misaki Y CampainFrance2024-05-14Morlong Associates PROPOSAL69Ivan Magalhaes
1023Jeanfrancois R TollnerIndia2024-05-02Dorl, James J Esq NEGOTIATION72Onyama Limba
1024Stacey T StensethRussia2024-04-29Chemel, James L Cpa NEW21Ioni Bowcher
1025Aika I WhobreyFrance2024-05-23Rousseaux, Michael Esq UNQUALIFIED44Ioni Bowcher
1026Francesco P RoysterArgentina2024-05-13Feiner Bros QUALIFIED61Ioni Bowcher
1027Deepesh H MorascaItaly2024-05-19Printing Dimensions UNQUALIFIED27Asiya Javayant
1028Costa H NestleSpain2024-04-25Feiner Bros NEW9Anna Fali
1029Julie G GlickCanada2024-05-09Truhlar And Truhlar Attys NEW47Stephen Shaw
1030Faith E RulapaughRussia2024-05-02Chemel, James L Cpa RENEWAL56Amy Elsner
1031Cody V TollnerJapan2024-05-08Truhlar And Truhlar Attys NEW31Ivan Magalhaes
1032Mujtaba N NestleJapan2024-04-26Chanay, Jeffrey A Esq NEW6Anna Fali
1033Ivar T InouyeRussia2024-05-16Chapman, Ross E Esq QUALIFIED79Onyama Limba
1034Antonio F PerinRussia2024-05-11Chemel, James L Cpa NEW86Xuxue Feng
1035Cody C FerenczBrazil2024-04-28Commercial Press NEGOTIATION4Anna Fali
1036Juan C CampainArgentina2024-05-17Truhlar And Truhlar Attys RENEWAL49Anna Fali
1037Leja U PaprockiBrazil2024-05-22Chapman, Ross E Esq UNQUALIFIED96Elwin Sharvill
1038Sinclair E SergiSpain2024-05-06Commercial Press RENEWAL10Ivan Magalhaes
1039Stacey A AlbaresItaly2024-05-17Feltz Printing Service QUALIFIED40Xuxue Feng
1040Darci O FerenczCanada2024-05-01Chanay, Jeffrey A Esq NEGOTIATION21Amy Elsner
1041Nicolas Q SlusarskiIndia2024-05-14Dorl, James J Esq PROPOSAL81Asiya Javayant
1042Jeanfrancois Q SlusarskiGermany2024-05-13Chanay, Jeffrey A Esq UNQUALIFIED57Ioni Bowcher
1043James W AlbaresRussia2024-05-14Buckley Miller Wright PROPOSAL23Onyama Limba
1044Wickens I WaycottIndia2024-05-01Chapman, Ross E Esq RENEWAL65Ivan Magalhaes
1045Faith C CampainIndia2024-04-25Rangoni Of Florence UNQUALIFIED66Stephen Shaw
1046Aika F FlosiUnited Kingdom2024-04-25Chemel, James L Cpa PROPOSAL53Ioni Bowcher
1047Mujtaba Q FollerSpain2024-05-10Chemel, James L Cpa UNQUALIFIED92Asiya Javayant
1048Jefferson M PerinUnited Kingdom2024-04-29Morlong Associates RENEWAL24Ivan Magalhaes
1049Francesco Z SergiCanada2024-05-08Morlong Associates PROPOSAL41Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Adams R RutaCanadaIoni Bowcher RENEWAL
Smith X MorascaCanadaAnna Fali QUALIFIED
Salvatore J MaletCanadaOnyama Limba PROPOSAL
Stacey J CampainJapanAmy Elsner PROPOSAL
Murillo D OstroskyFranceBernardo Dominic NEGOTIATION
Julie U KolmetzItalyBernardo Dominic NEW
Aditya O GillianBrazilIvan Magalhaes NEGOTIATION
Chavez B InouyeSpainIoni Bowcher RENEWAL
Emily P GlickFranceAmy Elsner NEW
Wickens B KuskoItalyElwin Sharvill RENEWAL
Aditya Z StockhamUnited KingdomAmy Elsner UNQUALIFIED
Jones A SlusarskiItalyAmy Elsner RENEWAL
Ricardo Y MacleadBrazilXuxue Feng QUALIFIED
Aika K OstroskyFranceAnna Fali NEGOTIATION
Ivar C IturbideSpainBernardo Dominic NEGOTIATION
Mujtaba M OstroskyJapanAnna Fali NEW
Alejandro Q IturbideSpainBernardo Dominic UNQUALIFIED
Wickens Z AlbaresItalyOnyama Limba NEGOTIATION
Darci V MaletSpainAnna Fali PROPOSAL
Mayumi G CampainJapanOnyama Limba NEGOTIATION
Maisha B MacleadBrazilOnyama Limba NEW
Rodrigues L StensethBrazilXuxue Feng NEGOTIATION
Francesco S OldroydIndiaBernardo Dominic NEGOTIATION
Kadeem C VenereCanadaIvan Magalhaes UNQUALIFIED
Jefferson D MacleadItalyAnna Fali NEW
Smith P AlbaresRussiaAmy Elsner PROPOSAL
Arvin V SaylorsFranceBernardo Dominic NEGOTIATION
Aditya Q DarakjyIndiaStephen Shaw NEW
Costa I MaletGermanyStephen Shaw PROPOSAL
Ashley X SergiBrazilElwin Sharvill RENEWAL
Mujtaba K IturbideUnited KingdomStephen Shaw PROPOSAL
Mujtaba S BowleyCanadaAmy Elsner NEW
Kaitlin K SchemmerArgentinaXuxue Feng UNQUALIFIED
Antonio H SergiFranceOnyama Limba QUALIFIED
Tony Z MarrierGermanyXuxue Feng NEGOTIATION
David N GillianSpainIoni Bowcher RENEWAL
James E VenereUnited KingdomAsiya Javayant NEW
Arvin Z AlbaresGermanyXuxue Feng NEGOTIATION
Izzy L GarufiArgentinaIoni Bowcher NEW
James Z SlusarskiUnited KingdomBernardo Dominic RENEWAL
Octavia I PerinGermanyAmy Elsner NEW
Sinclair R FollerArgentinaAnna Fali NEW
Morrow J NestleArgentinaOnyama Limba UNQUALIFIED
Tony V RimBrazilIvan Magalhaes PROPOSAL
Munro A AlbaresRussiaBernardo Dominic NEGOTIATION
Wickens T GarufiSpainIoni Bowcher NEGOTIATION
Emily Z KolmetzUnited KingdomElwin Sharvill RENEWAL
Aruna U PaprockiGermanyIoni Bowcher NEW
Darci Y ButtUnited KingdomAmy Elsner PROPOSAL
Silvio Q MacleadSpainBernardo Dominic NEW
Frozen Columns
Name
Kadeem D Nicka
Isabel B Gillian
Maria V Glick
Cody H Malet
Maisha R Malet
Silvio M Royster
Greenwood O Nicka
Maisha G Tollner
Munro N Stockham
Mayumi O Sergi
Murillo O Campain
Jefferson H Iturbide
Leon D Venere
Arvin G Malet
Ricardo F Ferencz
Tony T Amigon
Octavia A Gillian
Kaitlin R Perin
Deepesh K Venere
Jefferson E Malet
James D Rulapaugh
Wickens V Saylors
Maria B Ostrosky
Silvio B Rulapaugh
Sinclair M Venere
Octavia Q Maclead
Rodrigues W Campain
Nicolas Z Bowley
Smith W Iturbide
Izzy P Sergi
Jones B Ruta
Stacey J Nicka
Sinclair N Sergi
Murillo T Schemmer
Deepesh Z Whobrey
Juan K Tollner
Maria X Paprocki
Maisha H Garufi
Aditya V Stenseth
Aditya A Garufi
Chavez S Gillian
Jennifer H Bowley
Aruna B Slusarski
Morrow M Venere
Octavia K Chui
Jeanfrancois E Caldarera
Stacey S Bowley
Munro V Stenseth
Isabel S Waycott
Munro F Bowley
IdCountryDate
1000Germany2024-04-28
1001United Kingdom2024-04-27
1002Canada2024-04-27
1003Argentina2024-05-10
1004Argentina2024-05-13
1005Canada2024-05-03
1006Australia2024-05-07
1007Argentina2024-05-16
1008Canada2024-04-25
1009Brazil2024-05-14
1010Russia2024-04-28
1011Brazil2024-05-12
1012Germany2024-05-01
1013Germany2024-05-16
1014Germany2024-05-21
1015Brazil2024-04-29
1016France2024-05-24
1017United Kingdom2024-04-28
1018Japan2024-05-11
1019India2024-04-27
1020France2024-05-08
1021France2024-04-28
1022Japan2024-05-08
1023Italy2024-05-16
1024Japan2024-05-07
1025India2024-05-14
1026Germany2024-04-29
1027Japan2024-05-22
1028Brazil2024-05-22
1029Australia2024-05-23
1030India2024-05-24
1031Russia2024-05-05
1032Russia2024-04-28
1033Spain2024-05-08
1034Australia2024-04-29
1035Spain2024-05-09
1036Brazil2024-04-30
1037Spain2024-05-18
1038Russia2024-05-20
1039India2024-04-28
1040Germany2024-05-01
1041Germany2024-04-28
1042Germany2024-04-25
1043Japan2024-05-17
1044India2024-05-18
1045Russia2024-05-23
1046Canada2024-05-24
1047Germany2024-04-26
1048Spain2024-05-07
1049Italy2024-05-24

On-Demand Data

NameIdCountryDate
Murillo Z Bowley1000United Kingdom2024-05-01
Murillo G Foller1001United Kingdom2024-05-04
Izzy H Inouye1002Italy2024-05-08
Mayumi C Saylors1003United Kingdom2024-04-27
Darci M Venere1004Russia2024-04-28
Rodrigues L Ostrosky1005Australia2024-05-12
Jefferson X Stenseth1006Russia2024-05-16
Tony P Gaucho1007Australia2024-05-16
Stacey V Campain1008United Kingdom2024-05-08
Darci C Slusarski1009Spain2024-05-12
Munro P Shinko1010Russia2024-05-18
Cody Z Shinko1011Germany2024-05-15
Darci S Chui1012Japan2024-05-21
Tony Q Maclead1013Spain2024-04-28
Sinclair A Caldarera1014Russia2024-05-09
Kadeem N Gillian1015Brazil2024-05-10
Sinclair T Doe1016Argentina2024-05-05
Jeanfrancois E Schemmer1017France2024-04-30
Ivar A Stenseth1018Spain2024-05-04
Aditya B Caldarera1019Canada2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel A AmigonJapanElwin Sharvill PROPOSAL
Maria D PoquetteIndiaIvan Magalhaes NEW
Adams X BowleyBrazilIoni Bowcher NEW
Johnson Y TollnerRussiaAmy Elsner PROPOSAL
Clifford X RulapaughItalyStephen Shaw RENEWAL
Johnson M FlosiItalyIoni Bowcher NEW
Alejandro C MaletGermanyAmy Elsner NEW
Mayumi W NickaItalyAsiya Javayant NEGOTIATION
Cody H FlosiFranceElwin Sharvill PROPOSAL
Greenwood Z RimItalyXuxue Feng QUALIFIED
Emily T AlbaresFranceBernardo Dominic RENEWAL
Aika S SchemmerGermanyIvan Magalhaes PROPOSAL
Isabel G SaylorsGermanyXuxue Feng QUALIFIED
Mujtaba X MacleadBrazilAsiya Javayant NEW
Silvio C GillianCanadaAsiya Javayant UNQUALIFIED
Ricardo A FlosiBrazilAsiya Javayant PROPOSAL
Emily Z WaycottJapanElwin Sharvill QUALIFIED
Kadeem P VenereItalyAmy Elsner UNQUALIFIED
Francesco O WhobreyArgentinaXuxue Feng UNQUALIFIED
Juan H WieserAustraliaAsiya Javayant NEGOTIATION
Morrow K PoquetteUnited KingdomStephen Shaw NEGOTIATION
Julie M ChuiRussiaElwin Sharvill QUALIFIED
Ivar Z InouyeIndiaXuxue Feng RENEWAL
Ivar B MacleadGermanyAnna Fali UNQUALIFIED
Darci H OldroydJapanXuxue Feng NEW
Munro L PoquetteCanadaElwin Sharvill PROPOSAL
Aruna M GauchoUnited KingdomAsiya Javayant UNQUALIFIED
Juan D SlusarskiFranceAsiya Javayant NEGOTIATION
Tony Y MaletJapanStephen Shaw NEW
Mujtaba A DilliardFranceAsiya Javayant NEW
Wickens J BriddickBrazilIvan Magalhaes NEW
Deepesh G ButtCanadaAmy Elsner NEW
Maria X CaldareraJapanAsiya Javayant NEW
Juan R WieserIndiaOnyama Limba QUALIFIED
Clifford P FerenczGermanyBernardo Dominic QUALIFIED
Tony E BriddickAustraliaStephen Shaw QUALIFIED
Deepesh E StockhamAustraliaAmy Elsner RENEWAL
Julie S FigeroaAustraliaAnna Fali QUALIFIED
Jeanfrancois Z BowleyArgentinaAmy Elsner PROPOSAL
Morrow R SchemmerGermanyAsiya Javayant 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>