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
Sinclair F BowleyCanadaStephen Shaw RENEWAL
Costa Y SchemmerFranceElwin Sharvill RENEWAL
Costa Z AlbaresArgentinaAsiya Javayant NEGOTIATION
Faith O GlickAustraliaElwin Sharvill UNQUALIFIED
David S DilliardRussiaOnyama Limba NEW
Chavez J PoquetteArgentinaIvan Magalhaes NEGOTIATION
Aditya N RulapaughIndiaAsiya Javayant QUALIFIED
Wickens Y StockhamGermanyXuxue Feng RENEWAL
Smith O VenereIndiaStephen Shaw QUALIFIED
Chavez K GauchoJapanOnyama Limba NEGOTIATION
Ricardo P CaudyJapanBernardo Dominic PROPOSAL
Francesco E FerenczCanadaAmy Elsner NEW
Maria D CampainCanadaAmy Elsner RENEWAL
Maria P MarrierJapanStephen Shaw NEGOTIATION
Tony V OstroskyGermanyStephen Shaw NEW
Costa B GarufiCanadaAnna Fali NEGOTIATION
Octavia Z RoysterArgentinaElwin Sharvill RENEWAL
Johnson Z RimGermanyAmy Elsner NEGOTIATION
Arvin G RulapaughCanadaOnyama Limba UNQUALIFIED
Ivar M NestleArgentinaBernardo Dominic NEGOTIATION
Mayumi M OldroydJapanXuxue Feng UNQUALIFIED
Salvatore V GlickAustraliaElwin Sharvill RENEWAL
Adams M MorascaUnited KingdomBernardo Dominic RENEWAL
Kadeem Y TollnerRussiaElwin Sharvill NEW
Clifford E MarrierAustraliaXuxue Feng NEW
Johnson I BologniaFranceIvan Magalhaes UNQUALIFIED
Greenwood B MorascaArgentinaIvan Magalhaes NEGOTIATION
Cody B FollerGermanyIvan Magalhaes NEW
Ricardo H IturbideFranceIvan Magalhaes RENEWAL
Arvin S NickaBrazilStephen Shaw RENEWAL
Maisha F DoeItalyAmy Elsner NEGOTIATION
Adams G FerenczJapanIvan Magalhaes RENEWAL
Faith Y MaletRussiaAnna Fali RENEWAL
James E MorascaJapanXuxue Feng UNQUALIFIED
Faith X FollerUnited KingdomXuxue Feng PROPOSAL
Jennifer A InouyeGermanyBernardo Dominic RENEWAL
Juan X FerenczJapanBernardo Dominic RENEWAL
Morrow L GlickGermanyStephen Shaw UNQUALIFIED
Johnson S RimJapanStephen Shaw PROPOSAL
Julie M RutaJapanAsiya Javayant UNQUALIFIED
Jefferson J PoquetteCanadaAsiya Javayant RENEWAL
Leja S ShinkoUnited KingdomAmy Elsner RENEWAL
Johnson Q AlbaresSpainXuxue Feng NEGOTIATION
Juan E GlickSpainIvan Magalhaes QUALIFIED
Smith W CampainSpainStephen Shaw PROPOSAL
Johnson E VenereIndiaAnna Fali NEW
Maisha R GarufiCanadaAsiya Javayant NEGOTIATION
Costa X PerinRussiaAnna Fali PROPOSAL
Mujtaba L SaylorsIndiaAnna Fali RENEWAL
Aruna C FlosiSpainIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas Y FigeroaSpainIvan Magalhaes RENEWAL
Claire M DoeArgentinaBernardo Dominic NEGOTIATION
Isabel P WieserSpainOnyama Limba QUALIFIED
Smith L PoquetteCanadaBernardo Dominic RENEWAL
Wickens E FerenczFranceXuxue Feng NEW
Salvatore K BriddickCanadaElwin Sharvill QUALIFIED
Mujtaba Q NestleBrazilAmy Elsner QUALIFIED
Salvatore V CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Stacey P FollerGermanyStephen Shaw QUALIFIED
Emily W StensethBrazilAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria T GarufiJapan2024-06-02King, Christopher A Esq RENEWAL19Xuxue Feng
1001Munro O StockhamSpain2024-05-28Chapman, Ross E Esq NEGOTIATION23Xuxue Feng
1002David G RimItaly2024-06-21Chapman, Ross E Esq NEW67Onyama Limba
1003Sinclair M CaldareraArgentina2024-06-23Rangoni Of Florence NEGOTIATION98Stephen Shaw
1004Arvin N MaletUnited Kingdom2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED16Asiya Javayant
1005Jefferson R BriddickCanada2024-05-28Feiner Bros NEGOTIATION22Anna Fali
1006Mujtaba J ButtGermany2024-06-02Rousseaux, Michael Esq UNQUALIFIED41Amy Elsner
1007Kaitlin Q AmigonSpain2024-06-08Truhlar And Truhlar Attys RENEWAL7Amy Elsner
1008Ashley O GlickCanada2024-06-19Truhlar And Truhlar Attys NEGOTIATION16Bernardo Dominic
1009Aditya C RutaUnited Kingdom2024-06-09Dorl, James J Esq RENEWAL24Ioni Bowcher
1010David D BowleyCanada2024-06-01King, Christopher A Esq QUALIFIED73Stephen Shaw
1011David J GillianIndia2024-06-03Chanay, Jeffrey A Esq QUALIFIED87Stephen Shaw
1012Smith D CampainFrance2024-06-14Chemel, James L Cpa NEGOTIATION41Ivan Magalhaes
1013Silvio L CaudyCanada2024-06-05Dorl, James J Esq QUALIFIED66Bernardo Dominic
1014Maria X KuskoAustralia2024-06-11King, Christopher A Esq QUALIFIED82Amy Elsner
1015Leon F SchemmerJapan2024-06-06Chapman, Ross E Esq QUALIFIED89Anna Fali
1016Arvin Q DarakjyRussia2024-06-14Truhlar And Truhlar Attys RENEWAL95Asiya Javayant
1017Jennifer U KuskoAustralia2024-06-20King, Christopher A Esq NEGOTIATION50Ioni Bowcher
1018Rodrigues Y RulapaughGermany2024-05-26Rangoni Of Florence RENEWAL53Elwin Sharvill
1019Kadeem Z MaletBrazil2024-06-03Chanay, Jeffrey A Esq PROPOSAL90Elwin Sharvill
1020Kaitlin A AlbaresFrance2024-06-05Feiner Bros NEW46Stephen Shaw
1021Cody E InouyeFrance2024-06-23Rangoni Of Florence RENEWAL28Stephen Shaw
1022Juan N MacleadGermany2024-05-26Truhlar And Truhlar Attys NEGOTIATION75Anna Fali
1023Emily S WieserGermany2024-05-26Dorl, James J Esq PROPOSAL55Xuxue Feng
1024Clifford F MarrierArgentina2024-05-30Chanay, Jeffrey A Esq QUALIFIED92Anna Fali
1025Murillo T WhobreyRussia2024-06-16Feiner Bros PROPOSAL86Ivan Magalhaes
1026Stacey G MaletCanada2024-06-07Feiner Bros UNQUALIFIED95Anna Fali
1027Tony M RimArgentina2024-06-02Morlong Associates RENEWAL12Ivan Magalhaes
1028Leja P NestleSpain2024-06-17Truhlar And Truhlar Attys RENEWAL76Ivan Magalhaes
1029James K ShinkoArgentina2024-06-14Feltz Printing Service NEW51Bernardo Dominic
1030David N ShinkoUnited Kingdom2024-06-21King, Christopher A Esq QUALIFIED46Xuxue Feng
1031Antonio Z FlosiRussia2024-06-18Chanay, Jeffrey A Esq NEW44Xuxue Feng
1032Costa C DilliardRussia2024-05-27Commercial Press QUALIFIED36Xuxue Feng
1033Tony G AmigonIndia2024-06-08Rousseaux, Michael Esq PROPOSAL16Bernardo Dominic
1034Greenwood H DilliardCanada2024-06-14Dorl, James J Esq NEW8Amy Elsner
1035Izzy W CampainJapan2024-05-25Dorl, James J Esq NEGOTIATION99Asiya Javayant
1036Aruna U DoeBrazil2024-06-17Chanay, Jeffrey A Esq RENEWAL99Xuxue Feng
1037James N FlosiCanada2024-05-27King, Christopher A Esq NEGOTIATION93Xuxue Feng
1038Leja P VenereUnited Kingdom2024-06-08Chapman, Ross E Esq UNQUALIFIED19Ioni Bowcher
1039Munro F MorascaJapan2024-06-03Benton, John B Jr NEW6Bernardo Dominic
1040Adams T KuskoBrazil2024-06-17Rousseaux, Michael Esq NEGOTIATION46Bernardo Dominic
1041Arvin Y WaycottFrance2024-06-05Truhlar And Truhlar Attys NEW78Amy Elsner
1042Octavia P GauchoIndia2024-05-26Feltz Printing Service NEW15Onyama Limba
1043Sinclair F MarrierArgentina2024-06-15Rousseaux, Michael Esq RENEWAL82Xuxue Feng
1044Deepesh I KolmetzFrance2024-06-16Truhlar And Truhlar Attys NEGOTIATION50Bernardo Dominic
1045Jennifer H WhobreyCanada2024-06-11Feiner Bros NEGOTIATION58Ioni Bowcher
1046Kadeem X SlusarskiIndia2024-06-02King, Christopher A Esq QUALIFIED99Amy Elsner
1047Emily I RulapaughBrazil2024-06-09Chapman, Ross E Esq QUALIFIED56Onyama Limba
1048Mayumi B MarrierSpain2024-06-02Rangoni Of Florence NEGOTIATION72Asiya Javayant
1049Ricardo J KolmetzUnited Kingdom2024-06-20Dorl, James J Esq NEGOTIATION41Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Darci Q GillianAustraliaBernardo Dominic RENEWAL
Darci J OstroskyJapanIvan Magalhaes NEGOTIATION
Adams O WieserRussiaAsiya Javayant QUALIFIED
Faith M SlusarskiRussiaAmy Elsner PROPOSAL
Aika N ChuiJapanAmy Elsner UNQUALIFIED
Jefferson G PerinGermanyBernardo Dominic QUALIFIED
Julie D GauchoCanadaIoni Bowcher UNQUALIFIED
Ricardo J StockhamJapanStephen Shaw QUALIFIED
Jeanfrancois W MaletAustraliaIvan Magalhaes NEW
Mayumi J WaycottBrazilAsiya Javayant PROPOSAL
Chavez Q SchemmerCanadaAnna Fali NEGOTIATION
Claire Z RoysterBrazilElwin Sharvill PROPOSAL
Jeanfrancois B MorascaJapanBernardo Dominic RENEWAL
Munro W WaycottRussiaStephen Shaw PROPOSAL
Antonio I KolmetzAustraliaAmy Elsner QUALIFIED
Faith G BologniaSpainAsiya Javayant UNQUALIFIED
Maisha W DilliardArgentinaBernardo Dominic NEW
Francesco A FlosiAustraliaIvan Magalhaes PROPOSAL
Ashley R GauchoGermanyAmy Elsner NEW
Ricardo R SergiUnited KingdomAnna Fali NEW
Smith U PoquetteUnited KingdomAmy Elsner NEGOTIATION
Kadeem I GillianJapanIoni Bowcher RENEWAL
Jefferson B MaletJapanXuxue Feng NEGOTIATION
Maria Q VenereRussiaIoni Bowcher UNQUALIFIED
Johnson G GauchoSpainBernardo Dominic QUALIFIED
Johnson F NickaGermanyXuxue Feng RENEWAL
James H FollerJapanXuxue Feng PROPOSAL
Jefferson M MaletJapanAsiya Javayant NEGOTIATION
Izzy L SlusarskiRussiaStephen Shaw UNQUALIFIED
Maria S GillianBrazilAnna Fali NEGOTIATION
Munro Y MaletItalyXuxue Feng UNQUALIFIED
Juan B RutaRussiaAnna Fali RENEWAL
Emily T OstroskyBrazilElwin Sharvill UNQUALIFIED
Leon U TollnerUnited KingdomXuxue Feng PROPOSAL
Kaitlin L WieserRussiaAmy Elsner PROPOSAL
Cody E BowleyGermanyXuxue Feng QUALIFIED
Chavez P GarufiBrazilBernardo Dominic UNQUALIFIED
Johnson O FerenczGermanyAmy Elsner PROPOSAL
Mayumi M StensethItalyBernardo Dominic NEGOTIATION
Mayumi V ShinkoAustraliaIvan Magalhaes NEGOTIATION
Ricardo O DoeRussiaAmy Elsner NEGOTIATION
James V WieserItalyAsiya Javayant QUALIFIED
Johnson Q FerenczArgentinaStephen Shaw UNQUALIFIED
Adams D GarufiItalyIoni Bowcher UNQUALIFIED
Jeanfrancois V SaylorsUnited KingdomAsiya Javayant NEGOTIATION
Aika B SaylorsIndiaAsiya Javayant QUALIFIED
David A SergiIndiaAmy Elsner RENEWAL
Maria R VenereAustraliaOnyama Limba NEGOTIATION
Costa X SergiFranceOnyama Limba NEW
Tony U NickaBrazilAnna Fali NEW
Frozen Columns
Name
Mayumi I Albares
Faith Y Chui
Jeanfrancois C Bolognia
David G Waycott
Wickens O Darakjy
Deepesh E Ruta
Rodrigues A Paprocki
Mujtaba W Malet
Costa D Bolognia
Tony K Amigon
Jones X Rulapaugh
Jefferson N Morasca
Leon A Nicka
Rodrigues M Malet
Isabel E Briddick
Leon Z Glick
Leon Q Tollner
Maria X Maclead
Maria J Sergi
Cody F Marrier
Julie T Paprocki
Silvio I Nestle
Tony L Foller
Ivar F Rulapaugh
Adams U Tollner
Johnson O Malet
Jones J Morasca
Ashley Y Wieser
Maisha R Iturbide
Wickens U Malet
Isabel R Bolognia
Antonio N Chui
Johnson E Rim
Clifford L Venere
Tony P Royster
Aditya L Albares
Munro Z Albares
Morrow W Waycott
Chavez G Iturbide
Tony C Chui
Johnson A Caldarera
Arvin T Vocelka
Aditya E Darakjy
Aruna C Nestle
Kaitlin K Stenseth
Silvio T Ruta
Juan M Inouye
Maisha Y Darakjy
Adams Y Perin
David U Whobrey
IdCountryDate
1000France2024-05-25
1001Argentina2024-05-26
1002Brazil2024-06-15
1003Germany2024-05-25
1004Japan2024-06-07
1005Russia2024-06-09
1006Argentina2024-06-06
1007Argentina2024-06-11
1008India2024-05-26
1009Italy2024-06-20
1010India2024-06-04
1011Japan2024-06-21
1012Australia2024-06-18
1013Canada2024-06-19
1014Brazil2024-06-23
1015Spain2024-05-27
1016France2024-05-30
1017Italy2024-05-30
1018France2024-06-21
1019Italy2024-06-05
1020Canada2024-06-07
1021Argentina2024-06-16
1022United Kingdom2024-05-26
1023France2024-06-03
1024Canada2024-05-25
1025Canada2024-06-10
1026Australia2024-06-18
1027France2024-06-11
1028Japan2024-06-02
1029Italy2024-06-11
1030Canada2024-06-23
1031Australia2024-06-02
1032Italy2024-06-13
1033Germany2024-06-07
1034Italy2024-05-25
1035France2024-06-05
1036Germany2024-06-15
1037Argentina2024-06-16
1038Germany2024-06-18
1039Italy2024-06-23
1040France2024-06-13
1041United Kingdom2024-06-03
1042Spain2024-05-29
1043Japan2024-06-19
1044France2024-05-31
1045United Kingdom2024-06-05
1046Japan2024-06-01
1047Argentina2024-06-07
1048Russia2024-06-22
1049Spain2024-06-11

