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
Jennifer C ButtSpainIvan Magalhaes NEW
Juan R FlosiFranceStephen Shaw QUALIFIED
Murillo Z InouyeBrazilAmy Elsner NEGOTIATION
Cody C CaudyCanadaAsiya Javayant NEW
Kaitlin K BriddickBrazilBernardo Dominic NEW
Murillo E KuskoBrazilAmy Elsner RENEWAL
Morrow N MaletIndiaIoni Bowcher PROPOSAL
Ivar A DarakjyFranceStephen Shaw NEW
Francesco W ButtRussiaIoni Bowcher RENEWAL
Jefferson Q StockhamJapanBernardo Dominic NEW
Leja B RimIndiaBernardo Dominic NEGOTIATION
Clifford S NestleSpainOnyama Limba RENEWAL
Faith L NestleItalyBernardo Dominic RENEWAL
Claire U CampainUnited KingdomIvan Magalhaes QUALIFIED
Kadeem W RulapaughArgentinaAnna Fali RENEWAL
Leja A OstroskyJapanAnna Fali NEGOTIATION
Darci O PaprockiRussiaElwin Sharvill UNQUALIFIED
Arvin N FollerUnited KingdomAsiya Javayant QUALIFIED
Ashley A StockhamFranceElwin Sharvill RENEWAL
Sinclair Q AlbaresAustraliaIvan Magalhaes NEW
Smith D MorascaItalyAsiya Javayant QUALIFIED
Adams C MacleadFranceAmy Elsner QUALIFIED
Clifford K SchemmerIndiaXuxue Feng QUALIFIED
Wickens V SergiBrazilAmy Elsner NEW
Cody U MaletArgentinaAnna Fali RENEWAL
Nicolas Z SlusarskiAustraliaIvan Magalhaes PROPOSAL
Mujtaba K GarufiArgentinaBernardo Dominic UNQUALIFIED
Ashley Q SergiSpainElwin Sharvill QUALIFIED
Francesco Z FollerGermanyStephen Shaw UNQUALIFIED
Aika I ButtArgentinaAmy Elsner NEGOTIATION
Johnson R WaycottIndiaAnna Fali QUALIFIED
David X FlosiItalyIoni Bowcher PROPOSAL
Kaitlin W ShinkoIndiaIvan Magalhaes RENEWAL
Adams Y ShinkoGermanyXuxue Feng UNQUALIFIED
Clifford C FigeroaBrazilOnyama Limba NEGOTIATION
Antonio F StockhamIndiaOnyama Limba QUALIFIED
Jefferson U CaldareraFranceXuxue Feng PROPOSAL
Ashley Q CampainIndiaOnyama Limba QUALIFIED
Wickens U RoysterBrazilIvan Magalhaes NEGOTIATION
Murillo K FollerItalyAmy Elsner NEW
Octavia R RutaUnited KingdomIoni Bowcher NEW
Greenwood M GauchoUnited KingdomAsiya Javayant NEW
Leon S StensethJapanAnna Fali RENEWAL
Mujtaba V CaudyCanadaBernardo Dominic NEGOTIATION
Alejandro A FollerSpainBernardo Dominic NEGOTIATION
Ashley Y MarrierIndiaAmy Elsner NEW
Mujtaba V TollnerArgentinaOnyama Limba NEW
Jeanfrancois E RutaArgentinaAnna Fali RENEWAL
Izzy E BologniaJapanBernardo Dominic QUALIFIED
Aditya Z KolmetzBrazilAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan S OstroskyGermanyBernardo Dominic QUALIFIED
Maria Q VenereAustraliaElwin Sharvill NEGOTIATION
Adams Q NickaArgentinaAsiya Javayant QUALIFIED
Costa L NestleFranceStephen Shaw RENEWAL
Ivar X BriddickUnited KingdomElwin Sharvill NEGOTIATION
Antonio P RimIndiaBernardo Dominic UNQUALIFIED
Leja W NickaBrazilAsiya Javayant NEGOTIATION
Cody V MaletSpainIvan Magalhaes NEW
Chavez W DarakjyAustraliaAmy Elsner NEW
Cody B AlbaresBrazilAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez S SlusarskiBrazil2025-04-27King, Christopher A Esq RENEWAL60Amy Elsner
1001Antonio H NickaArgentina2025-04-09Benton, John B Jr QUALIFIED27Bernardo Dominic
1002Francesco O MarrierItaly2025-04-13Chapman, Ross E Esq NEW80Bernardo Dominic
1003Alejandro S GlickItaly2025-04-06Commercial Press UNQUALIFIED25Bernardo Dominic
1004Silvio X MacleadItaly2025-04-25Rangoni Of Florence RENEWAL82Onyama Limba
1005Aditya K CaldareraGermany2025-04-20Feltz Printing Service UNQUALIFIED10Elwin Sharvill
1006Darci O SergiAustralia2025-04-08Dorl, James J Esq UNQUALIFIED34Asiya Javayant
1007Smith S GarufiAustralia2025-04-06Buckley Miller Wright QUALIFIED20Bernardo Dominic
1008Juan L BowleyGermany2025-04-06Rousseaux, Michael Esq PROPOSAL56Ivan Magalhaes
1009Aruna X MaletItaly2025-04-07Rousseaux, Michael Esq UNQUALIFIED2Amy Elsner
1010Arvin D CaldareraJapan2025-04-27Chemel, James L Cpa UNQUALIFIED6Asiya Javayant
1011Morrow D RoysterUnited Kingdom2025-04-17Benton, John B Jr QUALIFIED65Bernardo Dominic
1012Nicolas Q StockhamUnited Kingdom2025-04-20Dorl, James J Esq NEGOTIATION96Stephen Shaw
1013Leon G BowleyBrazil2025-04-23Feiner Bros RENEWAL16Anna Fali
1014Jefferson Y ButtSpain2025-04-16Feltz Printing Service QUALIFIED29Xuxue Feng
1015Izzy J NickaItaly2025-04-27Commercial Press RENEWAL21Ioni Bowcher
1016Jones P MaletGermany2025-04-19Dorl, James J Esq QUALIFIED18Anna Fali
1017Johnson J MaletItaly2025-04-26Dorl, James J Esq NEW97Ivan Magalhaes
1018Misaki F WhobreyIndia2025-04-27Morlong Associates RENEWAL40Asiya Javayant
1019Darci F GarufiItaly2025-04-04Dorl, James J Esq UNQUALIFIED33Xuxue Feng
1020Octavia B DoeSpain2025-04-05Feltz Printing Service NEW88Ioni Bowcher
1021Sinclair H RulapaughAustralia2025-04-23King, Christopher A Esq PROPOSAL15Stephen Shaw
1022Arvin N GarufiGermany2025-04-21Buckley Miller Wright UNQUALIFIED67Anna Fali
1023Salvatore H FerenczBrazil2025-04-12Feltz Printing Service UNQUALIFIED20Stephen Shaw
1024Jones G RoysterJapan2025-04-26Benton, John B Jr QUALIFIED69Ioni Bowcher
1025Leja C StockhamArgentina2025-04-01Dorl, James J Esq RENEWAL69Amy Elsner
1026James S IturbideSpain2025-04-05Rousseaux, Michael Esq UNQUALIFIED15Bernardo Dominic
1027David Q SaylorsAustralia2025-04-02Chanay, Jeffrey A Esq PROPOSAL54Bernardo Dominic
1028Cody X WhobreyGermany2025-04-16Printing Dimensions NEGOTIATION57Xuxue Feng
1029Izzy B WieserRussia2025-04-29King, Christopher A Esq RENEWAL98Onyama Limba
1030Silvio K BowleyUnited Kingdom2025-04-25Morlong Associates QUALIFIED24Onyama Limba
1031Jones Z ShinkoUnited Kingdom2025-04-20Chanay, Jeffrey A Esq QUALIFIED92Onyama Limba
1032Claire U KuskoCanada2025-04-28Buckley Miller Wright QUALIFIED29Ioni Bowcher
1033Aika Z GlickIndia2025-04-29Rangoni Of Florence NEGOTIATION22Bernardo Dominic
1034Misaki A DoeUnited Kingdom2025-04-13Printing Dimensions NEW44Anna Fali
1035Rodrigues C GlickFrance2025-04-24Buckley Miller Wright QUALIFIED53Onyama Limba
1036Alejandro I BologniaArgentina2025-04-12Morlong Associates RENEWAL11Elwin Sharvill
1037Leja D MorascaItaly2025-04-02Chemel, James L Cpa QUALIFIED37Amy Elsner
1038Silvio S BologniaSpain2025-04-02Morlong Associates RENEWAL84Anna Fali
1039James M GlickUnited Kingdom2025-04-11Rousseaux, Michael Esq NEW98Ivan Magalhaes
1040Jones P WaycottJapan2025-04-01Commercial Press PROPOSAL85Onyama Limba
1041Alejandro P MaletBrazil2025-04-27Buckley Miller Wright UNQUALIFIED49Bernardo Dominic
1042Isabel L AlbaresRussia2025-04-14Chanay, Jeffrey A Esq RENEWAL48Amy Elsner
1043Nicolas S IturbideJapan2025-04-05Chapman, Ross E Esq UNQUALIFIED52Bernardo Dominic
1044James L DoeGermany2025-04-25Chanay, Jeffrey A Esq PROPOSAL33Bernardo Dominic
1045Aika W CaldareraRussia2025-04-23Feiner Bros PROPOSAL96Amy Elsner
1046Kaitlin A ChuiIndia2025-04-29Benton, John B Jr NEGOTIATION60Anna Fali
1047Rodrigues T MacleadAustralia2025-04-22Benton, John B Jr NEW98Asiya Javayant
1048Cody H RoysterItaly2025-04-25Chanay, Jeffrey A Esq RENEWAL60Anna Fali
1049Silvio S WaycottRussia2025-04-13Buckley Miller Wright NEGOTIATION13Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
David O GarufiRussiaElwin Sharvill QUALIFIED
Smith M StockhamItalyOnyama Limba QUALIFIED
Greenwood B VocelkaSpainStephen Shaw RENEWAL
Costa P CaldareraIndiaAsiya Javayant QUALIFIED
Stacey L WieserFranceBernardo Dominic QUALIFIED
Greenwood I StensethCanadaBernardo Dominic RENEWAL
Rodrigues J MacleadSpainOnyama Limba UNQUALIFIED
Kaitlin F RimRussiaAnna Fali NEW
Rodrigues X FerenczItalyBernardo Dominic UNQUALIFIED
Ricardo V FollerJapanXuxue Feng NEGOTIATION
Francesco F FlosiAustraliaAmy Elsner PROPOSAL
Kaitlin Y InouyeFranceStephen Shaw NEW
Kadeem X AlbaresAustraliaElwin Sharvill NEW
Darci Q GarufiBrazilElwin Sharvill UNQUALIFIED
Jefferson L SchemmerUnited KingdomAmy Elsner QUALIFIED
Costa B RimBrazilBernardo Dominic NEGOTIATION
Tony M NestleItalyAsiya Javayant QUALIFIED
Deepesh L MacleadRussiaElwin Sharvill QUALIFIED
Adams W RulapaughRussiaAnna Fali RENEWAL
Maisha N BowleyItalyAsiya Javayant NEGOTIATION
Salvatore Q RimSpainXuxue Feng QUALIFIED
Ricardo D SlusarskiIndiaAmy Elsner NEGOTIATION
Ashley I SchemmerCanadaAnna Fali RENEWAL
Tony Y CampainUnited KingdomElwin Sharvill PROPOSAL
Costa G MarrierCanadaBernardo Dominic QUALIFIED
Leja H KolmetzJapanAnna Fali UNQUALIFIED
Mujtaba C WieserArgentinaIvan Magalhaes NEW
Smith V MarrierGermanyElwin Sharvill NEW
Sinclair T GarufiRussiaAnna Fali QUALIFIED
Aditya V RimGermanyOnyama Limba NEW
Jefferson P KolmetzBrazilXuxue Feng PROPOSAL
Mayumi C TollnerAustraliaBernardo Dominic PROPOSAL
Smith X StockhamFranceAnna Fali NEW
Francesco N FigeroaSpainAsiya Javayant UNQUALIFIED
Aruna U StensethRussiaStephen Shaw NEGOTIATION
Greenwood C GillianSpainXuxue Feng NEW
Leja S CaudyRussiaIoni Bowcher UNQUALIFIED
Kadeem I TollnerRussiaIoni Bowcher PROPOSAL
Emily A RutaSpainXuxue Feng QUALIFIED
Mujtaba V OstroskyArgentinaIvan Magalhaes PROPOSAL
Adams K BriddickIndiaAmy Elsner UNQUALIFIED
Alejandro R IturbideUnited KingdomAmy Elsner RENEWAL
Izzy M StensethRussiaXuxue Feng NEW
Morrow Z WaycottIndiaAsiya Javayant RENEWAL
Darci F KolmetzIndiaXuxue Feng QUALIFIED
Greenwood D AlbaresRussiaXuxue Feng RENEWAL
Munro L WaycottBrazilAnna Fali PROPOSAL
Isabel U GlickFranceAsiya Javayant PROPOSAL
Aditya H TollnerItalyBernardo Dominic NEGOTIATION
Wickens T StockhamJapanAmy Elsner PROPOSAL
Frozen Columns
Name
Clifford N Stenseth
Clifford K Maclead
Greenwood C Marrier
Leja F Campain
Ivar M Rulapaugh
Kadeem M Nestle
Chavez A Malet
Maria P Waycott
Ashley M Gillian
Kadeem Z Butt
Costa S Gaucho
Ricardo H Figeroa
Octavia C Butt
Deepesh T Amigon
Claire T Venere
David N Kusko
Salvatore S Bolognia
Maisha N Shinko
Antonio D Oldroyd
Munro Q Wieser
Wickens D Garufi
Clifford D Paprocki
Rodrigues M Rulapaugh
Smith W Malet
Alejandro Q Inouye
Isabel G Sergi
Kadeem V Slusarski
Francesco O Malet
David V Malet
Tony L Kusko
Clifford D Paprocki
Julie X Paprocki
Aika V Chui
Isabel W Stockham
Nicolas D Gillian
Kaitlin T Stenseth
Deepesh Q Oldroyd
Deepesh I Sergi
Faith S Perin
Clifford C Briddick
Jones W Doe
Nicolas W Caudy
Sinclair F Kolmetz
Clifford C Campain
Mujtaba J Maclead
Murillo I Kusko
Aditya V Sergi
Alejandro Z Bolognia
Octavia Q Ostrosky
Jefferson M Tollner
IdCountryDate
1000Japan2025-04-13
1001Italy2025-04-27
1002Russia2025-04-22
1003India2025-04-21
1004United Kingdom2025-04-08
1005United Kingdom2025-04-24
1006Australia2025-04-08
1007Australia2025-04-12
1008Japan2025-04-27
1009Brazil2025-04-17
1010Germany2025-04-11
1011India2025-04-14
1012Argentina2025-04-19
1013India2025-04-03
1014India2025-04-09
1015Canada2025-04-28
1016Germany2025-04-20
1017Canada2025-04-20
1018Australia2025-04-19
1019Russia2025-04-10
1020Japan2025-04-17
1021Spain2025-04-13
1022Australia2025-04-29
1023Australia2025-04-08
1024France2025-04-02
1025Italy2025-04-08
1026Australia2025-04-23
1027Argentina2025-04-08
1028Germany2025-04-27
1029Japan2025-04-25
1030Canada2025-04-15
1031France2025-04-22
1032Australia2025-04-06
1033France2025-04-16
1034Italy2025-04-04
1035Italy2025-04-24
1036Australia2025-04-21
1037United Kingdom2025-04-05
1038Spain2025-04-26
1039Italy2025-04-27
1040Australia2025-04-07
1041United Kingdom2025-04-29
1042Italy2025-04-10
1043Australia2025-04-11
1044Germany2025-04-06
1045Spain2025-04-12
1046Argentina2025-04-30
1047Japan2025-04-24
1048Brazil2025-04-20
1049Brazil2025-04-21

