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
Isabel D AmigonArgentinaElwin Sharvill RENEWAL
Greenwood L IturbideAustraliaAsiya Javayant UNQUALIFIED
Izzy K RimUnited KingdomBernardo Dominic PROPOSAL
James G InouyeGermanyIoni Bowcher NEW
Ricardo U GauchoIndiaStephen Shaw PROPOSAL
Julie C KuskoBrazilXuxue Feng NEW
Costa Y SaylorsUnited KingdomElwin Sharvill RENEWAL
Aditya C RoysterBrazilElwin Sharvill NEW
Julie Y CampainJapanAnna Fali QUALIFIED
Johnson G NestleJapanElwin Sharvill QUALIFIED
Aditya X MarrierAustraliaAsiya Javayant QUALIFIED
Chavez P SaylorsUnited KingdomAmy Elsner QUALIFIED
Aika N IturbideItalyAsiya Javayant RENEWAL
James R ButtIndiaElwin Sharvill PROPOSAL
Jeanfrancois Y ChuiCanadaOnyama Limba PROPOSAL
Maria G WieserArgentinaAsiya Javayant RENEWAL
Smith S GauchoBrazilAmy Elsner QUALIFIED
Stacey D MaletIndiaAnna Fali NEGOTIATION
David G MacleadSpainBernardo Dominic NEW
Clifford U RimFranceElwin Sharvill UNQUALIFIED
Sinclair A GillianRussiaAsiya Javayant PROPOSAL
Misaki V GlickItalyOnyama Limba NEW
Deepesh L DilliardSpainOnyama Limba QUALIFIED
Stacey X CampainFranceElwin Sharvill PROPOSAL
Stacey X ButtGermanyXuxue Feng NEGOTIATION
Octavia D BriddickSpainBernardo Dominic UNQUALIFIED
Silvio H RutaArgentinaBernardo Dominic RENEWAL
Faith P PaprockiIndiaBernardo Dominic QUALIFIED
Cody M MaletUnited KingdomAnna Fali PROPOSAL
Mayumi C BologniaGermanyIoni Bowcher QUALIFIED
Claire U WaycottGermanyOnyama Limba NEW
Aditya E TollnerIndiaIvan Magalhaes RENEWAL
Jefferson D RutaGermanyAnna Fali QUALIFIED
Murillo O SaylorsItalyOnyama Limba QUALIFIED
Ricardo Q StensethItalyBernardo Dominic NEW
Silvio Z OldroydBrazilAmy Elsner NEGOTIATION
Silvio M CampainIndiaAnna Fali QUALIFIED
Jeanfrancois J MaletCanadaBernardo Dominic RENEWAL
Deepesh U SlusarskiJapanBernardo Dominic QUALIFIED
Misaki U NickaCanadaIoni Bowcher NEGOTIATION
Mujtaba N WhobreyAustraliaIoni Bowcher NEGOTIATION
Maria K NickaBrazilIvan Magalhaes UNQUALIFIED
Cody Z GauchoSpainAnna Fali RENEWAL
Maria Y NickaGermanyElwin Sharvill NEW
Julie Z DilliardBrazilAsiya Javayant NEGOTIATION
Kadeem R OstroskyArgentinaAmy Elsner NEW
Mayumi V OstroskyGermanyOnyama Limba RENEWAL
Stacey B FigeroaAustraliaAnna Fali NEGOTIATION
Cody V OstroskyAustraliaIoni Bowcher RENEWAL
Aditya X WhobreyBrazilAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois N TollnerBrazilXuxue Feng UNQUALIFIED
Costa M PerinArgentinaOnyama Limba PROPOSAL
Mayumi R OstroskyFranceAsiya Javayant UNQUALIFIED
Kadeem X RutaBrazilBernardo Dominic NEGOTIATION
Ricardo C BowleyUnited KingdomIoni Bowcher QUALIFIED
Clifford V StensethJapanAsiya Javayant NEGOTIATION
Arvin G GlickBrazilBernardo Dominic UNQUALIFIED
Ricardo Z GlickUnited KingdomAmy Elsner UNQUALIFIED
Faith H MaletArgentinaXuxue Feng PROPOSAL
Morrow N CaldareraItalyAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore P VocelkaArgentina2024-06-16Commercial Press RENEWAL34Ivan Magalhaes
1001Jefferson M InouyeGermany2024-06-21Rangoni Of Florence PROPOSAL30Bernardo Dominic
1002Ricardo U BriddickRussia2024-06-14Commercial Press PROPOSAL11Bernardo Dominic
1003Emily Z StockhamJapan2024-06-19Printing Dimensions UNQUALIFIED15Ioni Bowcher
1004Tony T GlickIndia2024-06-13Commercial Press NEGOTIATION46Ivan Magalhaes
1005Deepesh O ShinkoItaly2024-06-14Chemel, James L Cpa NEW95Amy Elsner
1006Misaki N BowleyAustralia2024-06-11Chemel, James L Cpa NEW56Anna Fali
1007Misaki A BriddickBrazil2024-06-15Morlong Associates NEW36Ioni Bowcher
1008Greenwood Y PerinItaly2024-06-11Commercial Press RENEWAL42Xuxue Feng
1009Leja T SaylorsUnited Kingdom2024-06-13Benton, John B Jr NEW80Elwin Sharvill
1010Leon L DarakjyAustralia2024-06-19Dorl, James J Esq NEW76Elwin Sharvill
1011Jefferson H ButtJapan2024-06-10Chemel, James L Cpa NEW45Amy Elsner
1012Adams T GarufiBrazil2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED79Onyama Limba
1013Isabel D MacleadJapan2024-06-09Buckley Miller Wright NEW41Ivan Magalhaes
1014Isabel I RutaArgentina2024-05-27Dorl, James J Esq NEGOTIATION39Elwin Sharvill
1015Greenwood J TollnerCanada2024-06-22Dorl, James J Esq UNQUALIFIED0Stephen Shaw
1016Chavez X GlickBrazil2024-06-21Dorl, James J Esq RENEWAL50Anna Fali
1017Kadeem T MacleadCanada2024-06-08Rangoni Of Florence QUALIFIED88Asiya Javayant
1018Wickens E NickaUnited Kingdom2024-05-28Truhlar And Truhlar Attys UNQUALIFIED38Xuxue Feng
1019Cody W OldroydItaly2024-05-31Commercial Press QUALIFIED6Anna Fali
1020Faith P MaletFrance2024-06-07Feltz Printing Service RENEWAL5Ioni Bowcher
1021Johnson X RimJapan2024-06-17Morlong Associates UNQUALIFIED62Anna Fali
1022Faith P GauchoUnited Kingdom2024-06-17Feiner Bros NEGOTIATION67Anna Fali
1023Faith P BowleyRussia2024-06-18Chemel, James L Cpa NEW1Stephen Shaw
1024Salvatore X StensethSpain2024-05-27King, Christopher A Esq UNQUALIFIED71Asiya Javayant
1025Rodrigues H GarufiBrazil2024-06-17King, Christopher A Esq UNQUALIFIED53Bernardo Dominic
1026Aruna Q WieserGermany2024-05-31Commercial Press NEW84Anna Fali
1027Claire W TollnerRussia2024-06-03Buckley Miller Wright UNQUALIFIED89Amy Elsner
1028Octavia L DilliardFrance2024-05-30Truhlar And Truhlar Attys RENEWAL89Ioni Bowcher
1029Johnson L BologniaItaly2024-05-28Buckley Miller Wright NEW91Amy Elsner
1030Mujtaba Z MaletItaly2024-06-03Feltz Printing Service UNQUALIFIED20Asiya Javayant
1031Octavia G StockhamBrazil2024-06-21King, Christopher A Esq NEGOTIATION36Bernardo Dominic
1032Emily O ChuiBrazil2024-06-12Printing Dimensions UNQUALIFIED67Amy Elsner
1033Alejandro U IturbideBrazil2024-05-28Chapman, Ross E Esq NEW6Ivan Magalhaes
1034David Y DarakjyGermany2024-06-02Dorl, James J Esq QUALIFIED17Elwin Sharvill
1035Darci Q RimUnited Kingdom2024-06-13Commercial Press QUALIFIED69Bernardo Dominic
1036Alejandro N DarakjyRussia2024-06-12King, Christopher A Esq QUALIFIED69Ivan Magalhaes
1037Stacey N FerenczUnited Kingdom2024-06-09Dorl, James J Esq NEW74Stephen Shaw
1038Cody J FerenczJapan2024-05-28Chapman, Ross E Esq PROPOSAL49Asiya Javayant
1039Cody D StensethGermany2024-06-05Morlong Associates PROPOSAL80Xuxue Feng
1040Arvin D StensethItaly2024-06-22Chemel, James L Cpa PROPOSAL97Asiya Javayant
1041Darci C PaprockiFrance2024-06-09Feltz Printing Service PROPOSAL0Amy Elsner
1042Mayumi M RoysterArgentina2024-05-26Chanay, Jeffrey A Esq NEW17Bernardo Dominic
1043Nicolas U MaletItaly2024-06-10Rousseaux, Michael Esq RENEWAL80Anna Fali
1044Morrow Q MorascaFrance2024-06-17Rousseaux, Michael Esq NEW99Xuxue Feng
1045James Y PaprockiBrazil2024-06-19Rousseaux, Michael Esq NEGOTIATION56Bernardo Dominic
1046Rodrigues F MacleadAustralia2024-06-16Chanay, Jeffrey A Esq RENEWAL11Stephen Shaw
1047Ricardo E BriddickBrazil2024-06-02King, Christopher A Esq RENEWAL32Onyama Limba
1048Ricardo W KuskoFrance2024-06-10Chapman, Ross E Esq NEW67Xuxue Feng
1049Jennifer C OstroskySpain2024-06-05Chanay, Jeffrey A Esq NEGOTIATION16Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan G OldroydBrazilOnyama Limba QUALIFIED
Ivar M SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Salvatore N NestleJapanElwin Sharvill PROPOSAL
Smith P NestleArgentinaStephen Shaw QUALIFIED
Mayumi J DoeAustraliaXuxue Feng PROPOSAL
Rodrigues L PaprockiSpainElwin Sharvill UNQUALIFIED
Tony Z CampainItalyIoni Bowcher QUALIFIED
Jennifer S ChuiSpainAnna Fali UNQUALIFIED
Greenwood B WaycottUnited KingdomIvan Magalhaes NEGOTIATION
James J FollerRussiaBernardo Dominic NEGOTIATION
Aruna S FerenczFranceBernardo Dominic QUALIFIED
Salvatore K CaldareraCanadaXuxue Feng PROPOSAL
Aditya R NestleGermanyStephen Shaw NEGOTIATION
Costa R GlickSpainAnna Fali UNQUALIFIED
Emily F InouyeArgentinaIvan Magalhaes UNQUALIFIED
Izzy Z CaudyJapanXuxue Feng PROPOSAL
Kadeem E PoquetteSpainBernardo Dominic NEGOTIATION
Aditya I NestleRussiaElwin Sharvill PROPOSAL
Smith L PaprockiFranceIoni Bowcher QUALIFIED
Smith E ShinkoArgentinaStephen Shaw RENEWAL
Chavez A VocelkaAustraliaAsiya Javayant RENEWAL
Aika G PaprockiJapanAsiya Javayant NEW
Octavia R PerinIndiaAmy Elsner RENEWAL
Stacey X GarufiUnited KingdomOnyama Limba NEGOTIATION
Darci O DarakjyBrazilAsiya Javayant QUALIFIED
Isabel N NickaAustraliaElwin Sharvill NEGOTIATION
Octavia S KuskoAustraliaOnyama Limba NEW
Nicolas F SergiFranceXuxue Feng NEW
Darci U FigeroaItalyBernardo Dominic NEGOTIATION
Leon U SchemmerAustraliaIoni Bowcher NEW
Leja H DarakjyRussiaElwin Sharvill UNQUALIFIED
Jennifer Y GarufiAustraliaIoni Bowcher PROPOSAL
Jennifer Y IturbideRussiaAnna Fali PROPOSAL
Adams D BriddickArgentinaAsiya Javayant NEW
Leja T WhobreyCanadaAmy Elsner QUALIFIED
Maisha Z VocelkaFranceOnyama Limba PROPOSAL
David B ButtAustraliaIvan Magalhaes NEW
Aika Z PaprockiSpainStephen Shaw NEGOTIATION
Alejandro T SergiUnited KingdomStephen Shaw PROPOSAL
Wickens E ChuiArgentinaAnna Fali RENEWAL
Costa F SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Wickens A GarufiAustraliaAsiya Javayant UNQUALIFIED
Leon J RutaCanadaElwin Sharvill QUALIFIED
Arvin Y MaletArgentinaXuxue Feng UNQUALIFIED
Alejandro S RoysterRussiaStephen Shaw NEGOTIATION
Sinclair H MacleadJapanOnyama Limba UNQUALIFIED
Maria G MarrierGermanyAsiya Javayant NEW
Tony E AlbaresCanadaXuxue Feng NEGOTIATION
Leja B NestleGermanyElwin Sharvill NEGOTIATION
Nicolas R MacleadAustraliaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Francesco Y Malet
Arvin M Bolognia
Alejandro Q Schemmer
Ivar Z Stockham
Ivar L Stenseth
Deepesh U Doe
Faith H Maclead
Ricardo N Foller
Jeanfrancois J Paprocki
Jones F Darakjy
David A Paprocki
Maria Q Malet
Leon I Bolognia
Aruna L Tollner
Silvio P Nestle
David A Caldarera
Arvin W Poquette
Isabel C Vocelka
James S Whobrey
Johnson F Albares
Adams F Caldarera
Silvio J Schemmer
Maria D Dilliard
Misaki B Royster
Aruna H Briddick
Julie C Perin
Aika W Flosi
Aika E Darakjy
Greenwood Z Bowley
Jones Z Whobrey
Arvin Q Slusarski
Costa D Marrier
Costa E Ferencz
Maria Z Albares
Jefferson L Bowley
Octavia L Briddick
Francesco W Marrier
Leon K Malet
Morrow W Inouye
James W Wieser
Antonio U Malet
Juan L Rim
Leon B Rim
Julie P Vocelka
Mujtaba R Amigon
Leja Z Amigon
Morrow V Poquette
Johnson C Maclead
Leon N Kolmetz
Deepesh V Slusarski
IdCountryDate
1000Australia2024-06-12
1001Australia2024-06-03
1002Italy2024-06-24
1003Australia2024-05-29
1004France2024-05-27
1005United Kingdom2024-06-21
1006Argentina2024-05-30
1007United Kingdom2024-06-09
1008United Kingdom2024-05-30
1009India2024-06-06
1010Russia2024-06-01
1011Canada2024-06-05
1012Canada2024-06-05
1013India2024-06-23
1014Spain2024-06-11
1015United Kingdom2024-06-11
1016Japan2024-05-26
1017India2024-06-04
1018Germany2024-05-26
1019Russia2024-05-31
1020Argentina2024-06-17
1021Spain2024-05-28
1022United Kingdom2024-06-18
1023Canada2024-06-12
1024Argentina2024-05-29
1025France2024-06-06
1026United Kingdom2024-05-27
1027Australia2024-06-20
1028Spain2024-06-14
1029Argentina2024-06-18
1030Russia2024-06-15
1031Germany2024-06-10
1032Australia2024-06-10
1033Brazil2024-06-22
1034Brazil2024-06-05
1035France2024-06-12
1036India2024-05-30
1037France2024-06-16
1038Spain2024-06-23
1039Japan2024-05-28
1040Russia2024-06-22
1041France2024-06-22
1042Brazil2024-06-07
1043Germany2024-06-03
1044Japan2024-06-08
1045France2024-06-19
1046Spain2024-06-01
1047France2024-06-17
1048Russia2024-06-09
1049Russia2024-06-11

