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 K InouyeUnited KingdomAsiya Javayant PROPOSAL
Rodrigues R InouyeGermanyBernardo Dominic UNQUALIFIED
Costa I MaletArgentinaXuxue Feng UNQUALIFIED
Aruna Q CampainArgentinaIvan Magalhaes QUALIFIED
Salvatore S MaletBrazilOnyama Limba UNQUALIFIED
Costa H DoeBrazilStephen Shaw UNQUALIFIED
Costa N ShinkoItalyAnna Fali UNQUALIFIED
Cody U OstroskyJapanAmy Elsner NEW
Salvatore L GarufiAustraliaBernardo Dominic NEGOTIATION
Sinclair B WieserAustraliaOnyama Limba RENEWAL
Aditya N OstroskyBrazilIvan Magalhaes RENEWAL
Ricardo H TollnerItalyAmy Elsner QUALIFIED
Ricardo Z SlusarskiJapanOnyama Limba NEW
Nicolas C GillianFranceIvan Magalhaes RENEWAL
Mujtaba H FerenczSpainStephen Shaw QUALIFIED
Izzy O GillianArgentinaXuxue Feng RENEWAL
Stacey D InouyeCanadaAsiya Javayant RENEWAL
Alejandro O MorascaArgentinaBernardo Dominic NEGOTIATION
Stacey A GarufiFranceXuxue Feng NEGOTIATION
Ricardo N GauchoCanadaOnyama Limba QUALIFIED
Mayumi X BowleyUnited KingdomElwin Sharvill RENEWAL
Sinclair D VocelkaCanadaStephen Shaw NEGOTIATION
Ivar C FlosiSpainXuxue Feng QUALIFIED
James R FigeroaIndiaOnyama Limba QUALIFIED
Darci L FollerGermanyXuxue Feng NEGOTIATION
Kadeem H StensethUnited KingdomIoni Bowcher NEGOTIATION
Leja A PerinUnited KingdomAnna Fali PROPOSAL
Rodrigues Y BologniaSpainAmy Elsner UNQUALIFIED
Munro O VenereFranceIvan Magalhaes UNQUALIFIED
Francesco K RutaGermanyOnyama Limba NEW
Francesco X PoquetteRussiaIoni Bowcher RENEWAL
Leja J WieserArgentinaOnyama Limba QUALIFIED
Maisha Y CampainIndiaXuxue Feng QUALIFIED
Leja C OstroskyAustraliaXuxue Feng PROPOSAL
Sinclair V SchemmerFranceIvan Magalhaes NEGOTIATION
Julie D SergiCanadaBernardo Dominic NEGOTIATION
Misaki E PaprockiSpainAmy Elsner NEGOTIATION
Darci J RulapaughCanadaIvan Magalhaes QUALIFIED
Julie J GlickIndiaBernardo Dominic RENEWAL
Ivar U TollnerAustraliaXuxue Feng UNQUALIFIED
Deepesh C ShinkoGermanyIvan Magalhaes QUALIFIED
Ashley T WhobreyIndiaAnna Fali PROPOSAL
Julie H CampainSpainXuxue Feng PROPOSAL
Isabel L BowleySpainOnyama Limba PROPOSAL
Wickens S MaletGermanyAmy Elsner PROPOSAL
Clifford U InouyeAustraliaBernardo Dominic NEGOTIATION
Murillo N CampainJapanStephen Shaw NEW
Jones V RimCanadaAnna Fali PROPOSAL
Sinclair E KuskoCanadaElwin Sharvill NEW
Maria X CampainCanadaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Tony L ButtFranceIvan Magalhaes RENEWAL
Greenwood W SchemmerJapanAnna Fali PROPOSAL
Izzy Y AlbaresCanadaXuxue Feng NEW
Ricardo D IturbideFranceAmy Elsner UNQUALIFIED
Stacey R VocelkaBrazilBernardo Dominic RENEWAL
Morrow L FigeroaBrazilAsiya Javayant RENEWAL
Leon C IturbideIndiaAnna Fali QUALIFIED
Morrow N RimItalyIvan Magalhaes PROPOSAL
Munro Z VocelkaJapanBernardo Dominic UNQUALIFIED
James P RimArgentinaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy K BriddickBrazil2024-05-21Rousseaux, Michael Esq RENEWAL78Onyama Limba
1001Kadeem R CaudyArgentina2024-04-30Rangoni Of Florence UNQUALIFIED12Ioni Bowcher
1002Antonio D ButtUnited Kingdom2024-05-07King, Christopher A Esq RENEWAL45Ioni Bowcher
1003Morrow W MaletJapan2024-05-22Benton, John B Jr UNQUALIFIED6Ioni Bowcher
1004Murillo P KuskoIndia2024-05-14Chanay, Jeffrey A Esq NEW35Amy Elsner
1005Maria G TollnerJapan2024-05-16Truhlar And Truhlar Attys NEW35Stephen Shaw
1006Wickens Q DilliardRussia2024-05-23Chapman, Ross E Esq NEGOTIATION21Bernardo Dominic
1007Alejandro T SergiRussia2024-05-23Buckley Miller Wright UNQUALIFIED77Bernardo Dominic
1008Izzy C DarakjyJapan2024-05-13King, Christopher A Esq NEGOTIATION76Elwin Sharvill
1009Ashley Y InouyeArgentina2024-04-27Feiner Bros RENEWAL23Xuxue Feng
1010Antonio N PaprockiIndia2024-05-17King, Christopher A Esq QUALIFIED23Elwin Sharvill
1011Sinclair M PaprockiGermany2024-05-24Buckley Miller Wright UNQUALIFIED38Amy Elsner
1012Ivar Z VocelkaJapan2024-04-30Chemel, James L Cpa NEGOTIATION92Ioni Bowcher
1013Darci J SaylorsRussia2024-05-01Feiner Bros RENEWAL16Anna Fali
1014Jeanfrancois L PaprockiSpain2024-05-06Chemel, James L Cpa NEGOTIATION56Xuxue Feng
1015Murillo N VenereUnited Kingdom2024-05-05Feiner Bros PROPOSAL35Ivan Magalhaes
1016Ivar N MacleadItaly2024-05-21Printing Dimensions RENEWAL27Stephen Shaw
1017Costa E ButtIndia2024-05-14Rangoni Of Florence NEGOTIATION67Anna Fali
1018Clifford H FigeroaUnited Kingdom2024-05-09Feiner Bros PROPOSAL33Ivan Magalhaes
1019Leon X IturbideRussia2024-04-30Feiner Bros QUALIFIED58Anna Fali
1020Ashley F BriddickArgentina2024-05-19Chanay, Jeffrey A Esq UNQUALIFIED8Elwin Sharvill
1021Jones B MaletFrance2024-05-15Morlong Associates NEW53Elwin Sharvill
1022Nicolas I MaletGermany2024-05-19Benton, John B Jr PROPOSAL54Anna Fali
1023Maisha C PoquetteFrance2024-05-23Chapman, Ross E Esq QUALIFIED48Xuxue Feng
1024Leon T IturbideItaly2024-05-14Buckley Miller Wright NEGOTIATION87Xuxue Feng
1025Isabel J FlosiBrazil2024-05-05Rangoni Of Florence RENEWAL87Asiya Javayant
1026Ashley W FerenczUnited Kingdom2024-05-06Feiner Bros UNQUALIFIED82Bernardo Dominic
1027Jefferson U FollerIndia2024-05-10Feiner Bros NEGOTIATION95Xuxue Feng
1028David S MaletJapan2024-05-23Morlong Associates QUALIFIED67Elwin Sharvill
1029Nicolas W StensethJapan2024-05-11Rousseaux, Michael Esq UNQUALIFIED82Ioni Bowcher
1030Adams G FerenczGermany2024-05-05Chemel, James L Cpa UNQUALIFIED43Onyama Limba
1031Aruna S RulapaughFrance2024-05-08Buckley Miller Wright NEGOTIATION89Anna Fali
1032Ricardo Z MorascaRussia2024-05-07Benton, John B Jr PROPOSAL10Onyama Limba
1033Munro M MaletJapan2024-05-10Feiner Bros NEW22Ioni Bowcher
1034Deepesh S PerinUnited Kingdom2024-05-05Rousseaux, Michael Esq PROPOSAL56Amy Elsner
1035Faith F SchemmerRussia2024-05-21Chemel, James L Cpa NEW68Amy Elsner
1036Claire M VocelkaArgentina2024-05-02Benton, John B Jr NEW52Ivan Magalhaes
1037Antonio W CaldareraRussia2024-05-17Benton, John B Jr NEW75Amy Elsner
1038Claire A IturbideFrance2024-05-03Chemel, James L Cpa UNQUALIFIED54Elwin Sharvill
1039Salvatore U CaldareraCanada2024-05-16Morlong Associates NEGOTIATION81Ioni Bowcher
1040Aruna Q StensethBrazil2024-05-16Rangoni Of Florence NEW5Xuxue Feng
1041Ricardo O VocelkaFrance2024-05-08Rousseaux, Michael Esq QUALIFIED18Xuxue Feng
1042Claire I MacleadAustralia2024-05-21Chemel, James L Cpa QUALIFIED57Xuxue Feng
1043Antonio A DoeIndia2024-05-04Chemel, James L Cpa PROPOSAL74Ioni Bowcher
1044Claire P ButtFrance2024-05-02Morlong Associates NEW99Ivan Magalhaes
1045Jeanfrancois J GarufiIndia2024-05-18Chapman, Ross E Esq UNQUALIFIED68Ioni Bowcher
1046Ashley S MaletUnited Kingdom2024-05-24Buckley Miller Wright PROPOSAL71Ioni Bowcher
1047Silvio B SchemmerGermany2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED68Asiya Javayant
1048Salvatore I OldroydJapan2024-05-12Morlong Associates QUALIFIED66Amy Elsner
1049Francesco E AmigonItaly2024-05-17Feiner Bros PROPOSAL88Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan Q GlickItalyElwin Sharvill QUALIFIED
Ricardo N CaldareraArgentinaBernardo Dominic PROPOSAL
Isabel L RimUnited KingdomAsiya Javayant RENEWAL
Mujtaba G RoysterSpainIoni Bowcher UNQUALIFIED
Rodrigues J MarrierItalyIvan Magalhaes QUALIFIED
Nicolas G CampainSpainElwin Sharvill UNQUALIFIED
Isabel V RutaItalyIoni Bowcher NEW
Jennifer C DilliardIndiaAsiya Javayant RENEWAL
Mujtaba F IturbideBrazilAmy Elsner QUALIFIED
Antonio G PoquetteItalyAmy Elsner PROPOSAL
Ricardo I RoysterArgentinaAmy Elsner NEW
Francesco N AlbaresCanadaElwin Sharvill NEW
David E DarakjyArgentinaIvan Magalhaes RENEWAL
Johnson Z NestleIndiaXuxue Feng NEW
Rodrigues T PerinIndiaAnna Fali PROPOSAL
Mujtaba P GlickItalyIvan Magalhaes QUALIFIED
Maisha R VocelkaGermanyAnna Fali QUALIFIED
Chavez N GauchoGermanyAsiya Javayant UNQUALIFIED
Jennifer D WhobreyFranceAnna Fali RENEWAL
Chavez M NestleRussiaAsiya Javayant NEW
James U IturbideSpainAnna Fali PROPOSAL
Ashley O SlusarskiArgentinaElwin Sharvill PROPOSAL
Clifford P SaylorsSpainElwin Sharvill UNQUALIFIED
Ivar Z MacleadIndiaIvan Magalhaes NEGOTIATION
Silvio X ButtUnited KingdomBernardo Dominic QUALIFIED
Munro N MarrierArgentinaAnna Fali NEW
Clifford T FlosiArgentinaAnna Fali NEW
Morrow R PerinSpainStephen Shaw UNQUALIFIED
Adams X MacleadItalyAmy Elsner QUALIFIED
Jefferson Q RutaIndiaElwin Sharvill NEW
Mujtaba H KolmetzArgentinaXuxue Feng QUALIFIED
Kadeem A FollerIndiaAmy Elsner NEGOTIATION
Nicolas C AmigonArgentinaIoni Bowcher UNQUALIFIED
Arvin P StensethJapanAmy Elsner NEW
Claire N FerenczIndiaAsiya Javayant UNQUALIFIED
Maisha M CampainBrazilBernardo Dominic UNQUALIFIED
Mujtaba P StensethJapanElwin Sharvill NEW
Claire P MaletArgentinaBernardo Dominic QUALIFIED
Darci S RulapaughUnited KingdomIoni Bowcher RENEWAL
Leja G ButtBrazilXuxue Feng UNQUALIFIED
Mujtaba E RimGermanyAsiya Javayant NEGOTIATION
Claire C WaycottUnited KingdomOnyama Limba QUALIFIED
Kadeem J GarufiAustraliaXuxue Feng QUALIFIED
Francesco Q GarufiJapanOnyama Limba NEW
James I GauchoFranceXuxue Feng RENEWAL
Emily W InouyeItalyBernardo Dominic QUALIFIED
Maria U RutaCanadaAsiya Javayant NEW
Cody S BologniaRussiaXuxue Feng RENEWAL
Wickens C ChuiUnited KingdomAsiya Javayant PROPOSAL
Salvatore O SaylorsBrazilOnyama Limba RENEWAL
Frozen Columns
Name
Aditya D Darakjy
Maisha T Rim
Faith T Rim
Salvatore P Darakjy
Sinclair A Caldarera
Ashley B Malet
Silvio X Vocelka
Munro N Garufi
Alejandro R Gillian
Clifford D Poquette
Maisha L Glick
Salvatore A Vocelka
Octavia N Whobrey
Izzy H Waycott
Emily I Vocelka
Nicolas J Morasca
Nicolas L Paprocki
Nicolas C Morasca
Mayumi K Vocelka
Alejandro D Butt
Darci M Sergi
Faith W Nestle
Antonio O Venere
Izzy F Ruta
Arvin J Bolognia
Jones D Tollner
Aruna N Dilliard
Octavia E Nicka
Julie J Flosi
Aruna P Waycott
Maria Y Gaucho
Costa C Slusarski
Kadeem N Schemmer
Stacey V Foller
Cody J Poquette
Maisha G Stockham
Mayumi I Dilliard
Costa A Saylors
Julie U Tollner
Jeanfrancois B Malet
Leja K Nestle
Jefferson F Gaucho
Izzy Q Poquette
Emily L Poquette
Silvio Y Whobrey
Jeanfrancois D Rulapaugh
Maria S Morasca
Arvin O Paprocki
Ivar F Whobrey
Isabel G Rulapaugh
IdCountryDate
1000India2024-05-16
1001France2024-05-08
1002India2024-05-16
1003Japan2024-05-02
1004United Kingdom2024-05-14
1005Russia2024-05-26
1006Italy2024-05-20
1007Italy2024-05-24
1008Germany2024-05-10
1009India2024-05-09
1010Canada2024-05-04
1011Brazil2024-05-25
1012Spain2024-05-08
1013Russia2024-05-03
1014Argentina2024-05-20
1015Russia2024-05-14
1016India2024-05-04
1017Russia2024-05-06
1018Russia2024-05-08
1019Australia2024-05-08
1020Germany2024-05-25
1021Spain2024-04-30
1022Argentina2024-05-20
1023Germany2024-05-08
1024United Kingdom2024-05-11
1025Australia2024-05-06
1026Japan2024-05-02
1027Argentina2024-05-05
1028Germany2024-05-07
1029Australia2024-05-12
1030Canada2024-05-13
1031France2024-05-03
1032Italy2024-05-01
1033Australia2024-05-02
1034France2024-05-26
1035India2024-05-13
1036India2024-05-20
1037Australia2024-05-20
1038Italy2024-05-03
1039Spain2024-05-15
1040Argentina2024-05-03
1041Italy2024-05-11
1042Germany2024-05-06
1043Spain2024-05-26
1044Australia2024-05-19
1045Argentina2024-05-25
1046Japan2024-05-08
1047Brazil2024-05-14
1048Argentina2024-05-16
1049United Kingdom2024-04-29

