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
Aruna Y StockhamGermanyXuxue Feng RENEWAL
Morrow H BriddickCanadaXuxue Feng QUALIFIED
Stacey K FlosiCanadaAmy Elsner RENEWAL
Emily M KuskoItalyAsiya Javayant PROPOSAL
Salvatore F RutaIndiaStephen Shaw NEW
Munro A AlbaresGermanyElwin Sharvill RENEWAL
Ivar R OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Julie W KolmetzSpainIvan Magalhaes UNQUALIFIED
Adams Q VocelkaUnited KingdomBernardo Dominic NEW
Stacey G MaletItalyElwin Sharvill NEGOTIATION
Claire R DilliardIndiaIvan Magalhaes RENEWAL
Kaitlin T BowleySpainOnyama Limba UNQUALIFIED
Jennifer S SlusarskiJapanXuxue Feng PROPOSAL
Aruna B DoeGermanyAnna Fali QUALIFIED
Emily W DilliardJapanAnna Fali PROPOSAL
Maria Q VenereJapanElwin Sharvill NEGOTIATION
Chavez L BriddickGermanyAsiya Javayant UNQUALIFIED
Alejandro S ButtItalyElwin Sharvill RENEWAL
Izzy H NestleGermanyIoni Bowcher NEW
Morrow Q VocelkaItalyBernardo Dominic UNQUALIFIED
Clifford P BologniaSpainAnna Fali NEGOTIATION
Chavez Z StockhamArgentinaAmy Elsner PROPOSAL
Smith F RulapaughUnited KingdomOnyama Limba PROPOSAL
Jones J WieserRussiaStephen Shaw QUALIFIED
Jones G GarufiUnited KingdomAnna Fali NEGOTIATION
Claire Z AlbaresCanadaIvan Magalhaes RENEWAL
Wickens F FerenczGermanyBernardo Dominic NEGOTIATION
Emily R FollerFranceStephen Shaw QUALIFIED
Antonio V VenereBrazilXuxue Feng RENEWAL
Nicolas Q OldroydArgentinaOnyama Limba UNQUALIFIED
Rodrigues H OldroydJapanAsiya Javayant RENEWAL
Sinclair E AlbaresArgentinaElwin Sharvill QUALIFIED
Juan I GauchoRussiaXuxue Feng RENEWAL
Murillo H NickaCanadaAmy Elsner QUALIFIED
Alejandro U FerenczSpainBernardo Dominic NEW
Isabel E TollnerIndiaIoni Bowcher NEGOTIATION
Leon M GauchoBrazilStephen Shaw RENEWAL
Maisha C AmigonCanadaIvan Magalhaes UNQUALIFIED
Kaitlin M RulapaughCanadaAnna Fali QUALIFIED
Sinclair I PoquetteFranceStephen Shaw UNQUALIFIED
Misaki T MarrierAustraliaIoni Bowcher PROPOSAL
David Q DoeFranceIoni Bowcher NEGOTIATION
Arvin G PaprockiIndiaAnna Fali RENEWAL
Rodrigues B WaycottAustraliaIvan Magalhaes QUALIFIED
Munro E FerenczCanadaOnyama Limba RENEWAL
Wickens I DarakjyIndiaIoni Bowcher NEW
Mayumi T GlickItalyIoni Bowcher NEW
Aika R InouyeBrazilAmy Elsner QUALIFIED
Faith A AlbaresAustraliaBernardo Dominic NEW
Rodrigues J DilliardAustraliaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Costa Y MaletSpainAnna Fali PROPOSAL
Silvio V FerenczCanadaAnna Fali RENEWAL
Francesco P WaycottIndiaOnyama Limba NEGOTIATION
Stacey J BriddickJapanIoni Bowcher NEGOTIATION
Darci S ShinkoCanadaXuxue Feng QUALIFIED
David M ButtArgentinaIvan Magalhaes NEGOTIATION
Octavia H DarakjyIndiaElwin Sharvill UNQUALIFIED
Mayumi L FerenczCanadaElwin Sharvill UNQUALIFIED
Antonio I DarakjyRussiaStephen Shaw RENEWAL
Murillo G DarakjyArgentinaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo T WhobreyJapan2024-06-10Feltz Printing Service UNQUALIFIED32Bernardo Dominic
1001Chavez A GlickJapan2024-06-16Feltz Printing Service NEW31Stephen Shaw
1002Claire G DarakjyBrazil2024-06-01Commercial Press PROPOSAL38Stephen Shaw
1003Octavia G FigeroaSpain2024-05-27King, Christopher A Esq RENEWAL1Xuxue Feng
1004Maria N DilliardSpain2024-06-03Rangoni Of Florence NEW42Ioni Bowcher
1005Munro L GarufiGermany2024-06-07Chapman, Ross E Esq NEGOTIATION16Amy Elsner
1006Octavia G StensethGermany2024-06-10Chemel, James L Cpa NEGOTIATION99Ioni Bowcher
1007Tony M FerenczGermany2024-06-13Chanay, Jeffrey A Esq PROPOSAL76Ioni Bowcher
1008Ricardo J GlickIndia2024-05-31Rousseaux, Michael Esq QUALIFIED69Bernardo Dominic
1009Adams K DoeRussia2024-05-27King, Christopher A Esq PROPOSAL20Amy Elsner
1010Greenwood K MaletRussia2024-06-06Rousseaux, Michael Esq UNQUALIFIED1Xuxue Feng
1011Ivar E OstroskyGermany2024-05-29Chemel, James L Cpa QUALIFIED32Xuxue Feng
1012Isabel Y BologniaCanada2024-06-12Chapman, Ross E Esq QUALIFIED19Asiya Javayant
1013Faith G RutaIndia2024-06-09Feltz Printing Service PROPOSAL24Amy Elsner
1014Sinclair W CaudyItaly2024-06-12Dorl, James J Esq UNQUALIFIED97Stephen Shaw
1015Leon G IturbideItaly2024-06-06Feiner Bros NEGOTIATION54Ioni Bowcher
1016Murillo D MorascaFrance2024-06-04Morlong Associates QUALIFIED81Stephen Shaw
1017Tony J BologniaRussia2024-06-02Buckley Miller Wright UNQUALIFIED40Ioni Bowcher
1018David U WhobreyAustralia2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED69Xuxue Feng
1019Antonio V FollerRussia2024-06-18Commercial Press QUALIFIED95Asiya Javayant
1020Jennifer Q KuskoGermany2024-06-13Buckley Miller Wright NEGOTIATION18Asiya Javayant
1021Octavia R KolmetzItaly2024-05-30Rousseaux, Michael Esq UNQUALIFIED86Ivan Magalhaes
1022Mayumi H ShinkoUnited Kingdom2024-06-08Feltz Printing Service NEW27Ioni Bowcher
1023Murillo P CampainIndia2024-06-17Truhlar And Truhlar Attys UNQUALIFIED24Stephen Shaw
1024Arvin Q SlusarskiItaly2024-05-28Benton, John B Jr PROPOSAL49Xuxue Feng
1025Aika W DoeAustralia2024-05-31Buckley Miller Wright UNQUALIFIED59Elwin Sharvill
1026Costa Y PaprockiAustralia2024-06-17Feiner Bros QUALIFIED46Ivan Magalhaes
1027Kadeem H GauchoItaly2024-06-10Chapman, Ross E Esq NEW35Elwin Sharvill
1028Silvio I GauchoJapan2024-06-08Dorl, James J Esq QUALIFIED53Bernardo Dominic
1029Kadeem Z AmigonSpain2024-06-08Dorl, James J Esq PROPOSAL12Asiya Javayant
1030Jeanfrancois V MaletIndia2024-06-08Truhlar And Truhlar Attys NEGOTIATION66Bernardo Dominic
1031Arvin L WaycottUnited Kingdom2024-05-25Chapman, Ross E Esq NEW36Stephen Shaw
1032Aika Y RutaCanada2024-06-15Chanay, Jeffrey A Esq NEGOTIATION80Bernardo Dominic
1033Emily Q TollnerGermany2024-05-26Buckley Miller Wright RENEWAL14Ivan Magalhaes
1034Wickens D VocelkaArgentina2024-06-09Rangoni Of Florence NEGOTIATION40Ivan Magalhaes
1035Emily V MarrierBrazil2024-06-03Dorl, James J Esq RENEWAL87Asiya Javayant
1036Emily Q VenereItaly2024-06-02Dorl, James J Esq QUALIFIED88Asiya Javayant
1037Jefferson G SchemmerJapan2024-06-11Feiner Bros PROPOSAL3Onyama Limba
1038Kaitlin O PaprockiFrance2024-06-09Rousseaux, Michael Esq NEW33Elwin Sharvill
1039Murillo L RulapaughArgentina2024-06-21Buckley Miller Wright UNQUALIFIED93Amy Elsner
1040Mayumi B FollerFrance2024-06-15King, Christopher A Esq NEGOTIATION16Elwin Sharvill
1041Faith H MorascaItaly2024-05-28Chemel, James L Cpa RENEWAL90Stephen Shaw
1042Jennifer R VenereJapan2024-05-26Printing Dimensions NEW39Stephen Shaw
1043Clifford U PaprockiSpain2024-06-17Morlong Associates QUALIFIED58Asiya Javayant
1044Ashley A SaylorsFrance2024-06-03Printing Dimensions PROPOSAL42Onyama Limba
1045Ashley E WhobreyFrance2024-05-23Rousseaux, Michael Esq NEW48Amy Elsner
1046Julie B CaldareraArgentina2024-06-03Benton, John B Jr NEW52Ioni Bowcher
1047Smith J RimGermany2024-06-18Feiner Bros QUALIFIED37Asiya Javayant
1048Deepesh J InouyeJapan2024-06-15Chapman, Ross E Esq QUALIFIED69Anna Fali
1049Faith W StockhamGermany2024-05-26Dorl, James J Esq NEGOTIATION49Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jefferson X VenereItalyIoni Bowcher UNQUALIFIED
Greenwood F StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo P MarrierAustraliaAsiya Javayant QUALIFIED
Wickens F SergiAustraliaElwin Sharvill NEW
Francesco T AmigonItalyElwin Sharvill PROPOSAL
Smith L CampainAustraliaBernardo Dominic NEGOTIATION
Antonio D RoysterCanadaIoni Bowcher UNQUALIFIED
Adams R SaylorsCanadaElwin Sharvill PROPOSAL
Jennifer P SchemmerRussiaStephen Shaw QUALIFIED
Murillo Y RulapaughCanadaAsiya Javayant NEW
Salvatore M SchemmerArgentinaIoni Bowcher NEGOTIATION
Mayumi M PerinItalyOnyama Limba UNQUALIFIED
Sinclair L ShinkoArgentinaAnna Fali NEGOTIATION
Antonio S CaudyArgentinaAnna Fali UNQUALIFIED
Jennifer X OldroydSpainIvan Magalhaes QUALIFIED
Salvatore B WaycottItalyAmy Elsner NEW
Tony P CampainIndiaBernardo Dominic UNQUALIFIED
Maisha M FollerUnited KingdomElwin Sharvill QUALIFIED
Tony J IturbideUnited KingdomAnna Fali QUALIFIED
Darci I WaycottUnited KingdomXuxue Feng QUALIFIED
Clifford V OstroskyRussiaStephen Shaw RENEWAL
David V SaylorsBrazilOnyama Limba NEGOTIATION
Izzy G FlosiBrazilXuxue Feng UNQUALIFIED
Mujtaba X WieserSpainOnyama Limba NEW
Jefferson H BowleyGermanyXuxue Feng QUALIFIED
Rodrigues M VenereSpainStephen Shaw PROPOSAL
Greenwood A SchemmerUnited KingdomXuxue Feng QUALIFIED
Izzy Z NickaArgentinaElwin Sharvill NEW
Leon B BowleyArgentinaOnyama Limba PROPOSAL
Sinclair S GarufiFranceAsiya Javayant RENEWAL
Maria K PoquetteSpainOnyama Limba QUALIFIED
Rodrigues K DarakjySpainAsiya Javayant QUALIFIED
Juan M WaycottAustraliaIoni Bowcher RENEWAL
Deepesh Q AmigonBrazilIvan Magalhaes QUALIFIED
Darci Z MaletItalyAnna Fali NEGOTIATION
Ivar N MaletIndiaAsiya Javayant QUALIFIED
Cody E GlickIndiaIvan Magalhaes QUALIFIED
Clifford R SlusarskiGermanyOnyama Limba NEGOTIATION
Costa C RulapaughAustraliaIvan Magalhaes NEW
Ashley D KuskoSpainAnna Fali RENEWAL
Maria K DilliardIndiaIvan Magalhaes NEGOTIATION
Stacey T IturbideItalyBernardo Dominic UNQUALIFIED
Greenwood B DoeBrazilIoni Bowcher NEW
Antonio X RimGermanyAnna Fali RENEWAL
David T SlusarskiFranceOnyama Limba RENEWAL
Faith B TollnerUnited KingdomAsiya Javayant NEW
Deepesh Q RoysterItalyIoni Bowcher RENEWAL
Kaitlin V DilliardJapanIvan Magalhaes NEGOTIATION
Silvio J FlosiCanadaOnyama Limba QUALIFIED
Johnson C FlosiIndiaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Stacey E Poquette
Greenwood V Darakjy
Emily H Rim
Mayumi U Ferencz
Ricardo W Saylors
Jennifer Y Stenseth
Salvatore C Oldroyd
Kaitlin R Foller
Salvatore P Saylors
Juan O Tollner
Octavia Q Campain
Alejandro E Perin
Greenwood L Sergi
Jeanfrancois F Caudy
Kaitlin W Paprocki
Cody R Morasca
Rodrigues A Saylors
Clifford U Iturbide
Johnson S Ostrosky
James O Ruta
Rodrigues R Dilliard
Jennifer P Briddick
Jeanfrancois Y Gillian
Rodrigues O Briddick
Julie H Shinko
Sinclair G Inouye
Jefferson L Inouye
Juan J Waycott
Mujtaba M Stockham
Cody H Morasca
Ivar S Dilliard
Murillo Z Dilliard
Antonio P Nestle
Costa G Marrier
Aika W Caudy
Aditya V Glick
Mayumi W Foller
Jefferson Z Ferencz
Alejandro X Slusarski
Arvin W Shinko
David Z Shinko
Leja T Rim
Maria X Schemmer
Claire J Nestle
Stacey N Gaucho
Alejandro C Perin
Jefferson T Schemmer
Francesco E Amigon
Maria N Rulapaugh
Julie T Gillian
IdCountryDate
1000Argentina2024-05-30
1001Russia2024-06-08
1002Argentina2024-06-08
1003Canada2024-05-30
1004Germany2024-06-19
1005France2024-06-19
1006Germany2024-06-10
1007United Kingdom2024-05-26
1008Argentina2024-05-26
1009Germany2024-05-30
1010Japan2024-06-02
1011Canada2024-05-30
1012Germany2024-05-24
1013Russia2024-06-05
1014Russia2024-05-27
1015Brazil2024-05-31
1016Australia2024-05-27
1017Canada2024-05-23
1018Brazil2024-06-09
1019France2024-06-16
1020France2024-06-19
1021Germany2024-06-06
1022Spain2024-05-23
1023Italy2024-06-05
1024Spain2024-06-06
1025Russia2024-06-15
1026Russia2024-05-24
1027India2024-05-27
1028Japan2024-06-11
1029Brazil2024-06-12
1030Germany2024-05-23
1031United Kingdom2024-05-23
1032Canada2024-06-09
1033France2024-06-13
1034France2024-05-25
1035Japan2024-06-13
1036Japan2024-06-12
1037United Kingdom2024-06-03
1038India2024-06-20
1039France2024-05-28
1040France2024-05-26
1041India2024-06-11
1042Australia2024-06-02
1043Canada2024-06-09
1044Brazil2024-06-09
1045Canada2024-06-03
1046India2024-06-13
1047India2024-06-15
1048Italy2024-06-03
1049France2024-06-03

