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
Leja Z MarrierIndiaAmy Elsner PROPOSAL
Juan M VenereAustraliaAnna Fali PROPOSAL
Sinclair D DarakjyGermanyElwin Sharvill RENEWAL
Silvio N MaletCanadaXuxue Feng NEW
Claire J PaprockiIndiaStephen Shaw RENEWAL
Clifford S GillianRussiaBernardo Dominic NEGOTIATION
Chavez Y MorascaItalyAsiya Javayant PROPOSAL
Aditya K FlosiBrazilOnyama Limba RENEWAL
Arvin D InouyeRussiaStephen Shaw RENEWAL
Adams T WieserIndiaAmy Elsner RENEWAL
Mayumi M FerenczJapanIoni Bowcher QUALIFIED
Chavez H SchemmerAustraliaIvan Magalhaes RENEWAL
Ivar P RutaRussiaIvan Magalhaes QUALIFIED
Adams V PaprockiCanadaXuxue Feng UNQUALIFIED
Salvatore N OldroydSpainXuxue Feng NEGOTIATION
Adams M DilliardRussiaAnna Fali QUALIFIED
Rodrigues J FlosiUnited KingdomIvan Magalhaes NEW
Ashley X PaprockiBrazilBernardo Dominic QUALIFIED
Jefferson O KolmetzFranceAmy Elsner RENEWAL
Maria G StensethFranceAnna Fali PROPOSAL
Kaitlin N MorascaGermanyOnyama Limba QUALIFIED
Isabel P PaprockiItalyIoni Bowcher NEGOTIATION
Emily G DarakjySpainBernardo Dominic UNQUALIFIED
Chavez R GillianGermanyElwin Sharvill RENEWAL
Isabel W SchemmerItalyIoni Bowcher QUALIFIED
Izzy T GauchoArgentinaStephen Shaw PROPOSAL
Cody X FerenczCanadaOnyama Limba NEW
Salvatore D InouyeItalyAmy Elsner UNQUALIFIED
James T RulapaughAustraliaOnyama Limba PROPOSAL
Adams F SergiItalyElwin Sharvill UNQUALIFIED
Tony J CampainAustraliaElwin Sharvill NEGOTIATION
Mayumi T FlosiJapanIoni Bowcher NEW
Ivar J InouyeBrazilBernardo Dominic NEW
Alejandro R MorascaBrazilOnyama Limba NEGOTIATION
Jefferson K OstroskyBrazilAnna Fali UNQUALIFIED
Julie A FollerArgentinaOnyama Limba NEGOTIATION
Aruna P ButtJapanStephen Shaw UNQUALIFIED
Mayumi D PerinRussiaElwin Sharvill RENEWAL
Faith M ShinkoIndiaStephen Shaw RENEWAL
Tony B MarrierAustraliaBernardo Dominic PROPOSAL
Aditya L TollnerIndiaAnna Fali NEW
Costa B SergiAustraliaXuxue Feng NEGOTIATION
Octavia G CaldareraArgentinaXuxue Feng QUALIFIED
Darci A IturbideFranceIvan Magalhaes NEGOTIATION
Smith J FerenczSpainXuxue Feng QUALIFIED
Murillo C SchemmerRussiaXuxue Feng NEGOTIATION
Julie D MaletJapanIoni Bowcher NEGOTIATION
Faith S FollerItalyAnna Fali NEGOTIATION
Greenwood T FigeroaGermanyAsiya Javayant NEW
Deepesh E InouyeBrazilIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Cody B ChuiRussiaIvan Magalhaes RENEWAL
Chavez A IturbideJapanOnyama Limba QUALIFIED
Maisha X VenereUnited KingdomStephen Shaw UNQUALIFIED
Juan L VocelkaBrazilElwin Sharvill QUALIFIED
Faith T ButtUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues T AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Munro L GauchoBrazilElwin Sharvill RENEWAL
Smith K OstroskyUnited KingdomAmy Elsner NEW
Darci X MarrierCanadaAsiya Javayant PROPOSAL
Aika B FerenczItalyAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood D PerinRussia2026-08-12Commercial Press NEW89Xuxue Feng
1001Maisha S MarrierFrance2026-07-26Printing Dimensions NEW14Ioni Bowcher
1002Greenwood G GillianGermany2026-07-30Rousseaux, Michael Esq QUALIFIED52Ivan Magalhaes
1003Izzy P ChuiArgentina2026-08-01King, Christopher A Esq NEW15Bernardo Dominic
1004Clifford A OldroydFrance2026-08-15King, Christopher A Esq RENEWAL93Bernardo Dominic
1005Cody Y CaldareraIndia2026-07-21King, Christopher A Esq NEGOTIATION87Onyama Limba
1006Jefferson I CaldareraBrazil2026-08-07Benton, John B Jr UNQUALIFIED23Ivan Magalhaes
1007Costa W ButtFrance2026-08-07Feiner Bros RENEWAL41Ioni Bowcher
1008Mayumi U ButtArgentina2026-08-15Truhlar And Truhlar Attys UNQUALIFIED93Ioni Bowcher
1009Rodrigues Y TollnerBrazil2026-08-18Rousseaux, Michael Esq NEGOTIATION16Ioni Bowcher
1010Chavez X GlickRussia2026-07-31Truhlar And Truhlar Attys PROPOSAL47Onyama Limba
1011Sinclair O GarufiRussia2026-07-27Benton, John B Jr NEGOTIATION20Anna Fali
1012Aruna Z FollerRussia2026-07-28Morlong Associates UNQUALIFIED25Bernardo Dominic
1013Greenwood M RimUnited Kingdom2026-08-12Buckley Miller Wright UNQUALIFIED95Bernardo Dominic
1014Jennifer P BriddickSpain2026-07-24Chapman, Ross E Esq RENEWAL62Bernardo Dominic
1015Leja C FigeroaRussia2026-07-29Rangoni Of Florence UNQUALIFIED99Bernardo Dominic
1016Jones M ButtCanada2026-07-25Printing Dimensions UNQUALIFIED44Amy Elsner
1017Kadeem V InouyeFrance2026-08-15Morlong Associates RENEWAL87Amy Elsner
1018Jones T SlusarskiArgentina2026-08-14Feltz Printing Service RENEWAL38Onyama Limba
1019Emily G VenereUnited Kingdom2026-08-07Rangoni Of Florence PROPOSAL69Amy Elsner
1020Isabel O SchemmerUnited Kingdom2026-08-08Buckley Miller Wright NEW83Bernardo Dominic
1021Tony G FlosiJapan2026-08-04Benton, John B Jr NEW66Xuxue Feng
1022Smith W TollnerFrance2026-08-14Truhlar And Truhlar Attys QUALIFIED45Stephen Shaw
1023Tony S OstroskyCanada2026-08-14Morlong Associates NEGOTIATION94Bernardo Dominic
1024Izzy G NestleItaly2026-07-27Commercial Press UNQUALIFIED88Amy Elsner
1025Isabel K DarakjyJapan2026-08-08Rangoni Of Florence NEGOTIATION8Asiya Javayant
1026Murillo V AlbaresUnited Kingdom2026-07-25Morlong Associates QUALIFIED23Anna Fali
1027Murillo C StensethJapan2026-07-27Rangoni Of Florence NEGOTIATION44Ioni Bowcher
1028Darci B InouyeIndia2026-08-01Chanay, Jeffrey A Esq NEGOTIATION8Elwin Sharvill
1029Nicolas V RoysterBrazil2026-07-31Buckley Miller Wright NEGOTIATION57Xuxue Feng
1030Adams C StockhamAustralia2026-07-25Chapman, Ross E Esq QUALIFIED60Xuxue Feng
1031Aditya U FigeroaArgentina2026-08-08Feiner Bros QUALIFIED7Stephen Shaw
1032Jefferson M SaylorsBrazil2026-08-11Feltz Printing Service QUALIFIED36Amy Elsner
1033Claire A TollnerJapan2026-08-08Chemel, James L Cpa NEW10Elwin Sharvill
1034Leja D MarrierSpain2026-08-09King, Christopher A Esq RENEWAL24Asiya Javayant
1035Emily W RimRussia2026-08-12Dorl, James J Esq UNQUALIFIED2Anna Fali
1036Rodrigues W InouyeCanada2026-07-30Dorl, James J Esq PROPOSAL94Asiya Javayant
1037Isabel U SlusarskiArgentina2026-08-05Benton, John B Jr UNQUALIFIED18Xuxue Feng
1038Aruna H PoquetteUnited Kingdom2026-08-01Commercial Press PROPOSAL78Asiya Javayant
1039Munro C SaylorsUnited Kingdom2026-07-25Rousseaux, Michael Esq UNQUALIFIED62Anna Fali
1040Emily L GillianUnited Kingdom2026-07-25Morlong Associates RENEWAL33Bernardo Dominic
1041Maisha F SlusarskiFrance2026-07-22Morlong Associates NEW10Asiya Javayant
1042Darci L VocelkaArgentina2026-08-07King, Christopher A Esq NEGOTIATION51Bernardo Dominic
1043Johnson C DilliardUnited Kingdom2026-07-25Benton, John B Jr QUALIFIED72Stephen Shaw
1044Rodrigues R GauchoUnited Kingdom2026-08-09Morlong Associates QUALIFIED50Asiya Javayant
1045Smith X GlickIndia2026-07-25Commercial Press PROPOSAL18Elwin Sharvill
1046Kadeem Z CaldareraJapan2026-07-23Dorl, James J Esq QUALIFIED53Asiya Javayant
1047Murillo M MaletAustralia2026-07-28Feltz Printing Service QUALIFIED98Ioni Bowcher
1048Ashley W TollnerRussia2026-07-27Buckley Miller Wright RENEWAL91Ivan Magalhaes
1049Deepesh E DilliardIndia2026-08-12Chanay, Jeffrey A Esq QUALIFIED81Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Octavia U ButtFranceStephen Shaw PROPOSAL
Aruna C SlusarskiCanadaIoni Bowcher RENEWAL
David E OldroydGermanyIoni Bowcher QUALIFIED
Stacey P NestleGermanyElwin Sharvill UNQUALIFIED
Silvio J MaletAustraliaElwin Sharvill UNQUALIFIED
Munro L BowleyCanadaOnyama Limba QUALIFIED
Jefferson A RulapaughUnited KingdomBernardo Dominic NEW
Leja D IturbideArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues Q GillianCanadaAmy Elsner PROPOSAL
Tony V WhobreyUnited KingdomAsiya Javayant RENEWAL
Alejandro G VocelkaIndiaElwin Sharvill NEGOTIATION
Juan J IturbideFranceIvan Magalhaes NEW
Tony L SaylorsIndiaBernardo Dominic PROPOSAL
Juan W RulapaughArgentinaElwin Sharvill UNQUALIFIED
Nicolas N AmigonCanadaIoni Bowcher QUALIFIED
Rodrigues M BriddickCanadaBernardo Dominic NEGOTIATION
Deepesh P KuskoRussiaIvan Magalhaes NEGOTIATION
Julie T MaletGermanyXuxue Feng QUALIFIED
Antonio W DilliardFranceBernardo Dominic QUALIFIED
Tony Z SaylorsArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois V SaylorsCanadaOnyama Limba UNQUALIFIED
Isabel Z PerinItalyIvan Magalhaes QUALIFIED
Jones D BriddickArgentinaBernardo Dominic QUALIFIED
Greenwood R MaletCanadaIvan Magalhaes QUALIFIED
Emily I RimArgentinaIvan Magalhaes UNQUALIFIED
Nicolas J MaletIndiaElwin Sharvill RENEWAL
Francesco A RimUnited KingdomAnna Fali NEW
Izzy T ShinkoBrazilElwin Sharvill RENEWAL
Mayumi I SchemmerGermanyAnna Fali NEGOTIATION
Juan F DarakjyFranceBernardo Dominic UNQUALIFIED
Silvio Q GarufiRussiaBernardo Dominic NEW
Aruna C DoeSpainOnyama Limba NEGOTIATION
Murillo W GillianBrazilElwin Sharvill RENEWAL
Claire S FerenczItalyStephen Shaw NEGOTIATION
Maria J BologniaAustraliaXuxue Feng PROPOSAL
Ivar G BowleyUnited KingdomStephen Shaw UNQUALIFIED
Mayumi B DilliardBrazilOnyama Limba NEGOTIATION
Alejandro P FlosiRussiaElwin Sharvill QUALIFIED
Misaki I MaletAustraliaBernardo Dominic NEW
Costa E GillianUnited KingdomIoni Bowcher NEGOTIATION
Ashley S PaprockiIndiaBernardo Dominic NEGOTIATION
Claire Y MorascaCanadaAmy Elsner RENEWAL
Jones L StensethUnited KingdomBernardo Dominic QUALIFIED
Claire M GarufiArgentinaStephen Shaw UNQUALIFIED
Adams E IturbideAustraliaOnyama Limba RENEWAL
Clifford U SlusarskiCanadaBernardo Dominic NEGOTIATION
Julie J FigeroaBrazilElwin Sharvill RENEWAL
Deepesh L MaletRussiaBernardo Dominic RENEWAL
Jeanfrancois S StensethCanadaAnna Fali RENEWAL
Julie N WieserBrazilIoni Bowcher NEGOTIATION
Frozen Columns
Name
Silvio K Kolmetz
Kadeem J Inouye
Claire J Kolmetz
Deepesh L Amigon
Francesco V Slusarski
James U Caudy
Wickens Y Figeroa
Greenwood F Amigon
Sinclair S Nicka
Claire P Sergi
Kadeem O Morasca
Deepesh Q Malet
Kadeem K Malet
Cody W Dilliard
Faith O Ostrosky
Chavez B Slusarski
Julie V Tollner
Johnson K Venere
Octavia P Venere
Izzy T Morasca
Francesco E Maclead
Morrow Z Whobrey
Claire F Gillian
Aruna D Stockham
Juan K Wieser
Smith D Royster
Isabel K Whobrey
Aditya W Amigon
Silvio W Gillian
Aruna P Morasca
Kadeem W Albares
Ricardo U Whobrey
Salvatore C Nicka
David M Venere
Kaitlin E Perin
Francesco R Wieser
James L Ferencz
Izzy Q Royster
Adams U Wieser
Kadeem G Butt
Stacey U Garufi
Arvin E Royster
Rodrigues M Ferencz
Nicolas B Kolmetz
Misaki T Albares
Clifford L Amigon
Ashley C Oldroyd
Munro J Tollner
Kadeem V Rim
Alejandro R Saylors
IdCountryDate
1000India2026-08-09
1001Brazil2026-08-15
1002Spain2026-07-20
1003United Kingdom2026-07-25
1004United Kingdom2026-08-18
1005Australia2026-07-22
1006Brazil2026-08-08
1007Germany2026-08-16
1008Italy2026-07-24
1009Australia2026-08-08
1010Russia2026-08-03
1011Spain2026-08-06
1012India2026-07-23
1013Russia2026-08-02
1014France2026-08-13
1015United Kingdom2026-08-09
1016Argentina2026-08-18
1017Russia2026-08-04
1018Canada2026-08-08
1019Italy2026-08-15
1020France2026-07-29
1021Canada2026-08-13
1022United Kingdom2026-07-21
1023Brazil2026-08-08
1024Brazil2026-07-27
1025Russia2026-07-22
1026Russia2026-07-27
1027Russia2026-07-25
1028Argentina2026-07-20
1029United Kingdom2026-08-12
1030Germany2026-07-20
1031Italy2026-07-27
1032Russia2026-08-06
1033United Kingdom2026-07-26
1034Spain2026-08-17
1035Italy2026-07-20
1036Argentina2026-08-05
1037Japan2026-08-09
1038India2026-08-10
1039Brazil2026-08-11
1040Spain2026-08-06
1041France2026-08-04
1042Australia2026-08-14
1043Russia2026-08-15
1044Germany2026-08-12
1045Germany2026-08-07
1046Argentina2026-08-03
1047Spain2026-08-16
1048Russia2026-08-07
1049Canada2026-08-09