On-Demand Data

NameIdCountryDate
Leja S Waycott1000United Kingdom2024-06-04
Chavez I Marrier1001Canada2024-06-15
Aika W Stenseth1002Canada2024-06-05
Leja D Caudy1003Spain2024-05-26
Sinclair G Chui1004Italy2024-06-09
Mayumi N Caudy1005India2024-06-13
Jones R Stockham1006France2024-06-03
Rodrigues L Vocelka1007United Kingdom2024-06-19
Ivar J Dilliard1008Australia2024-06-13
Jones B Glick1009United Kingdom2024-06-16
Ivar A Stenseth1010India2024-05-27
Faith K Ruta1011Japan2024-06-21
Maria H Nicka1012Spain2024-06-08
Murillo P Dilliard1013Brazil2024-06-06
Clifford L Ruta1014India2024-05-31
Claire S Inouye1015Spain2024-05-31
Ivar B Ostrosky1016United Kingdom2024-06-20
Antonio T Royster1017Canada2024-06-15
Mayumi B Amigon1018Canada2024-06-15
Arvin Q Glick1019Russia2024-06-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin M MaletUnited KingdomIoni Bowcher UNQUALIFIED
Smith Q PerinGermanyAsiya Javayant NEGOTIATION
Maisha N ChuiSpainOnyama Limba NEW
Francesco X AmigonCanadaIoni Bowcher NEW
Arvin N VenereAustraliaIoni Bowcher QUALIFIED
Claire I RutaBrazilElwin Sharvill NEGOTIATION
Maria M VocelkaFranceIoni Bowcher NEW
Misaki W DilliardArgentinaBernardo Dominic PROPOSAL
Costa P PerinIndiaBernardo Dominic NEGOTIATION
Rodrigues O DarakjyCanadaAmy Elsner NEGOTIATION
Aika N MorascaArgentinaBernardo Dominic NEGOTIATION
David E StensethGermanyStephen Shaw UNQUALIFIED
Ricardo D NickaCanadaAmy Elsner RENEWAL
Arvin Q MaletAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois O RimItalyOnyama Limba NEGOTIATION
Deepesh Q VocelkaSpainAmy Elsner PROPOSAL
Tony J CampainBrazilElwin Sharvill PROPOSAL
Kaitlin Z FollerSpainXuxue Feng RENEWAL
Aruna C WieserFranceIoni Bowcher RENEWAL
Greenwood C SchemmerUnited KingdomElwin Sharvill PROPOSAL
Mujtaba X NickaRussiaIoni Bowcher PROPOSAL
Leon D InouyeBrazilStephen Shaw NEW
Stacey W ChuiArgentinaAsiya Javayant QUALIFIED
Jones Z MarrierItalyElwin Sharvill RENEWAL
Costa X StensethItalyAmy Elsner NEW
Arvin Y AlbaresGermanyBernardo Dominic NEW
Clifford G BowleyFranceIoni Bowcher NEW
Julie P WhobreyArgentinaOnyama Limba UNQUALIFIED
Maisha N RoysterFranceBernardo Dominic QUALIFIED
Leon E BologniaUnited KingdomXuxue Feng NEW
Murillo D OldroydSpainOnyama Limba PROPOSAL
James E DilliardItalyIvan Magalhaes PROPOSAL
Aika R ShinkoArgentinaIvan Magalhaes RENEWAL
Smith N BowleyItalyOnyama Limba QUALIFIED
Isabel V MaletIndiaBernardo Dominic RENEWAL
Maria C FollerUnited KingdomAsiya Javayant PROPOSAL
Stacey Q FollerCanadaBernardo Dominic NEGOTIATION
Sinclair J ShinkoJapanAmy Elsner QUALIFIED
Cody N StockhamFranceIoni Bowcher QUALIFIED
Isabel G SchemmerAustraliaAmy Elsner UNQUALIFIED

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