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
Juan U FigeroaJapanAnna Fali NEGOTIATION
Murillo C PoquetteAustraliaIvan Magalhaes PROPOSAL
Chavez H WieserRussiaAsiya Javayant RENEWAL
Kaitlin X GillianCanadaElwin Sharvill PROPOSAL
Smith O KolmetzAustraliaIoni Bowcher NEGOTIATION
Emily P IturbideSpainAsiya Javayant QUALIFIED
Antonio O InouyeCanadaXuxue Feng NEGOTIATION
Aika G SlusarskiJapanAmy Elsner NEGOTIATION
Nicolas Z VenereJapanAnna Fali NEGOTIATION
Kaitlin L OstroskyJapanOnyama Limba UNQUALIFIED
Antonio U SaylorsSpainAsiya Javayant QUALIFIED
Jefferson H AmigonFranceIoni Bowcher NEW
David O RutaUnited KingdomAmy Elsner QUALIFIED
Leja T MorascaFranceIoni Bowcher NEW
Kadeem T GlickRussiaStephen Shaw NEGOTIATION
Leon P TollnerArgentinaStephen Shaw QUALIFIED
Clifford L MacleadCanadaAnna Fali QUALIFIED
Deepesh C RulapaughFranceAsiya Javayant PROPOSAL
Rodrigues X SergiArgentinaAsiya Javayant QUALIFIED
Arvin Y ChuiGermanyStephen Shaw NEGOTIATION
Aika G FlosiArgentinaAmy Elsner NEW
Leja Z FerenczCanadaXuxue Feng PROPOSAL
Jeanfrancois A SaylorsAustraliaStephen Shaw RENEWAL
Murillo B AmigonJapanAmy Elsner PROPOSAL
Aditya O SlusarskiSpainAmy Elsner NEGOTIATION
Isabel M RutaIndiaStephen Shaw RENEWAL
Aditya U FigeroaCanadaIoni Bowcher UNQUALIFIED
Silvio J RulapaughJapanIoni Bowcher RENEWAL
Antonio R WieserIndiaOnyama Limba PROPOSAL
Salvatore P RimUnited KingdomBernardo Dominic NEW
Emily C DoeFranceElwin Sharvill QUALIFIED
Jeanfrancois V CaudySpainIoni Bowcher UNQUALIFIED
Clifford W BriddickFranceStephen Shaw NEW
Jefferson F IturbideArgentinaIoni Bowcher NEW
Jefferson S DilliardUnited KingdomBernardo Dominic NEGOTIATION
Greenwood D TollnerCanadaElwin Sharvill RENEWAL
Aika T FollerItalyStephen Shaw RENEWAL
Darci J WhobreyUnited KingdomBernardo Dominic NEW
Emily E WieserAustraliaIoni Bowcher RENEWAL
Juan Q NestleFranceOnyama Limba RENEWAL
Jennifer U GarufiFranceBernardo Dominic PROPOSAL
Aruna L KolmetzSpainAmy Elsner NEGOTIATION
Antonio F PerinAustraliaStephen Shaw QUALIFIED
Darci N CampainBrazilIvan Magalhaes QUALIFIED
Jeanfrancois U WaycottGermanyElwin Sharvill NEW
Antonio P WaycottJapanAnna Fali NEGOTIATION
Emily M CaldareraCanadaElwin Sharvill UNQUALIFIED
Emily C AlbaresIndiaIoni Bowcher PROPOSAL
Jones B StockhamCanadaIvan Magalhaes NEGOTIATION
Cody J AmigonGermanyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Nicolas H MacleadIndiaOnyama Limba UNQUALIFIED
Octavia L RoysterArgentinaIoni Bowcher NEW
Munro J PerinFranceBernardo Dominic PROPOSAL
Ashley M NickaBrazilIvan Magalhaes QUALIFIED
Stacey C VenereBrazilIvan Magalhaes NEW
Murillo X DoeGermanyIoni Bowcher QUALIFIED
James E OldroydCanadaOnyama Limba UNQUALIFIED
Tony M SaylorsFranceAmy Elsner NEGOTIATION
Salvatore Y RutaJapanStephen Shaw NEGOTIATION
Adams J CaudyAustraliaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya M StockhamRussia2024-05-26Truhlar And Truhlar Attys RENEWAL27Anna Fali
1001Faith K CaldareraJapan2024-05-30Buckley Miller Wright UNQUALIFIED82Xuxue Feng
1002Deepesh P MorascaItaly2024-05-28Dorl, James J Esq NEGOTIATION83Amy Elsner
1003Tony G TollnerArgentina2024-06-02Rangoni Of Florence PROPOSAL36Ioni Bowcher
1004Darci U KolmetzJapan2024-06-14Printing Dimensions PROPOSAL1Elwin Sharvill
1005Jefferson Z OstroskyFrance2024-06-02Feiner Bros NEW39Anna Fali
1006Emily I MaletUnited Kingdom2024-06-03Buckley Miller Wright NEW38Asiya Javayant
1007Costa J KuskoArgentina2024-06-19Chemel, James L Cpa UNQUALIFIED42Ivan Magalhaes
1008Aruna Q WieserRussia2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED35Elwin Sharvill
1009Jeanfrancois C StockhamArgentina2024-05-31Truhlar And Truhlar Attys RENEWAL46Ivan Magalhaes
1010Faith V ChuiCanada2024-06-18Morlong Associates PROPOSAL24Elwin Sharvill
1011Rodrigues G FerenczCanada2024-05-27Feiner Bros PROPOSAL66Anna Fali
1012Clifford I PerinIndia2024-05-25Rangoni Of Florence RENEWAL59Anna Fali
1013Morrow Q BriddickArgentina2024-06-07Benton, John B Jr PROPOSAL67Ioni Bowcher
1014Alejandro P KuskoArgentina2024-06-15Chemel, James L Cpa RENEWAL4Ioni Bowcher
1015Silvio B SaylorsSpain2024-06-03Chanay, Jeffrey A Esq RENEWAL68Xuxue Feng
1016Arvin J SlusarskiFrance2024-06-14Chemel, James L Cpa NEGOTIATION55Amy Elsner
1017Alejandro H SchemmerAustralia2024-05-25Chanay, Jeffrey A Esq QUALIFIED44Stephen Shaw
1018Maria H FlosiSpain2024-06-11Commercial Press NEGOTIATION36Asiya Javayant
1019Adams I StensethRussia2024-05-29Rangoni Of Florence QUALIFIED68Elwin Sharvill
1020David H FollerItaly2024-06-10Chapman, Ross E Esq NEW57Ioni Bowcher
1021Emily J SchemmerJapan2024-06-14Rousseaux, Michael Esq QUALIFIED17Asiya Javayant
1022Darci H DarakjyIndia2024-06-10King, Christopher A Esq NEW97Ivan Magalhaes
1023Claire R GillianSpain2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED10Stephen Shaw
1024Aruna M GillianSpain2024-05-26Morlong Associates QUALIFIED77Amy Elsner
1025Rodrigues X DoeGermany2024-06-01Commercial Press RENEWAL50Asiya Javayant
1026Alejandro D KuskoBrazil2024-05-24Dorl, James J Esq NEW98Amy Elsner
1027Sinclair S OstroskyIndia2024-06-11Feiner Bros UNQUALIFIED4Onyama Limba
1028Salvatore F IturbideFrance2024-05-30Morlong Associates QUALIFIED74Ivan Magalhaes
1029Tony S ButtRussia2024-06-15Feiner Bros QUALIFIED83Anna Fali
1030Greenwood U CampainCanada2024-06-01Morlong Associates RENEWAL73Onyama Limba
1031Faith N TollnerArgentina2024-06-02Printing Dimensions PROPOSAL49Onyama Limba
1032Jeanfrancois J KolmetzItaly2024-06-18Chanay, Jeffrey A Esq QUALIFIED58Bernardo Dominic
1033Faith T FlosiRussia2024-05-26Feltz Printing Service QUALIFIED98Bernardo Dominic
1034Misaki I StockhamRussia2024-06-14Printing Dimensions RENEWAL8Xuxue Feng
1035Silvio D DoeGermany2024-05-25Rangoni Of Florence UNQUALIFIED55Ivan Magalhaes
1036Claire T CaldareraJapan2024-05-29Benton, John B Jr PROPOSAL84Asiya Javayant
1037Morrow X RoysterFrance2024-06-07Chapman, Ross E Esq NEGOTIATION64Onyama Limba
1038Isabel U SlusarskiIndia2024-06-03Buckley Miller Wright UNQUALIFIED88Stephen Shaw
1039Darci G MarrierFrance2024-06-01Feiner Bros PROPOSAL75Asiya Javayant
1040Sinclair E MorascaBrazil2024-06-01Benton, John B Jr UNQUALIFIED61Xuxue Feng
1041Arvin I NestleArgentina2024-05-27Feiner Bros UNQUALIFIED25Anna Fali
1042Sinclair D TollnerIndia2024-06-11Commercial Press QUALIFIED29Xuxue Feng
1043Nicolas U SergiSpain2024-05-28Rousseaux, Michael Esq QUALIFIED54Bernardo Dominic
1044Julie U SergiBrazil2024-05-25Benton, John B Jr NEW95Onyama Limba
1045Emily P KuskoFrance2024-05-26Printing Dimensions NEGOTIATION83Ioni Bowcher
1046Aruna Q PoquetteBrazil2024-06-14Rousseaux, Michael Esq PROPOSAL78Ivan Magalhaes
1047Rodrigues F SchemmerCanada2024-06-11Printing Dimensions RENEWAL21Onyama Limba
1048Clifford Q DilliardSpain2024-06-10Commercial Press PROPOSAL71Ivan Magalhaes
1049Maisha Q DoeIndia2024-05-27Rangoni Of Florence UNQUALIFIED3Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ricardo G MorascaArgentinaXuxue Feng NEW
Ashley B BriddickFranceElwin Sharvill UNQUALIFIED
Izzy Y FollerCanadaIoni Bowcher PROPOSAL
Leja H PaprockiSpainBernardo Dominic RENEWAL
Alejandro B PaprockiIndiaAsiya Javayant UNQUALIFIED
Murillo V ShinkoIndiaIoni Bowcher PROPOSAL
Leon T FlosiCanadaBernardo Dominic RENEWAL
Maria K DarakjyIndiaOnyama Limba PROPOSAL
Ricardo S NickaUnited KingdomIoni Bowcher UNQUALIFIED
Emily J SergiSpainOnyama Limba QUALIFIED
Salvatore E ChuiJapanBernardo Dominic RENEWAL
Johnson L StockhamSpainXuxue Feng QUALIFIED
Mayumi K WaycottJapanAmy Elsner NEW
Arvin X MorascaBrazilXuxue Feng NEGOTIATION
Kadeem Z MorascaArgentinaBernardo Dominic NEW
Claire H DilliardUnited KingdomElwin Sharvill RENEWAL
Faith F PoquetteBrazilStephen Shaw QUALIFIED
Aditya S ShinkoRussiaAmy Elsner RENEWAL
Nicolas V IturbideCanadaAmy Elsner QUALIFIED
Aika N CampainCanadaStephen Shaw RENEWAL
Rodrigues N WieserArgentinaElwin Sharvill RENEWAL
Aruna U SlusarskiAustraliaAnna Fali NEGOTIATION
Maria U WhobreyJapanXuxue Feng UNQUALIFIED
Octavia K ShinkoItalyAnna Fali RENEWAL
Aruna M VocelkaSpainAmy Elsner PROPOSAL
Francesco X ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin K RulapaughBrazilXuxue Feng RENEWAL
Ivar Z MaletJapanStephen Shaw NEW
Adams I MacleadRussiaAsiya Javayant UNQUALIFIED
Deepesh Y DilliardJapanStephen Shaw RENEWAL
Kadeem N AmigonCanadaIoni Bowcher RENEWAL
Arvin I CaudyJapanIoni Bowcher UNQUALIFIED
Jeanfrancois K GarufiRussiaAnna Fali NEGOTIATION
Jones R FollerArgentinaStephen Shaw RENEWAL
Morrow L RutaItalyElwin Sharvill NEGOTIATION
Nicolas K CampainBrazilOnyama Limba QUALIFIED
Sinclair A MacleadFranceBernardo Dominic QUALIFIED
Clifford E MacleadUnited KingdomStephen Shaw UNQUALIFIED
Kadeem P FerenczSpainAsiya Javayant UNQUALIFIED
Jefferson A TollnerJapanAsiya Javayant RENEWAL
Kaitlin Z TollnerUnited KingdomXuxue Feng RENEWAL
Ashley D InouyeRussiaIvan Magalhaes RENEWAL
Costa Z BriddickBrazilAsiya Javayant UNQUALIFIED
Adams K OstroskyCanadaBernardo Dominic QUALIFIED
Isabel V GillianBrazilAsiya Javayant NEW
Salvatore J DarakjyGermanyAsiya Javayant RENEWAL
Wickens Z AmigonIndiaAmy Elsner PROPOSAL
Maisha J SchemmerFranceIvan Magalhaes RENEWAL
Aditya U BriddickItalyXuxue Feng UNQUALIFIED
Leja C RutaBrazilXuxue Feng NEGOTIATION
Frozen Columns
Name
Kaitlin L Amigon
Smith S Malet
Jeanfrancois D Wieser
Sinclair Y Royster
Mujtaba R Figeroa
Faith W Slusarski
Silvio K Perin
David T Darakjy
Mujtaba F Garufi
Johnson L Venere
Jefferson C Stenseth
Mujtaba F Saylors
Kaitlin C Stenseth
Deepesh U Caldarera
Darci H Ruta
Octavia H Ferencz
Deepesh G Glick
James Q Poquette
Ivar L Shinko
Faith Y Stockham
Faith B Campain
Maisha U Shinko
Kaitlin I Albares
Misaki H Oldroyd
Clifford P Gaucho
Nicolas W Waycott
Claire F Inouye
Octavia S Royster
Leon T Caldarera
Emily O Schemmer
Greenwood I Slusarski
Silvio N Malet
Salvatore H Maclead
Munro I Stockham
Maria N Wieser
Tony E Nicka
Maisha V Doe
Isabel K Caudy
Mujtaba J Kusko
Leon E Albares
Greenwood U Royster
Murillo H Campain
Stacey D Dilliard
Francesco U Glick
Alejandro S Foller
Smith X Oldroyd
Morrow F Garufi
Maria H Stockham
Aditya M Gillian
Misaki H Malet
IdCountryDate
1000Germany2024-06-06
1001India2024-06-03
1002Argentina2024-06-11
1003Italy2024-06-07
1004Russia2024-06-12
1005Italy2024-05-30
1006Canada2024-06-04
1007Brazil2024-06-18
1008Italy2024-06-07
1009Argentina2024-06-10
1010United Kingdom2024-06-04
1011Brazil2024-06-18
1012Japan2024-06-06
1013Brazil2024-06-11
1014France2024-06-06
1015Italy2024-06-13
1016Argentina2024-05-28
1017Germany2024-06-04
1018Italy2024-06-12
1019Australia2024-06-16
1020Spain2024-06-17
1021Canada2024-06-08
1022Russia2024-06-20
1023France2024-06-12
1024Italy2024-06-18
1025United Kingdom2024-06-16
1026India2024-06-16
1027Spain2024-06-04
1028France2024-06-16
1029Germany2024-05-27
1030Spain2024-05-25
1031Canada2024-06-05
1032France2024-06-15
1033Australia2024-06-19
1034Japan2024-06-03
1035Brazil2024-06-05
1036Brazil2024-05-29
1037Russia2024-05-28
1038Italy2024-05-23
1039Italy2024-06-02
1040United Kingdom2024-06-12
1041Australia2024-06-15
1042Brazil2024-06-20
1043Brazil2024-06-18
1044Argentina2024-06-20
1045Italy2024-05-23
1046United Kingdom2024-05-24
1047Germany2024-05-23
1048Japan2024-06-10
1049Japan2024-05-25

