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
Johnson G VenereRussiaXuxue Feng PROPOSAL
James V KuskoBrazilIvan Magalhaes QUALIFIED
Emily Y GarufiUnited KingdomIoni Bowcher PROPOSAL
Julie J VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Julie Z FigeroaItalyIoni Bowcher QUALIFIED
Arvin B RutaBrazilAmy Elsner QUALIFIED
Johnson C GlickIndiaIoni Bowcher PROPOSAL
Octavia T SaylorsArgentinaIvan Magalhaes NEGOTIATION
Clifford Y SergiFranceOnyama Limba NEGOTIATION
Maria S WieserSpainAmy Elsner RENEWAL
Smith S RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Aika K CaudyRussiaXuxue Feng QUALIFIED
Antonio Z PoquetteGermanyAmy Elsner RENEWAL
Claire J FerenczGermanyOnyama Limba NEW
Maria C TollnerItalyOnyama Limba PROPOSAL
Claire Q MaletFranceBernardo Dominic NEW
Kaitlin W CaldareraGermanyAsiya Javayant NEW
Julie A MaletItalyBernardo Dominic NEGOTIATION
Maisha H DilliardJapanIoni Bowcher PROPOSAL
Francesco F FigeroaJapanIvan Magalhaes NEGOTIATION
Cody J BowleyUnited KingdomAnna Fali NEGOTIATION
Kadeem I WieserItalyElwin Sharvill NEGOTIATION
Aika J ButtArgentinaIoni Bowcher NEGOTIATION
Antonio A VenereSpainStephen Shaw NEW
Silvio W DoeGermanyStephen Shaw QUALIFIED
Jones F CaudyIndiaAsiya Javayant PROPOSAL
Misaki W PoquetteUnited KingdomStephen Shaw UNQUALIFIED
James E ChuiSpainAnna Fali PROPOSAL
Silvio Z MarrierRussiaStephen Shaw QUALIFIED
Aditya C MorascaUnited KingdomStephen Shaw NEW
Ricardo U FigeroaIndiaAmy Elsner NEW
Wickens D NestleCanadaAmy Elsner NEGOTIATION
Maisha R GlickFranceAsiya Javayant PROPOSAL
Antonio M ShinkoArgentinaOnyama Limba NEW
Mujtaba C WhobreyCanadaAmy Elsner NEGOTIATION
Salvatore D FollerItalyAnna Fali QUALIFIED
Munro G StockhamGermanyAnna Fali NEGOTIATION
Munro H MorascaIndiaAnna Fali UNQUALIFIED
James W CaldareraItalyAsiya Javayant UNQUALIFIED
Juan M RutaBrazilOnyama Limba RENEWAL
Aika G NestleArgentinaIvan Magalhaes NEW
Izzy H DarakjyGermanyAmy Elsner UNQUALIFIED
Arvin C AmigonBrazilXuxue Feng NEGOTIATION
Clifford S SchemmerIndiaAnna Fali NEW
Aditya U GillianSpainAnna Fali QUALIFIED
Claire P MacleadUnited KingdomElwin Sharvill PROPOSAL
Jones V SaylorsBrazilIoni Bowcher QUALIFIED
Emily A RimRussiaAmy Elsner PROPOSAL
Aruna C OstroskyArgentinaIoni Bowcher NEGOTIATION
Munro S DoeAustraliaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas Z FigeroaRussiaElwin Sharvill QUALIFIED
David A GauchoJapanAsiya Javayant PROPOSAL
Darci T FlosiFranceBernardo Dominic PROPOSAL
Costa O DilliardAustraliaStephen Shaw UNQUALIFIED
Arvin U SergiCanadaAsiya Javayant NEW
Izzy I MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Murillo N DoeJapanXuxue Feng UNQUALIFIED
Salvatore Q AmigonFranceAnna Fali PROPOSAL
Chavez V FerenczGermanyIoni Bowcher RENEWAL
Adams Q ButtIndiaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio Y SaylorsAustralia2025-06-06Feltz Printing Service NEGOTIATION14Ivan Magalhaes
1001Mayumi R KolmetzIndia2025-05-28Benton, John B Jr UNQUALIFIED32Bernardo Dominic
1002Aika B ChuiUnited Kingdom2025-06-16Chanay, Jeffrey A Esq NEGOTIATION8Elwin Sharvill
1003Nicolas O MaletRussia2025-05-29Rangoni Of Florence UNQUALIFIED96Xuxue Feng
1004Maria W GarufiCanada2025-05-22Feiner Bros RENEWAL70Onyama Limba
1005Darci X OldroydBrazil2025-06-09Morlong Associates RENEWAL42Xuxue Feng
1006Arvin V MaletUnited Kingdom2025-06-15King, Christopher A Esq UNQUALIFIED32Ioni Bowcher
1007Chavez A CaldareraGermany2025-05-30Chapman, Ross E Esq NEW35Onyama Limba
1008Tony S DoeAustralia2025-06-01Printing Dimensions QUALIFIED92Amy Elsner
1009Nicolas R GarufiCanada2025-06-11Rousseaux, Michael Esq UNQUALIFIED71Elwin Sharvill
1010Jones Q BologniaGermany2025-06-16Truhlar And Truhlar Attys QUALIFIED98Onyama Limba
1011Costa G BowleyUnited Kingdom2025-05-20Dorl, James J Esq NEGOTIATION78Ivan Magalhaes
1012Claire H RoysterGermany2025-05-24Truhlar And Truhlar Attys NEGOTIATION59Onyama Limba
1013Clifford W NickaCanada2025-06-05Feiner Bros NEGOTIATION66Ioni Bowcher
1014Faith B FerenczSpain2025-06-12Commercial Press UNQUALIFIED57Amy Elsner
1015Chavez J CaldareraFrance2025-05-27Truhlar And Truhlar Attys NEGOTIATION63Amy Elsner
1016Juan W StockhamCanada2025-05-30Chemel, James L Cpa RENEWAL87Xuxue Feng
1017Isabel S FollerCanada2025-05-28King, Christopher A Esq UNQUALIFIED8Xuxue Feng
1018Misaki P BowleyRussia2025-06-05Feiner Bros PROPOSAL91Asiya Javayant
1019Kadeem H RulapaughArgentina2025-05-25Dorl, James J Esq NEW96Stephen Shaw
1020Tony D GlickUnited Kingdom2025-06-12Rangoni Of Florence QUALIFIED9Xuxue Feng
1021Ivar M ChuiGermany2025-05-26Dorl, James J Esq UNQUALIFIED40Onyama Limba
1022Jefferson Z ShinkoBrazil2025-06-11Feiner Bros QUALIFIED68Ivan Magalhaes
1023Tony Y MacleadJapan2025-06-14Feltz Printing Service UNQUALIFIED93Asiya Javayant
1024Munro C SchemmerIndia2025-05-28Feltz Printing Service PROPOSAL7Ivan Magalhaes
1025Jones G InouyeGermany2025-06-10King, Christopher A Esq PROPOSAL76Anna Fali
1026Aika K ButtAustralia2025-05-27Morlong Associates NEGOTIATION6Amy Elsner
1027Leon S GarufiGermany2025-05-21Benton, John B Jr UNQUALIFIED99Stephen Shaw
1028Antonio I SaylorsArgentina2025-06-13Chanay, Jeffrey A Esq UNQUALIFIED13Anna Fali
1029Kaitlin Z GarufiItaly2025-06-12Truhlar And Truhlar Attys PROPOSAL25Bernardo Dominic
1030Ivar Y KuskoIndia2025-06-14Buckley Miller Wright RENEWAL56Ioni Bowcher
1031James V BowleyArgentina2025-05-31Buckley Miller Wright QUALIFIED76Asiya Javayant
1032Costa I PaprockiJapan2025-06-12Rousseaux, Michael Esq UNQUALIFIED97Bernardo Dominic
1033Antonio X IturbideAustralia2025-06-08Printing Dimensions NEW31Onyama Limba
1034Salvatore X FlosiBrazil2025-05-21Printing Dimensions UNQUALIFIED29Asiya Javayant
1035Chavez J RimJapan2025-05-21Rousseaux, Michael Esq QUALIFIED83Stephen Shaw
1036Juan L TollnerSpain2025-06-11Feltz Printing Service PROPOSAL5Asiya Javayant
1037Smith G IturbideSpain2025-06-09Chemel, James L Cpa UNQUALIFIED96Ivan Magalhaes
1038Smith K MarrierCanada2025-06-15Printing Dimensions NEGOTIATION8Onyama Limba
1039Claire A CaldareraArgentina2025-06-09Buckley Miller Wright NEW58Ioni Bowcher
1040Claire B IturbideBrazil2025-05-26Feltz Printing Service RENEWAL58Onyama Limba
1041Greenwood S CampainGermany2025-05-18King, Christopher A Esq NEW59Onyama Limba
1042Octavia L StensethCanada2025-05-22Truhlar And Truhlar Attys NEGOTIATION91Bernardo Dominic
1043Maria V IturbideUnited Kingdom2025-06-14Printing Dimensions QUALIFIED17Ioni Bowcher
1044Nicolas J MarrierGermany2025-05-30King, Christopher A Esq PROPOSAL96Bernardo Dominic
1045Leja J DarakjyAustralia2025-06-10Printing Dimensions UNQUALIFIED80Xuxue Feng
1046Francesco B WieserJapan2025-05-20Dorl, James J Esq UNQUALIFIED62Asiya Javayant
1047Salvatore H AlbaresCanada2025-05-26Feiner Bros UNQUALIFIED73Bernardo Dominic
1048Silvio C StensethRussia2025-06-06Rousseaux, Michael Esq RENEWAL87Xuxue Feng
1049Maisha D FigeroaItaly2025-05-19Morlong Associates NEW41Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Francesco S RimIndiaStephen Shaw RENEWAL
Maria P DilliardIndiaAmy Elsner UNQUALIFIED
Johnson S GillianJapanIoni Bowcher RENEWAL
Tony K FigeroaUnited KingdomAnna Fali NEGOTIATION
Smith V BriddickGermanyAmy Elsner RENEWAL
Aditya L AmigonRussiaStephen Shaw NEW
Antonio H BowleyUnited KingdomXuxue Feng PROPOSAL
Antonio J OstroskyGermanyXuxue Feng NEGOTIATION
Jennifer E IturbideFranceAmy Elsner NEGOTIATION
Alejandro J GillianRussiaAmy Elsner NEW
Aditya A PoquetteItalyElwin Sharvill RENEWAL
Arvin M RutaArgentinaBernardo Dominic NEGOTIATION
Stacey R NestleRussiaBernardo Dominic UNQUALIFIED
Aika K FlosiUnited KingdomOnyama Limba RENEWAL
Clifford I BriddickCanadaIvan Magalhaes QUALIFIED
Tony V RutaFranceAsiya Javayant RENEWAL
Stacey E AmigonArgentinaStephen Shaw NEGOTIATION
Maria E StensethFranceBernardo Dominic NEGOTIATION
Juan D StensethCanadaIvan Magalhaes NEW
Leja N BowleyGermanyIvan Magalhaes NEGOTIATION
Aruna R PerinArgentinaAmy Elsner UNQUALIFIED
Faith M NestleItalyIvan Magalhaes NEW
Silvio Y SergiUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois F WaycottRussiaStephen Shaw RENEWAL
Silvio Y BriddickJapanAsiya Javayant NEGOTIATION
Cody S GauchoGermanyXuxue Feng UNQUALIFIED
Mayumi M ButtJapanAmy Elsner NEGOTIATION
Smith V SaylorsItalyAnna Fali NEGOTIATION
Izzy O RulapaughSpainIvan Magalhaes NEW
Francesco Z MaletCanadaAsiya Javayant UNQUALIFIED
Smith O SaylorsItalyElwin Sharvill PROPOSAL
Julie M PaprockiFranceAmy Elsner PROPOSAL
Ashley P MaletAustraliaStephen Shaw UNQUALIFIED
Salvatore R CaudySpainAnna Fali RENEWAL
Aditya Z MaletAustraliaOnyama Limba QUALIFIED
Darci J SergiJapanOnyama Limba NEGOTIATION
Munro Q BriddickAustraliaIvan Magalhaes UNQUALIFIED
Silvio O RoysterJapanAsiya Javayant NEW
David I KuskoItalyAnna Fali UNQUALIFIED
Ashley L VenereFranceIvan Magalhaes NEGOTIATION
Ivar M ChuiItalyIoni Bowcher NEW
James Y NestleCanadaElwin Sharvill NEW
Juan V RimFranceOnyama Limba UNQUALIFIED
Juan I BologniaItalyXuxue Feng PROPOSAL
Juan F NickaUnited KingdomAnna Fali NEW
Ivar B KuskoCanadaBernardo Dominic NEGOTIATION
Aika F GarufiAustraliaAmy Elsner NEW
Claire M MacleadSpainOnyama Limba UNQUALIFIED
Greenwood Q MaletRussiaElwin Sharvill UNQUALIFIED
Izzy R GauchoAustraliaAsiya Javayant PROPOSAL
Frozen Columns
Name
Francesco F Shinko
Morrow W Wieser
Jeanfrancois U Glick
Claire P Inouye
Jones G Albares
James N Royster
Octavia R Campain
Jeanfrancois Q Ostrosky
Octavia H Stockham
Stacey Z Wieser
Silvio I Garufi
Cody I Malet
Smith B Foller
Smith P Ostrosky
Morrow Y Nicka
Aditya Z Bolognia
Salvatore Y Garufi
Ashley R Perin
Leon A Dilliard
Faith E Tollner
Antonio W Rim
Antonio Z Nestle
Johnson G Foller
Juan F Amigon
Smith C Waycott
Deepesh U Paprocki
Chavez V Waycott
Murillo N Marrier
Claire Z Poquette
Leon B Shinko
Morrow Z Caldarera
James X Butt
Jefferson D Iturbide
Mujtaba Z Rulapaugh
Octavia K Caudy
Claire F Briddick
Adams U Vocelka
Jones N Venere
Rodrigues R Caudy
Juan Y Oldroyd
Ivar O Bowley
Cody X Vocelka
Costa D Briddick
Smith Y Perin
Cody Q Saylors
Costa W Poquette
Kaitlin X Venere
Claire J Darakjy
Mujtaba N Gillian
James F Garufi
IdCountryDate
1000Japan2025-06-08
1001Spain2025-06-12
1002France2025-05-18
1003India2025-05-31
1004France2025-05-20
1005Canada2025-06-06
1006Argentina2025-05-27
1007Brazil2025-05-27
1008France2025-06-04
1009United Kingdom2025-06-02
1010Germany2025-05-18
1011Germany2025-06-09
1012Spain2025-06-03
1013Canada2025-05-31
1014Argentina2025-05-27
1015Germany2025-05-19
1016Argentina2025-05-20
1017France2025-06-11
1018United Kingdom2025-05-24
1019Japan2025-06-02
1020India2025-06-09
1021Germany2025-06-06
1022Argentina2025-06-04
1023Russia2025-05-20
1024Germany2025-06-02
1025Canada2025-06-15
1026France2025-05-24
1027Germany2025-05-19
1028India2025-06-15
1029Spain2025-06-05
1030Italy2025-05-28
1031India2025-05-24
1032Germany2025-05-27
1033Italy2025-05-23
1034India2025-05-24
1035Spain2025-06-14
1036United Kingdom2025-06-07
1037Japan2025-05-18
1038Argentina2025-06-07
1039Italy2025-05-28
1040Australia2025-06-02
1041Russia2025-06-08
1042Australia2025-06-06
1043Argentina2025-06-09
1044Germany2025-06-13
1045Canada2025-06-15
1046Japan2025-06-02
1047Brazil2025-06-13
1048Germany2025-05-27
1049Russia2025-06-13

