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
Aditya F WhobreyJapanAmy Elsner PROPOSAL
Mujtaba S CampainItalyOnyama Limba NEGOTIATION
Antonio Y DarakjyItalyOnyama Limba PROPOSAL
Misaki J VenereItalyStephen Shaw PROPOSAL
Aditya T SaylorsBrazilAnna Fali RENEWAL
Adams C InouyeUnited KingdomAmy Elsner QUALIFIED
Octavia M MarrierArgentinaStephen Shaw NEGOTIATION
Mujtaba M WhobreyItalyAsiya Javayant RENEWAL
Adams J OstroskyCanadaElwin Sharvill NEW
Jeanfrancois W SlusarskiRussiaElwin Sharvill RENEWAL
Greenwood Q InouyeItalyXuxue Feng PROPOSAL
Maisha O RoysterRussiaStephen Shaw NEW
David L ChuiArgentinaBernardo Dominic NEW
Leja P StensethItalyOnyama Limba QUALIFIED
Claire J RulapaughAustraliaElwin Sharvill UNQUALIFIED
Ashley O SchemmerSpainAmy Elsner PROPOSAL
Morrow N WieserAustraliaXuxue Feng NEGOTIATION
Ivar V GlickAustraliaAnna Fali PROPOSAL
Julie S SlusarskiCanadaElwin Sharvill UNQUALIFIED
Misaki O StensethAustraliaIvan Magalhaes PROPOSAL
Arvin N RimUnited KingdomOnyama Limba QUALIFIED
Isabel N DoeCanadaXuxue Feng RENEWAL
Kadeem S SaylorsItalyAnna Fali QUALIFIED
Emily Y RoysterRussiaXuxue Feng NEW
Alejandro H GauchoAustraliaStephen Shaw NEW
Salvatore Z BowleyFranceAmy Elsner NEGOTIATION
Stacey E StockhamRussiaAsiya Javayant NEW
Greenwood S ChuiSpainIvan Magalhaes UNQUALIFIED
Maria U PaprockiRussiaAmy Elsner PROPOSAL
Octavia J VocelkaIndiaAnna Fali NEW
Sinclair Z WaycottIndiaIvan Magalhaes RENEWAL
Aruna W SlusarskiSpainBernardo Dominic QUALIFIED
Arvin Z SergiFranceElwin Sharvill UNQUALIFIED
Wickens G FollerRussiaAsiya Javayant QUALIFIED
Smith E MacleadAustraliaXuxue Feng PROPOSAL
Murillo G DilliardCanadaAmy Elsner QUALIFIED
Claire T BowleyRussiaAmy Elsner NEGOTIATION
Izzy V RimArgentinaAnna Fali QUALIFIED
Mayumi M PoquetteFranceOnyama Limba UNQUALIFIED
Claire O BriddickUnited KingdomOnyama Limba NEW
Clifford W GauchoIndiaIvan Magalhaes QUALIFIED
Adams B FigeroaUnited KingdomStephen Shaw UNQUALIFIED
Aruna S FerenczAustraliaBernardo Dominic NEW
James J BologniaSpainIvan Magalhaes RENEWAL
Sinclair P ChuiIndiaXuxue Feng NEW
Ricardo Z FollerRussiaAmy Elsner QUALIFIED
Mujtaba C NestleCanadaAnna Fali RENEWAL
Mujtaba R GarufiFranceAsiya Javayant RENEWAL
Antonio A SlusarskiAustraliaAmy Elsner PROPOSAL
Cody V RimIndiaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar B GillianItalyAmy Elsner PROPOSAL
Mayumi I RutaItalyXuxue Feng PROPOSAL
Maisha S WieserItalyAnna Fali RENEWAL
Jeanfrancois N RutaGermanyIvan Magalhaes UNQUALIFIED
Smith I GlickCanadaIvan Magalhaes QUALIFIED
Kadeem Q KolmetzRussiaAsiya Javayant UNQUALIFIED
Greenwood M StockhamAustraliaStephen Shaw PROPOSAL
Alejandro E MaletSpainXuxue Feng PROPOSAL
Rodrigues F BologniaIndiaIvan Magalhaes PROPOSAL
Jeanfrancois C CampainGermanyOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith O SlusarskiFrance2024-06-12King, Christopher A Esq UNQUALIFIED2Onyama Limba
1001Aika V BologniaAustralia2024-06-15Truhlar And Truhlar Attys RENEWAL20Elwin Sharvill
1002Sinclair M RoysterArgentina2024-06-01Chemel, James L Cpa PROPOSAL69Amy Elsner
1003Murillo V FigeroaAustralia2024-05-24Commercial Press RENEWAL79Stephen Shaw
1004Murillo X CaldareraSpain2024-06-19Commercial Press UNQUALIFIED39Ioni Bowcher
1005Salvatore F VenereRussia2024-06-16Feltz Printing Service NEW78Stephen Shaw
1006Murillo X CampainSpain2024-06-22Printing Dimensions NEW5Anna Fali
1007Alejandro Q AlbaresFrance2024-05-28Dorl, James J Esq NEGOTIATION74Anna Fali
1008Salvatore T DoeUnited Kingdom2024-06-06Benton, John B Jr UNQUALIFIED97Elwin Sharvill
1009Aika Z GauchoAustralia2024-05-25Chemel, James L Cpa UNQUALIFIED20Ivan Magalhaes
1010James A MaletFrance2024-06-18Benton, John B Jr UNQUALIFIED29Ivan Magalhaes
1011Ricardo C BowleyItaly2024-05-26Commercial Press UNQUALIFIED58Stephen Shaw
1012Smith T SergiArgentina2024-06-11Feltz Printing Service NEW62Onyama Limba
1013Nicolas K CaldareraAustralia2024-06-22Truhlar And Truhlar Attys RENEWAL46Anna Fali
1014Aruna Z MaletIndia2024-06-03Buckley Miller Wright NEGOTIATION35Asiya Javayant
1015Ricardo Q AmigonGermany2024-05-25Commercial Press RENEWAL8Asiya Javayant
1016Greenwood U FigeroaCanada2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED43Bernardo Dominic
1017Octavia F StockhamBrazil2024-06-19Benton, John B Jr NEGOTIATION11Amy Elsner
1018Smith Q DoeItaly2024-06-19Commercial Press UNQUALIFIED53Onyama Limba
1019Deepesh N VenereSpain2024-06-07Chemel, James L Cpa RENEWAL48Xuxue Feng
1020Claire R CaldareraAustralia2024-06-20Chapman, Ross E Esq RENEWAL18Amy Elsner
1021Sinclair C VocelkaGermany2024-06-04Chanay, Jeffrey A Esq NEW85Elwin Sharvill
1022Johnson O SchemmerRussia2024-06-05Benton, John B Jr PROPOSAL20Anna Fali
1023Kadeem I SchemmerUnited Kingdom2024-06-06Morlong Associates PROPOSAL95Anna Fali
1024Kadeem W RimRussia2024-06-08Chemel, James L Cpa NEGOTIATION72Onyama Limba
1025Aditya D WhobreyJapan2024-06-09Feiner Bros QUALIFIED44Ioni Bowcher
1026Jones R WieserSpain2024-06-09King, Christopher A Esq NEW54Bernardo Dominic
1027Isabel J GarufiUnited Kingdom2024-05-29Buckley Miller Wright UNQUALIFIED65Anna Fali
1028Costa O IturbideGermany2024-06-01Dorl, James J Esq QUALIFIED37Anna Fali
1029Emily D StockhamBrazil2024-06-15Dorl, James J Esq NEGOTIATION87Ivan Magalhaes
1030Jones S CaldareraCanada2024-06-04Chemel, James L Cpa RENEWAL22Asiya Javayant
1031Kadeem G MaletFrance2024-06-18Rousseaux, Michael Esq NEW19Stephen Shaw
1032Izzy X WieserCanada2024-06-18Dorl, James J Esq UNQUALIFIED24Asiya Javayant
1033Nicolas A VenereIndia2024-06-17Feltz Printing Service PROPOSAL65Amy Elsner
1034Clifford K IturbideIndia2024-06-17Truhlar And Truhlar Attys RENEWAL18Asiya Javayant
1035Leja I SaylorsSpain2024-06-15Printing Dimensions PROPOSAL0Elwin Sharvill
1036Kaitlin O VocelkaGermany2024-06-13Chemel, James L Cpa UNQUALIFIED52Xuxue Feng
1037Maisha J MacleadFrance2024-06-20Buckley Miller Wright PROPOSAL21Onyama Limba
1038Cody B WaycottUnited Kingdom2024-06-15Printing Dimensions NEGOTIATION34Amy Elsner
1039Smith T SaylorsUnited Kingdom2024-06-03Benton, John B Jr NEGOTIATION0Stephen Shaw
1040Aika S PerinAustralia2024-06-15Feiner Bros UNQUALIFIED49Ioni Bowcher
1041Jennifer A WhobreyRussia2024-05-30King, Christopher A Esq QUALIFIED27Amy Elsner
1042Rodrigues B GlickAustralia2024-06-15Dorl, James J Esq UNQUALIFIED58Amy Elsner
1043Faith E WhobreyAustralia2024-06-13Printing Dimensions NEGOTIATION72Xuxue Feng
1044Silvio F MarrierCanada2024-06-08Benton, John B Jr PROPOSAL32Anna Fali
1045James L GlickUnited Kingdom2024-06-17Benton, John B Jr UNQUALIFIED76Asiya Javayant
1046Jeanfrancois N AlbaresCanada2024-06-18Chemel, James L Cpa QUALIFIED95Bernardo Dominic
1047Aika X AmigonBrazil2024-05-28Buckley Miller Wright QUALIFIED9Bernardo Dominic
1048Stacey L StensethBrazil2024-06-21Feiner Bros UNQUALIFIED43Ioni Bowcher
1049Darci X StensethJapan2024-06-03Chemel, James L Cpa UNQUALIFIED58Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Cody L FerenczIndiaStephen Shaw QUALIFIED
Adams Y BowleyCanadaOnyama Limba RENEWAL
Claire Y GauchoUnited KingdomAsiya Javayant RENEWAL
Maisha P SergiSpainOnyama Limba PROPOSAL
Rodrigues M ChuiFranceAsiya Javayant PROPOSAL
Aditya V DarakjyItalyIvan Magalhaes PROPOSAL
Juan J AlbaresArgentinaIvan Magalhaes QUALIFIED
Emily W ChuiRussiaIvan Magalhaes RENEWAL
Morrow M RutaUnited KingdomAmy Elsner QUALIFIED
Octavia L DarakjyBrazilIvan Magalhaes NEW
Faith D ShinkoRussiaAnna Fali RENEWAL
Darci U MaletGermanyElwin Sharvill PROPOSAL
Izzy E SchemmerRussiaAsiya Javayant NEGOTIATION
Jefferson P RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Leja S WaycottGermanyIvan Magalhaes NEGOTIATION
Claire J InouyeFranceAmy Elsner NEW
Kaitlin Y DarakjyUnited KingdomAnna Fali PROPOSAL
Izzy H ButtUnited KingdomBernardo Dominic RENEWAL
Stacey P NickaGermanyIoni Bowcher NEGOTIATION
Aditya H VocelkaJapanAnna Fali PROPOSAL
Stacey N InouyeCanadaIoni Bowcher QUALIFIED
Kadeem D NestleFranceBernardo Dominic PROPOSAL
Leon N CampainGermanyBernardo Dominic RENEWAL
Wickens L AlbaresArgentinaElwin Sharvill QUALIFIED
Smith D FigeroaItalyElwin Sharvill NEGOTIATION
Salvatore X KuskoArgentinaAnna Fali QUALIFIED
Mayumi U FerenczBrazilIoni Bowcher QUALIFIED
Salvatore N RulapaughIndiaAnna Fali PROPOSAL
James N MaletAustraliaAsiya Javayant QUALIFIED
Chavez Z NickaIndiaAmy Elsner NEW
Rodrigues E WieserSpainBernardo Dominic NEW
Darci L GillianBrazilOnyama Limba RENEWAL
Salvatore Q SchemmerBrazilOnyama Limba QUALIFIED
Cody E ButtAustraliaAmy Elsner NEGOTIATION
Arvin P DarakjyRussiaElwin Sharvill QUALIFIED
Salvatore O MaletJapanIoni Bowcher NEGOTIATION
Kadeem Z NickaAustraliaAsiya Javayant UNQUALIFIED
Stacey T BriddickCanadaElwin Sharvill NEGOTIATION
Mayumi J PaprockiRussiaIvan Magalhaes PROPOSAL
Leon U MaletBrazilIvan Magalhaes NEGOTIATION
Murillo P InouyeJapanBernardo Dominic NEGOTIATION
Smith R FollerIndiaAnna Fali PROPOSAL
Salvatore O RulapaughFranceStephen Shaw NEGOTIATION
Wickens S AlbaresAustraliaIoni Bowcher PROPOSAL
Silvio X GlickRussiaAnna Fali NEW
Mujtaba R WieserCanadaBernardo Dominic PROPOSAL
Faith D SergiRussiaAnna Fali QUALIFIED
Rodrigues R PoquetteUnited KingdomAsiya Javayant PROPOSAL
Cody K GauchoBrazilXuxue Feng UNQUALIFIED
Juan H BowleyArgentinaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Rodrigues C Perin
Mujtaba U Shinko
Maisha E Malet
Maria L Schemmer
Salvatore P Nicka
Jefferson M Perin
Emily H Poquette
Chavez E Bowley
Mayumi P Slusarski
Leja N Wieser
Munro I Paprocki
Izzy R Dilliard
Kaitlin C Caldarera
Maisha F Poquette
Morrow J Paprocki
Izzy B Kusko
Deepesh Y Rim
Aika C Waycott
Wickens S Maclead
Kaitlin O Darakjy
Nicolas R Kusko
Aditya P Dilliard
Misaki O Venere
Izzy G Iturbide
Ashley I Poquette
Jeanfrancois P Kusko
Morrow W Nestle
Morrow E Rulapaugh
Emily Z Schemmer
Jefferson G Nestle
Alejandro Q Albares
Mujtaba E Campain
Jeanfrancois C Garufi
Greenwood L Chui
Jeanfrancois L Stenseth
Cody R Rim
Darci F Perin
Ricardo U Malet
Morrow C Paprocki
Costa K Caldarera
Maria D Caudy
Aditya I Figeroa
Isabel K Glick
Sinclair H Slusarski
Wickens A Royster
Chavez D Ostrosky
Ashley I Albares
Jefferson P Royster
Rodrigues Y Sergi
Nicolas X Caudy
IdCountryDate
1000Australia2024-06-06
1001Australia2024-06-22
1002United Kingdom2024-06-01
1003Argentina2024-05-26
1004Australia2024-06-10
1005United Kingdom2024-06-18
1006Japan2024-06-07
1007Japan2024-06-10
1008France2024-05-28
1009Germany2024-06-22
1010France2024-06-16
1011Canada2024-06-06
1012United Kingdom2024-05-25
1013Germany2024-06-21
1014Argentina2024-06-11
1015Argentina2024-06-15
1016Italy2024-05-31
1017Japan2024-06-14
1018Russia2024-05-26
1019France2024-06-05
1020Russia2024-05-30
1021Australia2024-06-12
1022Canada2024-06-14
1023Russia2024-06-11
1024Japan2024-06-07
1025Brazil2024-06-09
1026Brazil2024-06-18
1027United Kingdom2024-05-26
1028France2024-06-12
1029Japan2024-06-09
1030India2024-05-30
1031Japan2024-06-06
1032Canada2024-06-10
1033Japan2024-06-05
1034Spain2024-06-06
1035Japan2024-05-30
1036Italy2024-05-24
1037Brazil2024-06-10
1038Australia2024-06-02
1039Australia2024-05-31
1040Argentina2024-06-15
1041Brazil2024-06-04
1042United Kingdom2024-05-25
1043Japan2024-05-29
1044Japan2024-06-19
1045Spain2024-06-11
1046India2024-06-21
1047Italy2024-05-31
1048Australia2024-06-13
1049United Kingdom2024-06-01

