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
Maria V VocelkaFranceElwin Sharvill NEW
Morrow R OldroydItalyBernardo Dominic PROPOSAL
Tony Q AlbaresAustraliaIoni Bowcher RENEWAL
Mujtaba Q ChuiGermanyIoni Bowcher PROPOSAL
Julie Z CaldareraAustraliaIvan Magalhaes NEGOTIATION
Salvatore U CaudyIndiaAnna Fali PROPOSAL
Mujtaba H KolmetzJapanAnna Fali QUALIFIED
Cody Q WhobreyItalyAnna Fali NEGOTIATION
Jefferson X KuskoJapanIvan Magalhaes RENEWAL
Maisha K NickaItalyStephen Shaw PROPOSAL
Faith P WhobreyCanadaAnna Fali NEGOTIATION
Leon S DilliardArgentinaAmy Elsner PROPOSAL
Mayumi X GarufiUnited KingdomIvan Magalhaes NEW
Smith U GlickArgentinaIvan Magalhaes PROPOSAL
Stacey G RimCanadaAmy Elsner NEGOTIATION
Leja Y InouyeBrazilIoni Bowcher UNQUALIFIED
Arvin S StockhamGermanyIvan Magalhaes QUALIFIED
Murillo V ButtGermanyIvan Magalhaes QUALIFIED
Jennifer E SlusarskiFranceOnyama Limba QUALIFIED
Faith S BologniaIndiaXuxue Feng NEGOTIATION
Tony K WaycottGermanyBernardo Dominic NEGOTIATION
Juan U GauchoItalyBernardo Dominic NEGOTIATION
Ashley R RoysterItalyBernardo Dominic RENEWAL
Deepesh Q DoeFranceAnna Fali UNQUALIFIED
Jennifer U OldroydJapanAnna Fali NEGOTIATION
Darci F OstroskyGermanyIoni Bowcher UNQUALIFIED
Mayumi I AlbaresGermanyAnna Fali UNQUALIFIED
Kaitlin M MaletIndiaXuxue Feng PROPOSAL
Chavez W FerenczBrazilElwin Sharvill UNQUALIFIED
Kadeem X OstroskyCanadaIoni Bowcher PROPOSAL
Cody H IturbideJapanIvan Magalhaes NEGOTIATION
Ivar N GauchoBrazilAnna Fali PROPOSAL
Ricardo U WaycottGermanyElwin Sharvill NEW
Leon O PerinGermanyXuxue Feng QUALIFIED
Julie D NestleCanadaXuxue Feng NEW
Greenwood H MaletArgentinaIvan Magalhaes NEGOTIATION
Stacey N BowleyIndiaElwin Sharvill NEGOTIATION
Darci T CampainArgentinaOnyama Limba RENEWAL
David Y FigeroaAustraliaStephen Shaw PROPOSAL
Cody N RutaCanadaElwin Sharvill UNQUALIFIED
Maria B MaletIndiaAsiya Javayant QUALIFIED
Silvio H OstroskyCanadaAsiya Javayant RENEWAL
Mujtaba P RimItalyAnna Fali QUALIFIED
Leja Z FerenczAustraliaAmy Elsner PROPOSAL
Mujtaba K MorascaAustraliaAnna Fali QUALIFIED
Faith E KolmetzArgentinaAmy Elsner NEW
Izzy I DilliardBrazilIvan Magalhaes PROPOSAL
Mujtaba Q CampainUnited KingdomStephen Shaw UNQUALIFIED
Faith Q NestleIndiaXuxue Feng RENEWAL
Ivar W FerenczSpainAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James V CampainFranceBernardo Dominic QUALIFIED
Sinclair R SchemmerIndiaXuxue Feng QUALIFIED
Maria C OstroskySpainXuxue Feng RENEWAL
Darci Q MorascaItalyElwin Sharvill PROPOSAL
Jeanfrancois M VocelkaJapanStephen Shaw PROPOSAL
David H MarrierArgentinaAsiya Javayant NEGOTIATION
Deepesh I StensethArgentinaAnna Fali PROPOSAL
Isabel V SaylorsArgentinaBernardo Dominic NEW
Stacey W AmigonIndiaAmy Elsner RENEWAL
Ricardo F RoysterArgentinaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy G PerinIndia2024-05-21Rangoni Of Florence PROPOSAL65Stephen Shaw
1001Salvatore G SchemmerCanada2024-05-15Truhlar And Truhlar Attys NEW15Asiya Javayant
1002Morrow T RutaCanada2024-04-30Chanay, Jeffrey A Esq NEW2Asiya Javayant
1003Wickens L KolmetzIndia2024-05-06Truhlar And Truhlar Attys NEGOTIATION11Amy Elsner
1004Chavez F DoeGermany2024-04-29Rangoni Of Florence QUALIFIED17Xuxue Feng
1005Morrow G MorascaSpain2024-05-18Chemel, James L Cpa PROPOSAL22Amy Elsner
1006Cody L KolmetzRussia2024-05-20Commercial Press RENEWAL86Stephen Shaw
1007Jones J ChuiItaly2024-05-18Rousseaux, Michael Esq NEGOTIATION56Asiya Javayant
1008Emily C PoquetteGermany2024-05-25Morlong Associates NEGOTIATION68Stephen Shaw
1009Johnson T IturbideAustralia2024-05-27Chemel, James L Cpa NEW94Stephen Shaw
1010Murillo D FollerItaly2024-04-29Commercial Press QUALIFIED41Xuxue Feng
1011Octavia X CaldareraArgentina2024-05-11Chapman, Ross E Esq NEW21Stephen Shaw
1012Greenwood V FigeroaCanada2024-05-22King, Christopher A Esq RENEWAL23Asiya Javayant
1013Leon G MarrierFrance2024-05-24Rangoni Of Florence UNQUALIFIED46Ioni Bowcher
1014Costa J SaylorsCanada2024-04-30Commercial Press RENEWAL7Stephen Shaw
1015Cody G GarufiAustralia2024-05-11Feltz Printing Service NEGOTIATION69Xuxue Feng
1016Francesco N MaletUnited Kingdom2024-05-05Feiner Bros PROPOSAL62Asiya Javayant
1017Munro T ShinkoItaly2024-05-03Morlong Associates RENEWAL94Asiya Javayant
1018Stacey E GarufiJapan2024-04-30Feiner Bros QUALIFIED86Onyama Limba
1019Ricardo W VenereBrazil2024-05-18Dorl, James J Esq NEW58Amy Elsner
1020Sinclair G OstroskyItaly2024-05-06Benton, John B Jr NEGOTIATION60Bernardo Dominic
1021Smith D RutaIndia2024-05-05Rangoni Of Florence RENEWAL55Xuxue Feng
1022Kaitlin B RimGermany2024-05-04Rangoni Of Florence PROPOSAL2Ioni Bowcher
1023Tony Z PerinSpain2024-05-12Morlong Associates QUALIFIED85Ivan Magalhaes
1024Aika Y StensethRussia2024-04-29Benton, John B Jr NEGOTIATION53Bernardo Dominic
1025Antonio I FlosiGermany2024-05-25Chapman, Ross E Esq QUALIFIED74Ioni Bowcher
1026Antonio I KuskoArgentina2024-05-24King, Christopher A Esq QUALIFIED33Bernardo Dominic
1027Munro K MacleadAustralia2024-05-21Chemel, James L Cpa RENEWAL20Stephen Shaw
1028Izzy J WaycottBrazil2024-05-12Truhlar And Truhlar Attys NEW61Asiya Javayant
1029Deepesh T FerenczCanada2024-05-24Chapman, Ross E Esq UNQUALIFIED23Ioni Bowcher
1030Misaki R MacleadArgentina2024-05-06Rangoni Of Florence PROPOSAL27Amy Elsner
1031Juan M FerenczRussia2024-05-04Chanay, Jeffrey A Esq UNQUALIFIED42Xuxue Feng
1032Tony I SlusarskiBrazil2024-05-11Benton, John B Jr UNQUALIFIED51Bernardo Dominic
1033Tony S FerenczBrazil2024-05-10Morlong Associates NEGOTIATION33Asiya Javayant
1034Francesco Y MaletGermany2024-05-06Chanay, Jeffrey A Esq NEW12Onyama Limba
1035Deepesh N FerenczItaly2024-05-16Chemel, James L Cpa NEGOTIATION14Xuxue Feng
1036Juan G MaletAustralia2024-04-29Dorl, James J Esq UNQUALIFIED54Elwin Sharvill
1037Silvio K DarakjyBrazil2024-05-03Dorl, James J Esq QUALIFIED79Asiya Javayant
1038Ivar I RulapaughItaly2024-05-11Rousseaux, Michael Esq QUALIFIED80Elwin Sharvill
1039Munro G DilliardIndia2024-05-23Benton, John B Jr QUALIFIED47Ioni Bowcher
1040Nicolas D MarrierBrazil2024-05-20Rousseaux, Michael Esq QUALIFIED71Ivan Magalhaes
1041Ivar X FigeroaItaly2024-05-21Feiner Bros UNQUALIFIED85Ivan Magalhaes
1042Kaitlin A PerinAustralia2024-05-04Chanay, Jeffrey A Esq NEW13Onyama Limba
1043Smith W ButtRussia2024-05-05Feltz Printing Service PROPOSAL69Anna Fali
1044Jeanfrancois M WhobreyArgentina2024-05-21Commercial Press NEW39Xuxue Feng
1045Kaitlin M VocelkaJapan2024-05-06Feltz Printing Service UNQUALIFIED68Ioni Bowcher
1046Wickens V GauchoFrance2024-05-24Chapman, Ross E Esq QUALIFIED74Ivan Magalhaes
1047Jeanfrancois V DoeGermany2024-05-01Commercial Press QUALIFIED92Xuxue Feng
1048Alejandro E MaletSpain2024-05-06Rangoni Of Florence RENEWAL86Stephen Shaw
1049Murillo A NestleUnited Kingdom2024-05-08King, Christopher A Esq NEW45Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh M KuskoItalyAsiya Javayant PROPOSAL
Greenwood U VenereAustraliaBernardo Dominic RENEWAL
Alejandro X RoysterUnited KingdomStephen Shaw UNQUALIFIED
Adams X PoquetteBrazilAsiya Javayant NEW
Maisha F VenereGermanyAmy Elsner RENEWAL
Rodrigues I OstroskyIndiaIoni Bowcher RENEWAL
Greenwood W GlickArgentinaAsiya Javayant RENEWAL
Alejandro T KolmetzFranceAnna Fali QUALIFIED
Jennifer R PaprockiIndiaOnyama Limba NEGOTIATION
Ricardo A OstroskyJapanXuxue Feng NEGOTIATION
Nicolas J GillianFranceAnna Fali QUALIFIED
Deepesh O TollnerSpainAmy Elsner RENEWAL
Greenwood J CampainSpainIvan Magalhaes QUALIFIED
Jennifer Z AlbaresArgentinaBernardo Dominic RENEWAL
Smith Y ButtSpainAnna Fali PROPOSAL
Stacey X BriddickAustraliaIvan Magalhaes RENEWAL
Misaki E BriddickGermanyAmy Elsner UNQUALIFIED
Adams L StensethSpainIoni Bowcher RENEWAL
Arvin O SchemmerArgentinaIoni Bowcher QUALIFIED
Claire V SergiArgentinaElwin Sharvill QUALIFIED
Arvin F CampainArgentinaAsiya Javayant RENEWAL
Jones C CampainJapanIoni Bowcher NEW
Deepesh V SlusarskiAustraliaAsiya Javayant NEGOTIATION
Izzy E DilliardCanadaOnyama Limba PROPOSAL
Julie U BologniaGermanyOnyama Limba UNQUALIFIED
Salvatore X NestleSpainXuxue Feng NEGOTIATION
Leja N TollnerJapanOnyama Limba NEGOTIATION
Smith F PerinAustraliaAnna Fali UNQUALIFIED
Johnson B ShinkoCanadaIoni Bowcher UNQUALIFIED
Cody A BriddickIndiaXuxue Feng NEW
Alejandro V KuskoJapanIoni Bowcher NEW
Cody Z DoeBrazilElwin Sharvill RENEWAL
Antonio G FigeroaCanadaIoni Bowcher QUALIFIED
Murillo Q NestleJapanAnna Fali UNQUALIFIED
Costa B TollnerIndiaAnna Fali QUALIFIED
Ricardo J OldroydRussiaAnna Fali RENEWAL
Jeanfrancois L FigeroaSpainIoni Bowcher UNQUALIFIED
Munro C PerinSpainElwin Sharvill RENEWAL
Munro G OldroydBrazilStephen Shaw NEGOTIATION
Kadeem N SaylorsUnited KingdomAnna Fali QUALIFIED
Juan D MaletSpainIoni Bowcher UNQUALIFIED
Munro T ButtUnited KingdomStephen Shaw UNQUALIFIED
Sinclair G MaletJapanElwin Sharvill RENEWAL
Jeanfrancois Y FigeroaGermanyIvan Magalhaes QUALIFIED
Costa E AmigonSpainIoni Bowcher PROPOSAL
Rodrigues I MacleadBrazilOnyama Limba UNQUALIFIED
Leon Z PaprockiItalyXuxue Feng QUALIFIED
Juan C MacleadRussiaXuxue Feng NEW
Rodrigues C ButtGermanyIvan Magalhaes RENEWAL
David J TollnerCanadaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Silvio I Oldroyd
Antonio Y Sergi
Kadeem Q Ruta
Jeanfrancois X Marrier
Maria I Darakjy
Johnson P Glick
Kadeem B Poquette
Sinclair P Saylors
David U Figeroa
Sinclair D Vocelka
Ashley E Marrier
Munro F Inouye
Murillo O Saylors
Johnson O Morasca
Silvio L Whobrey
Johnson J Sergi
Arvin B Gillian
Francesco I Tollner
Jeanfrancois A Kusko
Costa T Dilliard
Emily V Schemmer
Wickens N Oldroyd
Maria Z Waycott
Isabel Q Venere
Aditya I Maclead
Aruna R Kusko
Cody Y Maclead
Mujtaba X Tollner
Ashley J Foller
Francesco P Schemmer
Silvio E Stockham
Julie T Garufi
Maisha T Darakjy
Chavez I Figeroa
Julie A Stockham
Rodrigues Z Glick
Isabel R Campain
Morrow M Figeroa
David V Amigon
Alejandro P Stenseth
Costa N Campain
Salvatore D Ferencz
Morrow E Gaucho
Nicolas D Garufi
Alejandro X Shinko
Mayumi Q Rulapaugh
Alejandro L Slusarski
Murillo Q Shinko
Claire F Caldarera
Cody U Stockham
IdCountryDate
1000France2024-05-11
1001United Kingdom2024-05-27
1002Germany2024-05-05
1003France2024-05-23
1004Argentina2024-05-26
1005Argentina2024-05-15
1006Australia2024-05-03
1007France2024-05-06
1008United Kingdom2024-05-12
1009United Kingdom2024-05-02
1010Australia2024-04-30
1011Australia2024-05-12
1012Spain2024-04-29
1013Germany2024-04-30
1014Brazil2024-05-22
1015Canada2024-05-28
1016United Kingdom2024-05-27
1017Japan2024-05-14
1018Argentina2024-05-11
1019Germany2024-05-02
1020United Kingdom2024-05-27
1021Australia2024-05-13
1022France2024-05-24
1023Brazil2024-05-25
1024Italy2024-05-16
1025Argentina2024-05-01
1026Russia2024-05-25
1027Italy2024-05-13
1028Italy2024-05-13
1029Spain2024-05-03
1030United Kingdom2024-05-11
1031Germany2024-04-30
1032India2024-05-20
1033France2024-05-15
1034Australia2024-05-26
1035Russia2024-05-17
1036Spain2024-05-18
1037France2024-05-09
1038Canada2024-05-27
1039Japan2024-05-01
1040Spain2024-04-30
1041United Kingdom2024-05-12
1042United Kingdom2024-04-29
1043Argentina2024-05-22
1044Russia2024-05-12
1045Germany2024-05-24
1046Brazil2024-05-21
1047Canada2024-05-03
1048India2024-04-30
1049Argentina2024-05-02