On-Demand Data

NameIdCountryDate
Emily I Butt1000Australia2026-08-13
Jennifer D Butt1001Argentina2026-08-11
Isabel S Inouye1002Italy2026-08-09
Morrow P Stenseth1003Japan2026-08-07
David Y Venere1004Germany2026-08-04
Morrow T Saylors1005Spain2026-08-05
Costa A Butt1006Spain2026-08-06
Cody Y Paprocki1007Australia2026-07-31
Faith S Sergi1008France2026-07-21
David K Rulapaugh1009Italy2026-08-03
Octavia D Ostrosky1010Japan2026-08-01
Stacey G Kolmetz1011India2026-08-09
Isabel V Figeroa1012Germany2026-08-18
Maisha J Shinko1013France2026-08-04
Adams A Darakjy1014United Kingdom2026-08-02
Claire T Amigon1015India2026-07-28
Munro D Nicka1016India2026-07-28
Alejandro U Stockham1017Russia2026-07-25
Aruna M Morasca1018Japan2026-07-22
Rodrigues U Campain1019Brazil2026-08-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore B CampainUnited KingdomAmy Elsner RENEWAL
Wickens W WieserRussiaStephen Shaw RENEWAL
Maisha M CaudyGermanyAmy Elsner PROPOSAL
Aditya V GlickIndiaStephen Shaw QUALIFIED
Emily T MaletJapanXuxue Feng NEGOTIATION
Jennifer H NickaFranceOnyama Limba QUALIFIED
Antonio R MorascaArgentinaAsiya Javayant NEGOTIATION
Deepesh C FlosiGermanyIvan Magalhaes UNQUALIFIED
Antonio K FerenczBrazilIvan Magalhaes NEW
Leon T ShinkoUnited KingdomElwin Sharvill NEW
Jeanfrancois W SergiJapanStephen Shaw QUALIFIED
Smith P RulapaughJapanAnna Fali NEGOTIATION
Maisha L NestleUnited KingdomAmy Elsner NEGOTIATION
Adams L SlusarskiIndiaIoni Bowcher QUALIFIED
Ricardo B ShinkoArgentinaAsiya Javayant QUALIFIED
Johnson H OstroskyCanadaIvan Magalhaes PROPOSAL
Ivar R GillianRussiaElwin Sharvill RENEWAL
Izzy P StockhamIndiaBernardo Dominic QUALIFIED
Ivar S CampainAustraliaElwin Sharvill RENEWAL
Maria R NestleCanadaIvan Magalhaes RENEWAL
Isabel L CaldareraGermanyAsiya Javayant RENEWAL
Adams Y WhobreyCanadaAsiya Javayant UNQUALIFIED
Maisha R PoquetteGermanyAsiya Javayant NEGOTIATION
Johnson U SlusarskiItalyAnna Fali NEGOTIATION
Costa N RutaItalyBernardo Dominic RENEWAL
Clifford C DarakjyIndiaOnyama Limba PROPOSAL
Ricardo L ButtGermanyAsiya Javayant NEW
Munro O VenereRussiaOnyama Limba NEW
David J MaletCanadaXuxue Feng PROPOSAL
Johnson J NickaIndiaElwin Sharvill NEW
Izzy M KuskoJapanIvan Magalhaes NEGOTIATION
Claire D StockhamIndiaIvan Magalhaes NEW
Alejandro X SchemmerAustraliaIoni Bowcher PROPOSAL
Mayumi R PaprockiArgentinaBernardo Dominic UNQUALIFIED
Salvatore S SlusarskiBrazilIoni Bowcher NEW
Maria K DilliardAustraliaAsiya Javayant NEW
Octavia G StensethCanadaXuxue Feng UNQUALIFIED
Cody H SchemmerCanadaIvan Magalhaes UNQUALIFIED
Leja Z MarrierRussiaAmy Elsner RENEWAL
Tony D FigeroaJapanIoni 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>