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
Leon Z BriddickGermanyAmy Elsner QUALIFIED
Alejandro D ChuiSpainIvan Magalhaes NEW
Mujtaba V SlusarskiFranceAmy Elsner NEW
Ricardo F GauchoItalyOnyama Limba NEW
Jennifer V BowleyUnited KingdomAnna Fali NEGOTIATION
Alejandro Q FigeroaAustraliaAmy Elsner UNQUALIFIED
Tony E OldroydItalyAmy Elsner QUALIFIED
Rodrigues G SergiIndiaIvan Magalhaes NEW
Smith Q GillianUnited KingdomAmy Elsner RENEWAL
Costa I WieserUnited KingdomAsiya Javayant PROPOSAL
Tony K CaudyArgentinaStephen Shaw QUALIFIED
Maria T RulapaughRussiaBernardo Dominic NEW
Smith L KolmetzIndiaAmy Elsner RENEWAL
Ricardo G RoysterBrazilAsiya Javayant RENEWAL
Faith G CampainRussiaAsiya Javayant NEGOTIATION
Leja Z IturbideItalyIvan Magalhaes UNQUALIFIED
Jennifer I GillianJapanBernardo Dominic UNQUALIFIED
Antonio S FerenczIndiaBernardo Dominic UNQUALIFIED
David V DarakjyFranceStephen Shaw NEGOTIATION
Rodrigues R RutaCanadaOnyama Limba PROPOSAL
Costa I BriddickFranceBernardo Dominic PROPOSAL
Aika A InouyeGermanyAnna Fali NEGOTIATION
Aruna D RimGermanyAmy Elsner QUALIFIED
Rodrigues O MacleadJapanElwin Sharvill PROPOSAL
James P WhobreySpainAsiya Javayant PROPOSAL
Ivar R StockhamAustraliaIvan Magalhaes UNQUALIFIED
Julie I TollnerGermanyAnna Fali NEGOTIATION
Wickens G AlbaresJapanXuxue Feng RENEWAL
Sinclair F RutaItalyAnna Fali NEW
Izzy M RulapaughCanadaElwin Sharvill NEW
Chavez R OldroydIndiaBernardo Dominic QUALIFIED
Cody W PerinSpainIoni Bowcher NEGOTIATION
Antonio A BowleyArgentinaBernardo Dominic PROPOSAL
Jennifer M StensethRussiaAnna Fali RENEWAL
Jeanfrancois S DilliardJapanOnyama Limba RENEWAL
Maria J NickaRussiaAmy Elsner NEGOTIATION
Ivar T SlusarskiCanadaIoni Bowcher QUALIFIED
Ricardo T MacleadRussiaAsiya Javayant NEW
Kaitlin C ShinkoCanadaAnna Fali PROPOSAL
Antonio O GarufiSpainXuxue Feng UNQUALIFIED
Chavez R KolmetzJapanIvan Magalhaes NEGOTIATION
Octavia T DilliardUnited KingdomAmy Elsner QUALIFIED
David Q MaletGermanyElwin Sharvill PROPOSAL
Misaki P WaycottGermanyStephen Shaw RENEWAL
Julie U DarakjyAustraliaAsiya Javayant RENEWAL
Deepesh A VenereCanadaAnna Fali RENEWAL
Greenwood M DilliardSpainIoni Bowcher RENEWAL
Ivar A VocelkaFranceIvan Magalhaes PROPOSAL
Isabel Y ShinkoItalyIoni Bowcher QUALIFIED
Chavez M CaudyRussiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Tony Z ChuiSpainAsiya Javayant QUALIFIED
Juan U FigeroaFranceOnyama Limba RENEWAL
Mayumi A DoeIndiaIoni Bowcher UNQUALIFIED
Stacey M FollerIndiaStephen Shaw RENEWAL
Izzy R SergiArgentinaBernardo Dominic QUALIFIED
Emily F ShinkoIndiaIoni Bowcher RENEWAL
Munro Q StensethBrazilElwin Sharvill NEW
Morrow K WhobreyAustraliaIoni Bowcher NEW
Nicolas D DoeIndiaStephen Shaw RENEWAL
Johnson H SlusarskiJapanXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow F WhobreyFrance2024-05-25Buckley Miller Wright RENEWAL72Asiya Javayant
1001Isabel Y DarakjyUnited Kingdom2024-06-21King, Christopher A Esq RENEWAL60Onyama Limba
1002Greenwood G BowleyFrance2024-06-12Buckley Miller Wright RENEWAL40Ivan Magalhaes
1003Jeanfrancois E MorascaArgentina2024-05-27King, Christopher A Esq UNQUALIFIED36Anna Fali
1004Leja M WieserItaly2024-06-15Benton, John B Jr QUALIFIED24Elwin Sharvill
1005Maisha P VocelkaUnited Kingdom2024-06-19Feiner Bros NEW92Ivan Magalhaes
1006Salvatore H RulapaughAustralia2024-06-13Chemel, James L Cpa UNQUALIFIED35Ivan Magalhaes
1007Emily P KolmetzUnited Kingdom2024-06-04Printing Dimensions NEW46Bernardo Dominic
1008Aruna Z TollnerCanada2024-05-29Truhlar And Truhlar Attys NEW28Xuxue Feng
1009Maisha G MorascaItaly2024-06-15Buckley Miller Wright PROPOSAL22Amy Elsner
1010Ashley J AlbaresSpain2024-06-06Dorl, James J Esq NEGOTIATION90Onyama Limba
1011Faith K DilliardFrance2024-06-09Buckley Miller Wright RENEWAL28Asiya Javayant
1012Leon U FollerFrance2024-05-30Benton, John B Jr UNQUALIFIED89Stephen Shaw
1013Mujtaba N RimRussia2024-05-30Dorl, James J Esq QUALIFIED80Amy Elsner
1014Johnson D OldroydBrazil2024-05-26Printing Dimensions NEGOTIATION54Stephen Shaw
1015Murillo S RoysterArgentina2024-06-08Buckley Miller Wright PROPOSAL11Xuxue Feng
1016Clifford V NestleIndia2024-06-23Dorl, James J Esq UNQUALIFIED37Ioni Bowcher
1017Smith G BriddickBrazil2024-05-28Truhlar And Truhlar Attys NEW19Asiya Javayant
1018Octavia H PoquetteArgentina2024-06-05Morlong Associates PROPOSAL94Xuxue Feng
1019Aruna J MorascaJapan2024-06-12Chapman, Ross E Esq NEW47Stephen Shaw
1020Aika O FlosiFrance2024-06-22Chemel, James L Cpa QUALIFIED3Xuxue Feng
1021Costa C KolmetzSpain2024-05-29Truhlar And Truhlar Attys NEGOTIATION93Xuxue Feng
1022Ashley Z FlosiFrance2024-06-03Chemel, James L Cpa NEGOTIATION96Anna Fali
1023Octavia Z PoquetteIndia2024-06-12Rousseaux, Michael Esq NEW35Xuxue Feng
1024David F SergiAustralia2024-05-27Chemel, James L Cpa RENEWAL0Asiya Javayant
1025Kadeem I SergiRussia2024-06-17Rousseaux, Michael Esq QUALIFIED45Anna Fali
1026Aditya M BologniaFrance2024-06-22Morlong Associates RENEWAL45Xuxue Feng
1027Antonio O KuskoItaly2024-06-12Rangoni Of Florence NEGOTIATION29Xuxue Feng
1028Morrow J FerenczItaly2024-06-22Rangoni Of Florence NEGOTIATION5Elwin Sharvill
1029Aruna R MaletArgentina2024-06-07Rangoni Of Florence NEW62Amy Elsner
1030Mujtaba E OstroskyCanada2024-06-02Buckley Miller Wright QUALIFIED12Onyama Limba
1031Nicolas W IturbideJapan2024-06-02Commercial Press NEGOTIATION65Elwin Sharvill
1032Adams T MaletRussia2024-06-06Truhlar And Truhlar Attys NEGOTIATION93Anna Fali
1033Juan Z BriddickBrazil2024-06-11Feltz Printing Service RENEWAL99Asiya Javayant
1034Aika L RoysterFrance2024-06-01Chemel, James L Cpa UNQUALIFIED54Stephen Shaw
1035Rodrigues L VocelkaUnited Kingdom2024-06-19Feiner Bros RENEWAL72Stephen Shaw
1036Aika D CaldareraGermany2024-06-05Dorl, James J Esq NEW81Bernardo Dominic
1037Antonio L SergiRussia2024-06-12Chanay, Jeffrey A Esq NEGOTIATION84Amy Elsner
1038Adams T OstroskyCanada2024-05-26Truhlar And Truhlar Attys NEW31Ivan Magalhaes
1039Jones P GlickGermany2024-06-02King, Christopher A Esq PROPOSAL9Ioni Bowcher
1040Emily N GarufiFrance2024-06-01Feltz Printing Service QUALIFIED36Elwin Sharvill
1041Salvatore B StensethJapan2024-05-26Dorl, James J Esq UNQUALIFIED77Amy Elsner
1042Rodrigues Q PerinFrance2024-05-25Printing Dimensions NEW95Amy Elsner
1043Misaki Y PoquetteRussia2024-06-01Feltz Printing Service NEW2Asiya Javayant
1044Murillo R SlusarskiRussia2024-06-03Benton, John B Jr PROPOSAL82Ivan Magalhaes
1045Stacey J ButtFrance2024-05-25Chanay, Jeffrey A Esq RENEWAL45Onyama Limba
1046Jeanfrancois R ButtAustralia2024-06-09King, Christopher A Esq NEW28Amy Elsner
1047Maisha O OldroydCanada2024-06-12King, Christopher A Esq PROPOSAL41Onyama Limba
1048James H SergiItaly2024-06-15Commercial Press NEGOTIATION86Asiya Javayant
1049Chavez Y RutaGermany2024-05-26Chemel, James L Cpa NEGOTIATION36Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Octavia O NickaGermanyAnna Fali UNQUALIFIED
Maisha O RutaFranceStephen Shaw QUALIFIED
Jones S RoysterIndiaElwin Sharvill NEW
Jeanfrancois O SaylorsIndiaAnna Fali PROPOSAL
Mujtaba A KuskoIndiaBernardo Dominic UNQUALIFIED
Emily S NestleArgentinaAnna Fali UNQUALIFIED
Adams L BriddickUnited KingdomBernardo Dominic NEGOTIATION
Mayumi E OstroskyCanadaAnna Fali PROPOSAL
Izzy J GarufiGermanyBernardo Dominic UNQUALIFIED
James F WaycottArgentinaXuxue Feng QUALIFIED
Claire S BowleyRussiaElwin Sharvill NEGOTIATION
Leja G ShinkoBrazilAnna Fali PROPOSAL
Julie W VocelkaArgentinaAnna Fali NEW
Jefferson L ShinkoItalyOnyama Limba NEGOTIATION
Chavez C BologniaRussiaStephen Shaw QUALIFIED
Leja K PoquetteRussiaAmy Elsner QUALIFIED
Mayumi J MaletArgentinaXuxue Feng PROPOSAL
Misaki N PerinSpainXuxue Feng NEW
Silvio Y RoysterRussiaIoni Bowcher PROPOSAL
Juan I GarufiItalyAmy Elsner NEGOTIATION
Kadeem U BowleyIndiaXuxue Feng NEW
Julie J CaldareraCanadaAsiya Javayant NEGOTIATION
Mayumi I GauchoAustraliaXuxue Feng UNQUALIFIED
Emily E DilliardArgentinaIoni Bowcher NEGOTIATION
Jefferson I OstroskyUnited KingdomAnna Fali PROPOSAL
Murillo V SchemmerBrazilElwin Sharvill RENEWAL
Clifford V MarrierGermanyIvan Magalhaes QUALIFIED
Ivar Y StockhamFranceAnna Fali PROPOSAL
Greenwood A NestleBrazilXuxue Feng NEW
Darci G FigeroaUnited KingdomStephen Shaw NEW
Aika C RutaFranceOnyama Limba UNQUALIFIED
Alejandro Q GarufiItalyXuxue Feng QUALIFIED
Greenwood R BologniaArgentinaAnna Fali NEGOTIATION
Wickens X NickaItalyAnna Fali RENEWAL
Stacey N MacleadArgentinaIvan Magalhaes NEGOTIATION
Adams B RutaSpainOnyama Limba RENEWAL
Octavia T StensethArgentinaStephen Shaw RENEWAL
Kadeem V VocelkaAustraliaBernardo Dominic NEW
Deepesh C CampainIndiaOnyama Limba UNQUALIFIED
Aditya X WhobreyFranceIoni Bowcher PROPOSAL
Octavia M FollerFranceElwin Sharvill NEW
Kadeem W GillianFranceAsiya Javayant QUALIFIED
James S PerinGermanyIvan Magalhaes QUALIFIED
Jones I StockhamRussiaIvan Magalhaes PROPOSAL
Julie Z MorascaRussiaIvan Magalhaes NEGOTIATION
Leon V MaletIndiaIvan Magalhaes NEGOTIATION
Deepesh E VenereBrazilAmy Elsner NEGOTIATION
Antonio C NickaJapanAsiya Javayant QUALIFIED
Kaitlin W CampainAustraliaAsiya Javayant PROPOSAL
Costa Z WieserIndiaBernardo Dominic QUALIFIED
Frozen Columns
Name
Mujtaba D Marrier
Adams O Dilliard
Nicolas L Rulapaugh
Kaitlin O Kolmetz
Wickens G Bolognia
Munro P Bolognia
Silvio R Glick
Arvin Z Amigon
Ashley F Royster
Mujtaba E Venere
Aika Z Dilliard
Sinclair H Nicka
Leon N Perin
Mayumi U Flosi
Mayumi L Albares
Nicolas M Sergi
Kaitlin N Kolmetz
Misaki Z Caudy
Rodrigues V Inouye
Deepesh W Marrier
Maisha S Caudy
Clifford R Amigon
Octavia J Iturbide
Cody B Iturbide
Juan L Sergi
Antonio N Ostrosky
Adams L Butt
Maria Z Ferencz
Nicolas V Morasca
Costa Q Bowley
Kadeem O Iturbide
Jeanfrancois F Doe
Julie S Saylors
Chavez Y Paprocki
Smith N Slusarski
Antonio N Inouye
Kaitlin M Campain
Kadeem V Caudy
Francesco W Stenseth
James K Gillian
Faith Q Kusko
Leja F Ferencz
Isabel K Gaucho
Faith S Shinko
Morrow N Foller
Jones S Sergi
Silvio P Dilliard
Silvio F Bolognia
Mujtaba B Butt
Kadeem F Albares
IdCountryDate
1000Germany2024-06-07
1001India2024-05-27
1002Germany2024-06-04
1003France2024-05-25
1004Russia2024-06-10
1005Russia2024-06-06
1006Spain2024-06-14
1007Argentina2024-06-14
1008India2024-06-11
1009United Kingdom2024-06-17
1010Australia2024-06-11
1011Argentina2024-06-11
1012Italy2024-05-31
1013Australia2024-06-23
1014Canada2024-06-14
1015Spain2024-06-09
1016Russia2024-06-09
1017France2024-06-18
1018France2024-06-17
1019Japan2024-05-30
1020Canada2024-05-29
1021France2024-06-07
1022Japan2024-06-21
1023Italy2024-06-07
1024Argentina2024-05-30
1025India2024-06-16
1026Brazil2024-05-31
1027Argentina2024-05-28
1028Argentina2024-06-06
1029Russia2024-06-18
1030India2024-05-29
1031Spain2024-06-16
1032India2024-06-03
1033United Kingdom2024-06-12
1034Argentina2024-06-04
1035India2024-06-03
1036United Kingdom2024-06-09
1037Italy2024-06-03
1038France2024-06-11
1039Canada2024-06-17
1040Argentina2024-05-31
1041Argentina2024-06-05
1042Brazil2024-05-27
1043Argentina2024-06-06
1044United Kingdom2024-06-10
1045Australia2024-06-13
1046Italy2024-06-05
1047Japan2024-05-26
1048Brazil2024-05-29
1049United Kingdom2024-06-17