On-Demand Data

NameIdCountryDate
Munro U Paprocki1000Brazil2024-05-23
Silvio B Albares1001Canada2024-05-11
Nicolas T Malet1002Italy2024-05-17
Jefferson H Bolognia1003Argentina2024-05-23
Jefferson M Iturbide1004Japan2024-05-04
Silvio U Gillian1005United Kingdom2024-05-27
Smith Z Malet1006Spain2024-05-13
Smith O Doe1007Spain2024-05-25
Misaki N Iturbide1008Australia2024-05-21
Leon O Darakjy1009United Kingdom2024-05-23
Faith Y Kolmetz1010Argentina2024-05-20
Jeanfrancois I Slusarski1011India2024-05-21
Sinclair A Chui1012Spain2024-05-11
James D Venere1013Brazil2024-05-23
Misaki B Foller1014Argentina2024-05-28
Julie W Butt1015Spain2024-05-27
Isabel M Paprocki1016Japan2024-05-23
Clifford C Royster1017Russia2024-05-05
Ashley X Ferencz1018United Kingdom2024-05-17
Aruna D Stockham1019Argentina2024-05-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas B OldroydGermanyIvan Magalhaes NEW
Greenwood T OldroydBrazilAsiya Javayant PROPOSAL
Arvin V MaletCanadaIvan Magalhaes RENEWAL
Costa P GauchoUnited KingdomStephen Shaw UNQUALIFIED
Leja K WaycottUnited KingdomBernardo Dominic RENEWAL
Wickens T MaletSpainStephen Shaw QUALIFIED
Sinclair R RutaUnited KingdomIoni Bowcher UNQUALIFIED
Misaki G SchemmerJapanAsiya Javayant UNQUALIFIED
Wickens Y StensethItalyAmy Elsner QUALIFIED
Wickens X VenereCanadaElwin Sharvill PROPOSAL
Maria N MarrierJapanStephen Shaw NEW
Smith N RoysterGermanyAmy Elsner PROPOSAL
Mayumi G ShinkoAustraliaElwin Sharvill QUALIFIED
Ivar O BriddickArgentinaStephen Shaw QUALIFIED
Aika D BologniaRussiaAsiya Javayant UNQUALIFIED
Greenwood S GarufiJapanOnyama Limba QUALIFIED
Ivar N WhobreyIndiaAmy Elsner UNQUALIFIED
Morrow P DarakjyGermanyAmy Elsner UNQUALIFIED
Mayumi W OstroskyBrazilAnna Fali NEW
Darci X StockhamAustraliaOnyama Limba NEW
James K DoeSpainOnyama Limba UNQUALIFIED
Smith Z MarrierGermanyBernardo Dominic RENEWAL
Ricardo U SaylorsAustraliaStephen Shaw NEW
Alejandro X InouyeIndiaBernardo Dominic RENEWAL
Rodrigues B VocelkaGermanyIvan Magalhaes PROPOSAL
Octavia O FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Ivar W BologniaGermanyIvan Magalhaes NEGOTIATION
Clifford A BowleyFranceBernardo Dominic PROPOSAL
Costa W OstroskySpainIvan Magalhaes NEGOTIATION
Mujtaba X AmigonUnited KingdomElwin Sharvill NEW
Sinclair T NestleUnited KingdomOnyama Limba UNQUALIFIED
Juan X RutaItalyElwin Sharvill QUALIFIED
Costa K PerinArgentinaAmy Elsner UNQUALIFIED
Murillo W RulapaughBrazilOnyama Limba QUALIFIED
Jefferson V WaycottAustraliaAmy Elsner NEW
Clifford N WieserGermanyStephen Shaw NEW
Cody M InouyeIndiaXuxue Feng QUALIFIED
Clifford E VenereItalyElwin Sharvill UNQUALIFIED
Alejandro O MaletArgentinaIoni Bowcher NEGOTIATION
Ivar H PerinBrazilOnyama Limba 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>