On-Demand Data

NameIdCountryDate
Aditya M Perin1000France2024-05-09
Ricardo Z Malet1001Germany2024-05-24
Deepesh W Waycott1002Germany2024-05-17
Arvin B Glick1003Canada2024-05-07
James A Royster1004Argentina2024-05-26
Claire P Flosi1005Spain2024-05-20
Maisha B Sergi1006Australia2024-05-13
Misaki Z Campain1007United Kingdom2024-05-15
Darci P Vocelka1008Russia2024-05-18
Jones S Waycott1009Canada2024-05-15
Adams J Wieser1010Russia2024-05-02
Julie B Iturbide1011India2024-04-28
Izzy U Chui1012Australia2024-05-13
Deepesh N Nestle1013Brazil2024-05-04
Francesco E Saylors1014Brazil2024-05-12
Ivar V Oldroyd1015Brazil2024-05-03
Tony B Caldarera1016Brazil2024-05-22
Isabel W Gaucho1017Brazil2024-05-24
Maisha S Garufi1018United Kingdom2024-05-06
Maisha E Foller1019Italy2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James L NestleBrazilIvan Magalhaes NEGOTIATION
Silvio T TollnerAustraliaAsiya Javayant PROPOSAL
Sinclair F VenereBrazilIvan Magalhaes NEGOTIATION
Aika X SlusarskiIndiaStephen Shaw NEW
Arvin Y BriddickArgentinaAnna Fali NEW
Julie V RoysterAustraliaBernardo Dominic PROPOSAL
Izzy Q MacleadJapanElwin Sharvill NEGOTIATION
Ricardo M RutaArgentinaStephen Shaw NEGOTIATION
Wickens P KuskoGermanyBernardo Dominic RENEWAL
Faith D CaudyArgentinaIoni Bowcher NEW
Deepesh D GlickArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois T AlbaresFranceStephen Shaw NEW
Tony X FlosiArgentinaBernardo Dominic PROPOSAL
Costa I MorascaIndiaIoni Bowcher RENEWAL
Maria Q IturbideFranceOnyama Limba UNQUALIFIED
Mayumi V DilliardRussiaIoni Bowcher NEW
Wickens F OstroskyUnited KingdomStephen Shaw NEW
James F KolmetzAustraliaXuxue Feng NEGOTIATION
Nicolas F PoquetteSpainStephen Shaw UNQUALIFIED
Johnson F MacleadUnited KingdomIoni Bowcher NEW
Jones E RutaFranceIoni Bowcher PROPOSAL
Jones U ButtIndiaOnyama Limba UNQUALIFIED
Deepesh O VenereCanadaAmy Elsner NEW
Tony I AmigonFranceIoni Bowcher QUALIFIED
Aditya B WaycottSpainIvan Magalhaes NEGOTIATION
Aditya U RoysterArgentinaIoni Bowcher UNQUALIFIED
Alejandro G MacleadItalyAsiya Javayant QUALIFIED
Mayumi B PoquetteIndiaAmy Elsner RENEWAL
Smith S ShinkoJapanBernardo Dominic PROPOSAL
Misaki Z IturbideJapanAmy Elsner NEW
Jennifer Y VenereUnited KingdomAmy Elsner PROPOSAL
Jennifer I PerinGermanyElwin Sharvill QUALIFIED
Murillo V PerinGermanyStephen Shaw NEGOTIATION
Leja N ShinkoAustraliaAmy Elsner NEW
Kaitlin X MarrierFranceAnna Fali PROPOSAL
Darci L GlickJapanXuxue Feng UNQUALIFIED
Ricardo R GarufiUnited KingdomIvan Magalhaes QUALIFIED
Clifford A NestleArgentinaIvan Magalhaes NEGOTIATION
Clifford X KolmetzAustraliaAsiya Javayant UNQUALIFIED
Greenwood Q GlickFranceAsiya Javayant 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>