On-Demand Data

NameIdCountryDate
Adams Q Amigon1000Australia2024-05-26
Mayumi W Rim1001Spain2024-06-11
Nicolas X Stenseth1002Germany2024-05-28
Mujtaba H Caudy1003Italy2024-06-02
Smith F Ruta1004Canada2024-05-27
Salvatore G Caudy1005United Kingdom2024-06-04
Murillo H Wieser1006Russia2024-06-14
Silvio A Kusko1007Argentina2024-05-28
Ashley L Ruta1008Brazil2024-06-21
Julie H Darakjy1009Canada2024-06-13
Izzy B Glick1010Canada2024-06-12
Deepesh V Waycott1011Russia2024-05-27
Jeanfrancois J Waycott1012Spain2024-06-17
Ashley I Marrier1013United Kingdom2024-06-16
Aruna J Rulapaugh1014India2024-06-13
Izzy O Nicka1015Australia2024-06-21
Wickens L Glick1016United Kingdom2024-05-29
Aruna P Vocelka1017Spain2024-06-21
Maisha A Poquette1018Australia2024-06-09
Jeanfrancois V Bowley1019Australia2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire E StockhamJapanAmy Elsner QUALIFIED
Octavia N DarakjyItalyAmy Elsner NEGOTIATION
Kadeem J IturbideArgentinaAsiya Javayant UNQUALIFIED
Jennifer K RoysterBrazilBernardo Dominic NEW
Ricardo C GillianCanadaElwin Sharvill NEGOTIATION
Kaitlin H RoysterCanadaAsiya Javayant RENEWAL
Aika C SaylorsUnited KingdomAnna Fali NEGOTIATION
Isabel G CaldareraGermanyIoni Bowcher QUALIFIED
Alejandro D FigeroaArgentinaAnna Fali NEGOTIATION
Salvatore W RimItalyIvan Magalhaes UNQUALIFIED
David C AlbaresAustraliaElwin Sharvill NEGOTIATION
Adams W RimRussiaOnyama Limba NEGOTIATION
Isabel P GarufiItalyBernardo Dominic UNQUALIFIED
Clifford M GarufiRussiaStephen Shaw NEGOTIATION
Sinclair F WaycottCanadaAnna Fali PROPOSAL
Sinclair P PerinBrazilAnna Fali NEW
Murillo I MorascaIndiaAnna Fali NEW
Alejandro J NestleUnited KingdomElwin Sharvill NEGOTIATION
Aika D WieserArgentinaIvan Magalhaes QUALIFIED
Francesco Q SchemmerIndiaStephen Shaw PROPOSAL
Alejandro V WieserAustraliaBernardo Dominic UNQUALIFIED
Octavia V PaprockiCanadaXuxue Feng NEGOTIATION
Deepesh K NickaBrazilIvan Magalhaes NEGOTIATION
Alejandro N RutaUnited KingdomAnna Fali NEW
Claire U FerenczArgentinaIoni Bowcher UNQUALIFIED
Salvatore B FigeroaCanadaAsiya Javayant PROPOSAL
Stacey K IturbideItalyStephen Shaw PROPOSAL
Mayumi Y GauchoArgentinaElwin Sharvill RENEWAL
Ivar Y AmigonJapanIoni Bowcher UNQUALIFIED
Smith C InouyeUnited KingdomElwin Sharvill RENEWAL
Antonio A FollerRussiaAnna Fali QUALIFIED
Antonio R StensethSpainIoni Bowcher PROPOSAL
Stacey B ButtUnited KingdomXuxue Feng NEW
Isabel E ButtArgentinaAnna Fali NEGOTIATION
Jefferson X StockhamJapanElwin Sharvill PROPOSAL
Chavez V TollnerArgentinaAsiya Javayant UNQUALIFIED
Mayumi U ButtCanadaOnyama Limba PROPOSAL
Sinclair R PerinAustraliaBernardo Dominic UNQUALIFIED
Murillo L PerinArgentinaAnna Fali QUALIFIED
David Q GauchoArgentinaBernardo Dominic NEGOTIATION

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