On-Demand Data

NameIdCountryDate
Izzy C Butt1000France2024-06-05
Greenwood B Venere1001Italy2024-06-21
Aditya A Sergi1002Canada2024-06-22
Arvin J Caudy1003Australia2024-06-10
James T Paprocki1004Germany2024-05-26
Ricardo F Poquette1005Argentina2024-06-21
Clifford V Caudy1006Germany2024-06-03
Aditya H Morasca1007Japan2024-05-24
Octavia T Oldroyd1008Canada2024-05-28
David O Glick1009France2024-06-10
Kadeem B Caldarera1010Germany2024-06-01
Silvio V Albares1011Spain2024-05-28
Misaki T Royster1012Germany2024-06-14
Francesco Q Kusko1013Argentina2024-06-06
Morrow I Briddick1014Brazil2024-06-09
Juan D Whobrey1015Argentina2024-06-14
Sinclair Z Schemmer1016Argentina2024-06-03
Johnson L Dilliard1017Spain2024-05-27
Aika U Glick1018Russia2024-06-14
Smith K Bolognia1019Spain2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith W GauchoCanadaOnyama Limba PROPOSAL
Nicolas P SchemmerFranceAsiya Javayant NEGOTIATION
Adams M BologniaItalyElwin Sharvill PROPOSAL
Rodrigues E AmigonSpainBernardo Dominic PROPOSAL
Francesco A SergiRussiaStephen Shaw NEW
Jefferson P TollnerRussiaIoni Bowcher NEGOTIATION
Rodrigues Z RoysterSpainStephen Shaw NEW
Faith Q OstroskyUnited KingdomAnna Fali RENEWAL
Jeanfrancois Y WaycottAustraliaBernardo Dominic NEW
Clifford B CaudyItalyAnna Fali UNQUALIFIED
Rodrigues D SlusarskiIndiaAmy Elsner UNQUALIFIED
Chavez P MacleadGermanyOnyama Limba QUALIFIED
Sinclair Z RimArgentinaAmy Elsner PROPOSAL
Jennifer G OstroskyFranceIoni Bowcher NEGOTIATION
Izzy B ChuiIndiaAsiya Javayant UNQUALIFIED
Nicolas T SlusarskiItalyAnna Fali NEGOTIATION
Arvin K SergiJapanOnyama Limba PROPOSAL
Aruna Z ButtIndiaOnyama Limba PROPOSAL
Nicolas V AmigonJapanAsiya Javayant PROPOSAL
Misaki P OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Izzy D SergiBrazilIvan Magalhaes QUALIFIED
Morrow U StensethItalyOnyama Limba PROPOSAL
Mujtaba T ButtCanadaXuxue Feng QUALIFIED
Smith N FollerFranceOnyama Limba QUALIFIED
Munro J CaudyCanadaAnna Fali NEW
Jefferson U StockhamArgentinaAsiya Javayant NEW
Greenwood M MorascaArgentinaIvan Magalhaes PROPOSAL
Rodrigues M FerenczIndiaIoni Bowcher PROPOSAL
Morrow A AlbaresJapanXuxue Feng RENEWAL
Deepesh Z SchemmerItalyBernardo Dominic PROPOSAL
Adams X DilliardCanadaBernardo Dominic NEGOTIATION
Juan K AlbaresIndiaAmy Elsner NEGOTIATION
Aruna X AlbaresUnited KingdomBernardo Dominic PROPOSAL
Alejandro T PaprockiJapanAnna Fali NEW
Izzy A WieserUnited KingdomElwin Sharvill UNQUALIFIED
Aruna D WhobreyItalyIoni Bowcher PROPOSAL
Aruna V BriddickAustraliaIoni Bowcher UNQUALIFIED
Ashley C ButtRussiaBernardo Dominic NEGOTIATION
Smith C WaycottRussiaXuxue Feng UNQUALIFIED
Kaitlin D WaycottAustraliaAsiya Javayant NEW

<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>