On-Demand Data

NameIdCountryDate
Nicolas A Tollner1000India2025-06-03
Silvio O Malet1001Spain2025-05-18
Kadeem S Saylors1002Italy2025-05-22
Faith I Poquette1003Argentina2025-06-06
Ricardo R Marrier1004Australia2025-06-09
Jefferson P Caldarera1005Spain2025-06-08
Antonio W Ferencz1006Argentina2025-05-18
Faith Z Ostrosky1007Argentina2025-05-20
Aika C Malet1008Brazil2025-05-25
Stacey F Bolognia1009Argentina2025-06-05
Octavia H Campain1010United Kingdom2025-05-28
Mayumi Z Marrier1011Italy2025-05-21
Ashley G Saylors1012France2025-05-23
Octavia S Amigon1013India2025-06-03
Julie N Flosi1014Spain2025-06-13
Emily B Tollner1015India2025-06-01
Murillo X Garufi1016India2025-05-24
Octavia C Butt1017Brazil2025-06-13
Francesco I Slusarski1018Japan2025-05-22
Costa B Venere1019Germany2025-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel N NickaRussiaBernardo Dominic UNQUALIFIED
Greenwood L MacleadRussiaAnna Fali NEGOTIATION
Kadeem I IturbideArgentinaOnyama Limba QUALIFIED
Jefferson K RulapaughGermanyStephen Shaw NEW
Jennifer X RutaIndiaElwin Sharvill PROPOSAL
Munro S InouyeIndiaXuxue Feng RENEWAL
Maisha Z SchemmerCanadaAsiya Javayant UNQUALIFIED
Ashley Y MaletSpainBernardo Dominic NEGOTIATION
Munro E BriddickGermanyIvan Magalhaes PROPOSAL
Francesco C VenereItalyElwin Sharvill QUALIFIED
Ashley O ButtFranceXuxue Feng NEW
Costa T RulapaughItalyOnyama Limba RENEWAL
Arvin X VocelkaBrazilOnyama Limba QUALIFIED
Mujtaba L DilliardIndiaAnna Fali RENEWAL
Wickens Z FerenczJapanXuxue Feng NEGOTIATION
Stacey U SchemmerJapanAnna Fali PROPOSAL
Deepesh N TollnerRussiaAmy Elsner PROPOSAL
Munro M PerinRussiaStephen Shaw RENEWAL
Wickens O FerenczArgentinaOnyama Limba NEW
Isabel S SchemmerUnited KingdomStephen Shaw NEW
Arvin A GauchoGermanyAnna Fali PROPOSAL
Misaki L StensethItalyIoni Bowcher QUALIFIED
Antonio G GarufiFranceIvan Magalhaes UNQUALIFIED
Ricardo M WaycottIndiaAsiya Javayant PROPOSAL
Ashley B WaycottJapanOnyama Limba NEW
Misaki W BowleyAustraliaIvan Magalhaes NEGOTIATION
Sinclair P RoysterBrazilAsiya Javayant UNQUALIFIED
Arvin O OldroydItalyIvan Magalhaes PROPOSAL
Juan E RutaFranceElwin Sharvill NEGOTIATION
Emily Y StensethBrazilElwin Sharvill NEW
Murillo C DarakjyCanadaIvan Magalhaes QUALIFIED
Maria L GillianAustraliaIoni Bowcher NEGOTIATION
Costa J StockhamAustraliaAsiya Javayant UNQUALIFIED
Darci T StockhamRussiaIoni Bowcher NEW
Maria G StockhamBrazilOnyama Limba QUALIFIED
James E MacleadBrazilAsiya Javayant QUALIFIED
Jeanfrancois O CaudyBrazilXuxue Feng NEGOTIATION
Aditya Y MacleadJapanBernardo Dominic PROPOSAL
David V MaletArgentinaIoni Bowcher PROPOSAL
Leja C FollerBrazilIoni Bowcher PROPOSAL

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