On-Demand Data

NameIdCountryDate
Kadeem S Marrier1000Italy2024-06-03
Isabel L Glick1001Russia2024-06-13
Stacey H Flosi1002France2024-06-06
Arvin N Doe1003Germany2024-05-28
Cody C Doe1004Germany2024-06-03
Faith R Butt1005United Kingdom2024-06-02
Cody G Caudy1006Canada2024-06-15
Emily J Chui1007France2024-06-12
Faith L Malet1008Japan2024-06-02
Misaki O Tollner1009Canada2024-06-15
Greenwood J Marrier1010Spain2024-06-03
Rodrigues K Waycott1011France2024-06-09
Octavia G Schemmer1012Australia2024-06-09
Chavez W Oldroyd1013Argentina2024-06-04
Ashley J Perin1014Italy2024-06-20
Mayumi S Poquette1015Australia2024-06-05
Arvin Y Bowley1016France2024-06-16
Isabel H Rulapaugh1017United Kingdom2024-05-31
Isabel L Figeroa1018Italy2024-05-30
Juan K Sergi1019Brazil2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki B VocelkaCanadaStephen Shaw UNQUALIFIED
Mujtaba H RulapaughBrazilStephen Shaw PROPOSAL
Julie X SchemmerUnited KingdomStephen Shaw RENEWAL
Silvio F VenereArgentinaIoni Bowcher PROPOSAL
Ricardo O StockhamSpainAsiya Javayant NEGOTIATION
Octavia L SchemmerRussiaIvan Magalhaes QUALIFIED
Rodrigues H GillianIndiaElwin Sharvill NEW
Misaki E BriddickSpainXuxue Feng PROPOSAL
Nicolas Z FigeroaJapanXuxue Feng NEW
Aditya R DarakjyAustraliaElwin Sharvill QUALIFIED
Aditya L ShinkoArgentinaXuxue Feng QUALIFIED
Mayumi E MaletCanadaAsiya Javayant NEW
Darci M MorascaBrazilXuxue Feng RENEWAL
Chavez A CaldareraAustraliaOnyama Limba UNQUALIFIED
Mujtaba C PaprockiItalyAsiya Javayant NEW
Maisha J MaletArgentinaElwin Sharvill NEGOTIATION
David Q BologniaArgentinaAsiya Javayant NEW
Jeanfrancois I BriddickFranceOnyama Limba RENEWAL
Antonio S AlbaresBrazilIoni Bowcher UNQUALIFIED
Rodrigues D MarrierFranceIvan Magalhaes NEW
Kadeem O FlosiBrazilAsiya Javayant PROPOSAL
Stacey U InouyeUnited KingdomStephen Shaw NEW
Rodrigues L BriddickIndiaAsiya Javayant RENEWAL
Ricardo T GauchoItalyStephen Shaw RENEWAL
Adams J VocelkaBrazilAmy Elsner PROPOSAL
Francesco N AmigonGermanyIvan Magalhaes NEGOTIATION
Wickens W GlickAustraliaAmy Elsner RENEWAL
Deepesh Q PaprockiIndiaElwin Sharvill UNQUALIFIED
Tony Q MaletArgentinaAsiya Javayant RENEWAL
Arvin W RimBrazilStephen Shaw PROPOSAL
Morrow F WhobreyBrazilStephen Shaw UNQUALIFIED
Kaitlin U CaldareraGermanyXuxue Feng NEW
Kadeem Y RulapaughFranceElwin Sharvill UNQUALIFIED
Juan D KuskoAustraliaStephen Shaw NEW
Ashley J CaldareraRussiaXuxue Feng UNQUALIFIED
Alejandro Q IturbideIndiaBernardo Dominic UNQUALIFIED
Claire Z PoquetteIndiaElwin Sharvill PROPOSAL
Greenwood W DilliardUnited KingdomOnyama Limba RENEWAL
Maisha X VenereCanadaIoni Bowcher PROPOSAL
Mayumi O VocelkaIndiaBernardo Dominic 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>