On-Demand Data

NameIdCountryDate
Jones T Kolmetz1000France2024-06-02
Morrow V Garufi1001Canada2024-06-05
Murillo E Dilliard1002Canada2024-06-03
Alejandro G Morasca1003Brazil2024-06-16
Francesco J Sergi1004Canada2024-06-02
James S Poquette1005Canada2024-06-20
Cody G Oldroyd1006Germany2024-06-08
Darci D Royster1007Brazil2024-06-07
Emily G Malet1008Canada2024-06-02
Chavez Y Morasca1009Spain2024-06-23
Greenwood Q Glick1010Brazil2024-05-27
Wickens W Nestle1011United Kingdom2024-06-06
Morrow G Amigon1012Australia2024-06-10
Izzy F Inouye1013Canada2024-06-21
Isabel L Stenseth1014Canada2024-06-21
Ricardo Q Slusarski1015Argentina2024-06-04
Aruna Q Rulapaugh1016France2024-06-20
James O Tollner1017India2024-06-11
Greenwood C Shinko1018India2024-06-01
Jeanfrancois Q Amigon1019Spain2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson P MaletFranceIoni Bowcher QUALIFIED
Mujtaba Y FlosiRussiaIvan Magalhaes NEW
Smith K AlbaresUnited KingdomXuxue Feng QUALIFIED
Maria X WieserAustraliaXuxue Feng UNQUALIFIED
Leon C DilliardItalyIoni Bowcher NEW
Wickens D VocelkaArgentinaAsiya Javayant RENEWAL
Jefferson R WhobreyAustraliaAsiya Javayant PROPOSAL
Morrow F DarakjySpainIvan Magalhaes NEGOTIATION
Stacey W SaylorsCanadaIvan Magalhaes UNQUALIFIED
Costa U PerinBrazilIoni Bowcher QUALIFIED
Silvio H WaycottUnited KingdomOnyama Limba UNQUALIFIED
Mayumi I IturbideAustraliaIvan Magalhaes QUALIFIED
Leon E KolmetzAustraliaAsiya Javayant PROPOSAL
Mayumi G CaudyFranceStephen Shaw UNQUALIFIED
Izzy Q NestleBrazilAmy Elsner UNQUALIFIED
Kaitlin A WaycottBrazilIoni Bowcher NEGOTIATION
Maisha F AmigonRussiaAmy Elsner NEGOTIATION
Claire S WaycottUnited KingdomAnna Fali RENEWAL
Francesco I SaylorsRussiaIvan Magalhaes NEW
Antonio Z RimUnited KingdomAnna Fali PROPOSAL
Octavia E MaletBrazilIoni Bowcher NEGOTIATION
Julie J PaprockiGermanyBernardo Dominic RENEWAL
Sinclair P ButtItalyOnyama Limba QUALIFIED
Silvio T SlusarskiFranceAmy Elsner NEGOTIATION
Darci A RoysterArgentinaAmy Elsner RENEWAL
Aika C WhobreyGermanyBernardo Dominic NEGOTIATION
Ashley T PaprockiCanadaAnna Fali PROPOSAL
Jefferson S FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Silvio W IturbideRussiaAnna Fali PROPOSAL
Nicolas N PoquetteAustraliaXuxue Feng NEGOTIATION
Octavia I ButtArgentinaIvan Magalhaes NEGOTIATION
Silvio Z RulapaughArgentinaElwin Sharvill NEGOTIATION
Tony Y RimCanadaIvan Magalhaes RENEWAL
Chavez E BowleyFranceXuxue Feng PROPOSAL
Nicolas Y BologniaGermanyAmy Elsner QUALIFIED
Deepesh K SaylorsArgentinaOnyama Limba NEGOTIATION
Kadeem T BowleySpainAsiya Javayant PROPOSAL
Kaitlin M CampainBrazilIoni Bowcher NEGOTIATION
Octavia X SchemmerUnited KingdomElwin Sharvill RENEWAL
Leja B AlbaresUnited KingdomXuxue Feng 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>