On-Demand Data

NameIdCountryDate
Deepesh D Paprocki1000Canada2025-04-13
Munro C Tollner1001Russia2025-04-05
James U Rulapaugh1002Brazil2025-04-27
Mayumi J Rim1003Brazil2025-04-03
Mujtaba Y Figeroa1004India2025-04-01
Johnson Q Butt1005Russia2025-04-29
Johnson M Stenseth1006Canada2025-04-26
Jefferson Y Marrier1007Argentina2025-04-14
Antonio W Nicka1008Canada2025-04-17
Arvin W Saylors1009Canada2025-04-27
Antonio N Waycott1010Japan2025-04-12
Octavia L Glick1011Japan2025-04-22
Jeanfrancois M Schemmer1012France2025-04-05
Leja T Venere1013Japan2025-04-16
Emily V Kusko1014Germany2025-04-15
Sinclair X Dilliard1015Brazil2025-04-26
Chavez Y Paprocki1016United Kingdom2025-04-17
Jefferson D Inouye1017France2025-04-14
Silvio B Garufi1018Japan2025-04-20
Alejandro L Ostrosky1019Australia2025-04-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez F StockhamCanadaAsiya Javayant UNQUALIFIED
Adams A WaycottBrazilAmy Elsner QUALIFIED
Darci J BowleySpainOnyama Limba QUALIFIED
Jennifer M VenereBrazilStephen Shaw NEGOTIATION
Munro R TollnerBrazilOnyama Limba NEGOTIATION
Chavez J VocelkaBrazilIvan Magalhaes NEGOTIATION
Murillo A FerenczFranceAsiya Javayant PROPOSAL
Chavez N KuskoBrazilIvan Magalhaes QUALIFIED
Faith Z FlosiRussiaAmy Elsner RENEWAL
Ashley E VenereFranceStephen Shaw NEGOTIATION
Antonio X CampainRussiaElwin Sharvill RENEWAL
Faith K BologniaArgentinaIoni Bowcher NEGOTIATION
Morrow G ChuiRussiaOnyama Limba UNQUALIFIED
Ashley M MaletFranceXuxue Feng NEGOTIATION
Mujtaba U OstroskyRussiaIvan Magalhaes NEW
Juan U PaprockiAustraliaIvan Magalhaes RENEWAL
Morrow E GauchoArgentinaBernardo Dominic NEGOTIATION
Antonio H SergiUnited KingdomElwin Sharvill QUALIFIED
Jeanfrancois Y WaycottItalyAnna Fali PROPOSAL
Leja Y RoysterBrazilStephen Shaw QUALIFIED
Jeanfrancois F InouyeArgentinaBernardo Dominic QUALIFIED
James A RimCanadaBernardo Dominic NEW
Isabel D FlosiArgentinaXuxue Feng PROPOSAL
Morrow T StensethBrazilStephen Shaw PROPOSAL
Izzy P TollnerUnited KingdomElwin Sharvill NEGOTIATION
Maisha W PaprockiItalyOnyama Limba QUALIFIED
Nicolas S KuskoGermanyStephen Shaw RENEWAL
Antonio F NickaItalyIoni Bowcher PROPOSAL
Rodrigues O VocelkaIndiaAmy Elsner NEW
Silvio Q GlickJapanAsiya Javayant NEGOTIATION
Aika J InouyeSpainIvan Magalhaes RENEWAL
Leja C MarrierIndiaStephen Shaw RENEWAL
Jeanfrancois K CaldareraUnited KingdomXuxue Feng PROPOSAL
Jennifer G SchemmerJapanIoni Bowcher RENEWAL
Aditya E SchemmerJapanElwin Sharvill NEGOTIATION
Isabel V BowleyCanadaElwin Sharvill NEW
Jennifer C FigeroaIndiaAnna Fali PROPOSAL
Deepesh R PaprockiAustraliaXuxue Feng NEW
Maria G WaycottAustraliaElwin Sharvill PROPOSAL
Faith Z ShinkoBrazilStephen Shaw 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>