On-Demand Data

NameIdCountryDate
Mayumi L Caldarera1000Spain2024-05-31
Isabel Z Nicka1001Japan2024-06-15
Clifford N Tollner1002Canada2024-06-06
Jennifer M Nestle1003Russia2024-06-09
Costa J Ostrosky1004India2024-06-01
Ivar E Bolognia1005United Kingdom2024-06-16
James H Campain1006Italy2024-06-16
Aditya R Nicka1007Brazil2024-05-23
James X Amigon1008Italy2024-06-12
Claire Y Whobrey1009Spain2024-05-25
Jones G Doe1010France2024-06-09
Ivar R Kusko1011Australia2024-06-20
Adams O Albares1012France2024-06-06
Costa D Chui1013Italy2024-05-24
Maisha Y Slusarski1014United Kingdom2024-06-18
Julie H Morasca1015Brazil2024-05-26
Darci A Iturbide1016Canada2024-06-03
Darci E Malet1017Italy2024-06-13
Darci K Shinko1018Australia2024-06-21
Mayumi C Chui1019Japan2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro C NestleAustraliaAsiya Javayant PROPOSAL
Arvin V BologniaFranceAmy Elsner UNQUALIFIED
Izzy H BowleyItalyOnyama Limba UNQUALIFIED
Stacey Y IturbideIndiaIvan Magalhaes QUALIFIED
Julie C BowleyFranceXuxue Feng NEGOTIATION
Costa Q SaylorsItalyOnyama Limba UNQUALIFIED
Jefferson T BologniaGermanyAmy Elsner PROPOSAL
David U FigeroaRussiaIvan Magalhaes NEGOTIATION
Aruna R DilliardItalyIoni Bowcher PROPOSAL
Octavia P GauchoFranceBernardo Dominic PROPOSAL
Nicolas P SergiCanadaElwin Sharvill RENEWAL
Antonio N KuskoItalyBernardo Dominic RENEWAL
Greenwood J RulapaughRussiaBernardo Dominic NEW
Cody X RutaRussiaStephen Shaw QUALIFIED
Kadeem C AmigonAustraliaAnna Fali RENEWAL
Mujtaba F SaylorsUnited KingdomElwin Sharvill NEGOTIATION
Izzy Z MacleadRussiaAsiya Javayant QUALIFIED
Nicolas R FlosiRussiaIvan Magalhaes RENEWAL
David Y CaudyGermanyAmy Elsner QUALIFIED
Adams A RulapaughSpainAsiya Javayant UNQUALIFIED
Murillo G SchemmerAustraliaStephen Shaw NEGOTIATION
Smith V GauchoAustraliaAnna Fali UNQUALIFIED
Arvin E DarakjyIndiaIoni Bowcher RENEWAL
Adams M KolmetzArgentinaOnyama Limba NEW
Munro C RimItalyBernardo Dominic RENEWAL
Leja S BriddickJapanAsiya Javayant RENEWAL
Aditya X BologniaJapanAnna Fali NEGOTIATION
Morrow Z FollerBrazilBernardo Dominic QUALIFIED
James C MacleadRussiaAsiya Javayant RENEWAL
Mujtaba T RimIndiaIoni Bowcher UNQUALIFIED
Cody P GillianAustraliaElwin Sharvill QUALIFIED
Octavia I StensethSpainBernardo Dominic QUALIFIED
Alejandro C CampainGermanyBernardo Dominic UNQUALIFIED
Jefferson S DilliardCanadaStephen Shaw RENEWAL
Smith R RulapaughFranceIoni Bowcher NEW
Chavez D GauchoItalyAsiya Javayant UNQUALIFIED
Aditya Y GarufiItalyAsiya Javayant QUALIFIED
Aditya O ShinkoAustraliaBernardo Dominic NEW
Chavez N VenereArgentinaElwin Sharvill NEW
Antonio C RulapaughAustraliaAsiya 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>