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
Antonio L MorascaAustraliaElwin Sharvill NEGOTIATION
Francesco A AmigonGermanyIvan Magalhaes UNQUALIFIED
Jefferson K DilliardIndiaIoni Bowcher RENEWAL
Mayumi Y SlusarskiArgentinaElwin Sharvill NEW
Isabel A PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Antonio P GarufiGermanyAsiya Javayant UNQUALIFIED
Costa H StensethAustraliaBernardo Dominic RENEWAL
Adams R RutaJapanAsiya Javayant PROPOSAL
Clifford N SergiBrazilIoni Bowcher RENEWAL
Cody I FlosiFranceAnna Fali UNQUALIFIED
Maisha Z NickaUnited KingdomXuxue Feng PROPOSAL
Isabel C SchemmerJapanXuxue Feng PROPOSAL
Silvio O FlosiRussiaXuxue Feng UNQUALIFIED
Francesco V VenereCanadaXuxue Feng RENEWAL
Jeanfrancois M FerenczJapanElwin Sharvill NEGOTIATION
Antonio D FigeroaGermanyAnna Fali PROPOSAL
Mujtaba A AlbaresGermanyAmy Elsner NEW
Jennifer V AlbaresJapanAsiya Javayant PROPOSAL
Greenwood S MaletRussiaOnyama Limba UNQUALIFIED
Smith D PaprockiAustraliaIoni Bowcher QUALIFIED
Claire K AlbaresBrazilStephen Shaw QUALIFIED
Izzy D IturbideAustraliaOnyama Limba RENEWAL
Nicolas N StockhamFranceStephen Shaw UNQUALIFIED
Silvio T FerenczFranceAnna Fali NEGOTIATION
Ivar B WaycottCanadaIvan Magalhaes RENEWAL
Ashley Z GauchoRussiaXuxue Feng NEW
Adams Y OldroydBrazilStephen Shaw NEGOTIATION
Nicolas Z NickaCanadaAsiya Javayant NEW
Costa X MarrierCanadaOnyama Limba NEGOTIATION
Claire W ButtIndiaIvan Magalhaes PROPOSAL
Sinclair J StockhamJapanOnyama Limba NEW
James R GauchoCanadaAmy Elsner NEW
Morrow Z GauchoFranceAmy Elsner PROPOSAL
Darci R PaprockiCanadaAsiya Javayant UNQUALIFIED
Kaitlin R GillianRussiaStephen Shaw RENEWAL
Claire W GarufiRussiaElwin Sharvill NEW
Ricardo E WhobreyIndiaXuxue Feng NEW
Nicolas Z MaletRussiaAnna Fali UNQUALIFIED
Stacey R GillianIndiaAsiya Javayant NEW
Jones E CaldareraIndiaXuxue Feng NEGOTIATION
Octavia B SchemmerSpainStephen Shaw NEGOTIATION
Jeanfrancois W GarufiGermanyOnyama Limba UNQUALIFIED
Julie K VocelkaBrazilBernardo Dominic NEGOTIATION
Aika F WieserCanadaAsiya Javayant QUALIFIED
Tony U ChuiCanadaAmy Elsner QUALIFIED
Mayumi Q BowleyAustraliaOnyama Limba RENEWAL
Mujtaba Q WhobreyItalyBernardo Dominic QUALIFIED
Jones X MacleadJapanXuxue Feng UNQUALIFIED
Nicolas E DarakjyBrazilIvan Magalhaes UNQUALIFIED
Costa B FigeroaSpainXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith K FollerIndiaElwin Sharvill NEGOTIATION
Ricardo H GarufiSpainAsiya Javayant QUALIFIED
Clifford B CampainAustraliaXuxue Feng QUALIFIED
Ashley C FlosiIndiaAmy Elsner UNQUALIFIED
Alejandro K KuskoArgentinaIvan Magalhaes QUALIFIED
Aditya F PerinArgentinaOnyama Limba QUALIFIED
Murillo V VenereSpainOnyama Limba RENEWAL
Juan C BowleyFranceAsiya Javayant QUALIFIED
Francesco H KuskoUnited KingdomBernardo Dominic RENEWAL
Leja H MacleadSpainElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony A FerenczJapan2024-06-07Rousseaux, Michael Esq UNQUALIFIED83Bernardo Dominic
1001Leja P GillianBrazil2024-06-06Feiner Bros NEGOTIATION22Asiya Javayant
1002Costa S PoquetteItaly2024-06-16King, Christopher A Esq QUALIFIED1Bernardo Dominic
1003Faith R ShinkoIndia2024-06-11Truhlar And Truhlar Attys NEW58Bernardo Dominic
1004Cody I StockhamJapan2024-06-19Commercial Press UNQUALIFIED8Ivan Magalhaes
1005Francesco L VenereAustralia2024-06-07Feiner Bros QUALIFIED14Ivan Magalhaes
1006Smith S RoysterIndia2024-06-18Chemel, James L Cpa NEGOTIATION98Anna Fali
1007Stacey U CaudyRussia2024-06-17Benton, John B Jr NEW91Bernardo Dominic
1008Sinclair C ChuiFrance2024-06-06Benton, John B Jr QUALIFIED1Onyama Limba
1009Rodrigues R StockhamBrazil2024-06-06Printing Dimensions UNQUALIFIED57Xuxue Feng
1010Jones P WaycottSpain2024-06-07Commercial Press QUALIFIED70Onyama Limba
1011Aruna M SlusarskiArgentina2024-06-09Buckley Miller Wright UNQUALIFIED70Elwin Sharvill
1012Leja W OldroydFrance2024-06-20Printing Dimensions RENEWAL1Xuxue Feng
1013Francesco K MorascaRussia2024-06-19King, Christopher A Esq NEGOTIATION36Bernardo Dominic
1014Rodrigues V StensethCanada2024-06-08Truhlar And Truhlar Attys NEGOTIATION30Ivan Magalhaes
1015Cody I MacleadRussia2024-06-18Chapman, Ross E Esq NEW58Onyama Limba
1016Emily Q WaycottCanada2024-05-27Rangoni Of Florence UNQUALIFIED95Ivan Magalhaes
1017Silvio D SlusarskiFrance2024-06-02Chanay, Jeffrey A Esq NEGOTIATION67Anna Fali
1018Clifford E DilliardBrazil2024-06-16Printing Dimensions UNQUALIFIED59Onyama Limba
1019Antonio L NestleIndia2024-06-01Buckley Miller Wright NEGOTIATION72Bernardo Dominic
1020Jones W NestleJapan2024-06-10Chapman, Ross E Esq RENEWAL46Onyama Limba
1021Kadeem B FigeroaCanada2024-05-23King, Christopher A Esq QUALIFIED6Anna Fali
1022Jeanfrancois C RoysterArgentina2024-06-03Rangoni Of Florence UNQUALIFIED19Xuxue Feng
1023Jeanfrancois C FlosiBrazil2024-06-18Chemel, James L Cpa RENEWAL22Stephen Shaw
1024Maria T DoeAustralia2024-06-06Feltz Printing Service PROPOSAL59Stephen Shaw
1025Johnson M PoquetteArgentina2024-06-13Feiner Bros NEW31Stephen Shaw
1026Arvin B InouyeGermany2024-05-31Rousseaux, Michael Esq NEW21Bernardo Dominic
1027Chavez O ButtIndia2024-06-14Rousseaux, Michael Esq QUALIFIED22Bernardo Dominic
1028Tony V BriddickGermany2024-06-19Chanay, Jeffrey A Esq NEW19Anna Fali
1029Rodrigues S ButtAustralia2024-06-08Buckley Miller Wright NEW83Xuxue Feng
1030Mayumi T AmigonCanada2024-06-12Morlong Associates PROPOSAL82Anna Fali
1031Wickens W RutaSpain2024-06-07Commercial Press NEGOTIATION13Ioni Bowcher
1032David U GarufiSpain2024-06-07Chemel, James L Cpa UNQUALIFIED64Bernardo Dominic
1033Ivar O FollerUnited Kingdom2024-06-12Rousseaux, Michael Esq PROPOSAL79Bernardo Dominic
1034Ricardo A OldroydItaly2024-05-24Chanay, Jeffrey A Esq QUALIFIED25Ioni Bowcher
1035Aika R NickaItaly2024-06-17Feiner Bros UNQUALIFIED59Elwin Sharvill
1036Julie F RimAustralia2024-05-24Rousseaux, Michael Esq NEGOTIATION94Elwin Sharvill
1037Izzy I FlosiGermany2024-05-27Rousseaux, Michael Esq RENEWAL15Elwin Sharvill
1038Greenwood P PoquetteItaly2024-05-28Benton, John B Jr NEGOTIATION30Xuxue Feng
1039Arvin D CampainArgentina2024-06-05Printing Dimensions RENEWAL48Xuxue Feng
1040Darci W MaletIndia2024-06-19Feltz Printing Service NEGOTIATION11Anna Fali
1041Munro U VenereRussia2024-05-24Commercial Press UNQUALIFIED5Bernardo Dominic
1042Costa W IturbideUnited Kingdom2024-06-09Benton, John B Jr QUALIFIED37Bernardo Dominic
1043Aditya C DoeFrance2024-05-26Truhlar And Truhlar Attys PROPOSAL39Onyama Limba
1044Deepesh Y BowleyGermany2024-06-13Commercial Press QUALIFIED23Ioni Bowcher
1045Ricardo T RimRussia2024-05-31Benton, John B Jr RENEWAL20Amy Elsner
1046Kaitlin H InouyeFrance2024-05-23Dorl, James J Esq PROPOSAL73Amy Elsner
1047Aruna Z RoysterArgentina2024-06-10Dorl, James J Esq RENEWAL81Ivan Magalhaes
1048Deepesh W KuskoJapan2024-06-21Feiner Bros QUALIFIED14Ivan Magalhaes
1049Nicolas X RimCanada2024-05-25King, Christopher A Esq NEGOTIATION16Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leon B MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Adams V PaprockiUnited KingdomElwin Sharvill NEW
Costa R InouyeIndiaIoni Bowcher RENEWAL
Adams F MacleadAustraliaOnyama Limba NEW
Murillo I BowleyArgentinaAmy Elsner PROPOSAL
Costa R GauchoArgentinaAsiya Javayant RENEWAL
Mayumi Z VenereGermanyIoni Bowcher NEW
Cody C DarakjyJapanOnyama Limba NEGOTIATION
Salvatore C StockhamSpainAnna Fali UNQUALIFIED
Antonio Q StockhamBrazilStephen Shaw QUALIFIED
Aika X ButtJapanElwin Sharvill NEGOTIATION
Munro X RoysterSpainStephen Shaw NEW
Ricardo T SlusarskiCanadaXuxue Feng UNQUALIFIED
Murillo X OstroskyIndiaAsiya Javayant RENEWAL
Clifford O NickaArgentinaOnyama Limba PROPOSAL
Tony U SchemmerIndiaBernardo Dominic NEGOTIATION
Kaitlin G PaprockiItalyAnna Fali NEGOTIATION
Mayumi D TollnerJapanStephen Shaw UNQUALIFIED
Darci G OldroydJapanElwin Sharvill UNQUALIFIED
Octavia E FollerGermanyIvan Magalhaes NEGOTIATION
Tony S WieserIndiaStephen Shaw QUALIFIED
Kaitlin O VocelkaUnited KingdomStephen Shaw QUALIFIED
Clifford A WieserArgentinaAmy Elsner UNQUALIFIED
Adams O StockhamUnited KingdomOnyama Limba RENEWAL
Clifford S CaudyAustraliaAsiya Javayant PROPOSAL
Aika K CampainRussiaStephen Shaw NEW
Arvin Y PerinSpainBernardo Dominic PROPOSAL
Arvin L GillianGermanyOnyama Limba UNQUALIFIED
Faith X StockhamCanadaOnyama Limba PROPOSAL
Kadeem H SchemmerArgentinaAmy Elsner UNQUALIFIED
Clifford G WhobreyFranceElwin Sharvill UNQUALIFIED
Arvin Z AmigonGermanyAnna Fali QUALIFIED
Adams L BologniaRussiaIvan Magalhaes PROPOSAL
Johnson N CaldareraJapanElwin Sharvill NEGOTIATION
Alejandro L ShinkoBrazilIvan Magalhaes NEGOTIATION
Izzy A ShinkoIndiaIoni Bowcher QUALIFIED
Nicolas H NestleSpainBernardo Dominic QUALIFIED
Morrow I BriddickGermanyAsiya Javayant QUALIFIED
Izzy C InouyeJapanIvan Magalhaes NEGOTIATION
Jennifer T KuskoGermanyStephen Shaw RENEWAL
Murillo W GillianUnited KingdomXuxue Feng NEGOTIATION
Chavez P RutaJapanAmy Elsner NEGOTIATION
Antonio A MorascaUnited KingdomAnna Fali QUALIFIED
Jennifer G SlusarskiArgentinaAnna Fali RENEWAL
Darci S MorascaBrazilXuxue Feng NEW
Morrow W PoquetteAustraliaAmy Elsner QUALIFIED
Adams B OstroskyItalyIvan Magalhaes NEGOTIATION
Leon F BriddickAustraliaStephen Shaw NEW
Sinclair S RimAustraliaIvan Magalhaes NEW
Tony I AmigonCanadaAnna Fali PROPOSAL
Frozen Columns
Name
Sinclair E Stockham
Izzy C Flosi
Smith Z Slusarski
Mujtaba I Glick
Aruna A Wieser
David Q Gaucho
Leon Z Glick
Sinclair G Ruta
Jones N Caudy
Aika K Schemmer
Rodrigues B Caldarera
Darci I Stenseth
Jeanfrancois J Briddick
Sinclair D Whobrey
Mujtaba C Tollner
Munro G Gaucho
Mujtaba H Darakjy
Juan R Oldroyd
Claire C Caudy
Clifford M Ostrosky
Silvio F Ruta
Aruna I Saylors
Adams A Gillian
Arvin X Malet
Mujtaba V Rulapaugh
Jones B Amigon
Alejandro V Oldroyd
Kaitlin L Kusko
Ricardo I Maclead
Arvin S Kolmetz
Deepesh R Schemmer
Costa G Bolognia
Claire A Chui
Isabel S Doe
Maisha K Albares
Salvatore D Flosi
Kadeem W Schemmer
Aditya N Dilliard
James K Briddick
Jefferson N Stockham
Salvatore J Sergi
Aika Y Ruta
Jeanfrancois A Morasca
Octavia R Perin
Octavia J Tollner
Johnson E Dilliard
Juan S Stenseth
Rodrigues T Garufi
Izzy Q Dilliard
Jennifer A Butt
IdCountryDate
1000Brazil2024-06-07
1001France2024-06-16
1002Spain2024-06-17
1003Australia2024-06-21
1004Russia2024-06-02
1005Australia2024-06-12
1006Canada2024-06-06
1007France2024-06-16
1008India2024-06-08
1009Russia2024-06-09
1010Russia2024-06-05
1011Argentina2024-06-19
1012Italy2024-06-15
1013Russia2024-05-25
1014Spain2024-06-08
1015Argentina2024-06-13
1016United Kingdom2024-05-29
1017Canada2024-05-23
1018Argentina2024-05-31
1019Argentina2024-06-07
1020Russia2024-06-08
1021United Kingdom2024-05-27
1022Canada2024-06-10
1023Australia2024-06-04
1024Italy2024-05-28
1025India2024-06-06
1026Australia2024-05-31
1027Brazil2024-06-18
1028Germany2024-06-16
1029United Kingdom2024-06-16
1030Australia2024-06-17
1031Australia2024-06-10
1032India2024-06-19
1033Argentina2024-05-25
1034Russia2024-05-31
1035India2024-05-28
1036Russia2024-05-29
1037Italy2024-05-27
1038Canada2024-06-18
1039Argentina2024-06-18
1040Australia2024-06-05
1041Japan2024-05-31
1042Canada2024-06-18
1043Japan2024-06-02
1044France2024-06-02
1045Brazil2024-06-03
1046Australia2024-06-21
1047Germany2024-06-16
1048Italy2024-05-24
1049Japan2024-05-31

On-Demand Data

NameIdCountryDate
Octavia M Nestle1000Canada2024-05-28
Jennifer J Tollner1001France2024-06-20
Darci G Perin1002Argentina2024-05-24
Stacey A Bowley1003Argentina2024-06-03
Ashley X Schemmer1004Russia2024-05-25
Darci I Foller1005Canada2024-05-28
Ashley U Nestle1006India2024-06-17
Emily I Caudy1007Brazil2024-06-18
Costa H Kusko1008India2024-06-21
Jones K Gillian1009Canada2024-06-06
Kaitlin Q Bolognia1010United Kingdom2024-05-26
Isabel J Kolmetz1011Spain2024-06-06
Mujtaba B Darakjy1012Australia2024-05-29
David V Nicka1013Spain2024-05-31
Silvio I Gillian1014Japan2024-05-23
Alejandro N Campain1015Canada2024-06-20
Jones X Inouye1016Spain2024-06-02
Tony X Sergi1017United Kingdom2024-06-05
Stacey C Whobrey1018Russia2024-05-24
Johnson S Briddick1019Brazil2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody X SlusarskiBrazilAnna Fali PROPOSAL
Munro N FlosiRussiaElwin Sharvill QUALIFIED
Murillo P RutaGermanyIvan Magalhaes NEGOTIATION
Julie S CaudyCanadaAmy Elsner PROPOSAL
Cody M GillianIndiaAsiya Javayant RENEWAL
Leja W BologniaAustraliaBernardo Dominic NEGOTIATION
Smith A FollerRussiaElwin Sharvill UNQUALIFIED
Ivar A SaylorsCanadaStephen Shaw RENEWAL
James G RutaBrazilBernardo Dominic NEGOTIATION
Maisha R FigeroaArgentinaIoni Bowcher PROPOSAL
Octavia P FerenczUnited KingdomAnna Fali NEGOTIATION
Johnson D VocelkaItalyIvan Magalhaes QUALIFIED
Kaitlin D StockhamAustraliaAmy Elsner QUALIFIED
Chavez J AlbaresIndiaBernardo Dominic NEGOTIATION
Munro U DoeSpainAmy Elsner QUALIFIED
Salvatore I NickaFranceAmy Elsner NEGOTIATION
Johnson O RoysterItalyAmy Elsner QUALIFIED
Mayumi J NickaFranceBernardo Dominic UNQUALIFIED
Juan G ChuiArgentinaBernardo Dominic NEW
Misaki D BowleyFranceIoni Bowcher NEGOTIATION
Stacey P OstroskyIndiaElwin Sharvill RENEWAL
Deepesh V PerinUnited KingdomOnyama Limba NEW
Wickens H GlickUnited KingdomBernardo Dominic PROPOSAL
Julie J FlosiGermanyAnna Fali UNQUALIFIED
Costa S IturbideJapanBernardo Dominic NEW
Mayumi Q FerenczCanadaXuxue Feng NEGOTIATION
Emily G OstroskyRussiaAmy Elsner PROPOSAL
Antonio O GlickAustraliaXuxue Feng UNQUALIFIED
Ricardo K RulapaughArgentinaAnna Fali NEW
Stacey N VocelkaBrazilAmy Elsner NEGOTIATION
Izzy G MacleadCanadaIoni Bowcher PROPOSAL
Emily T RoysterAustraliaAnna Fali NEW
Maria E KolmetzSpainIvan Magalhaes QUALIFIED
Deepesh E WaycottAustraliaOnyama Limba NEGOTIATION
Wickens B SergiCanadaBernardo Dominic NEW
Jefferson B ChuiArgentinaStephen Shaw NEW
Deepesh C StensethIndiaAsiya Javayant PROPOSAL
Salvatore X CampainItalyOnyama Limba QUALIFIED
Mayumi Z IturbideSpainIvan Magalhaes NEGOTIATION
Claire F CampainRussiaBernardo Dominic 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>