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
Cody T RulapaughGermanyStephen Shaw PROPOSAL
Kadeem M VocelkaUnited KingdomAmy Elsner NEW
Juan Y StockhamArgentinaAsiya Javayant PROPOSAL
Jefferson F SergiBrazilAmy Elsner NEGOTIATION
Ashley H OldroydBrazilIvan Magalhaes NEGOTIATION
Jones C SlusarskiSpainAmy Elsner UNQUALIFIED
Darci O NickaSpainAsiya Javayant QUALIFIED
Octavia Q GarufiSpainAmy Elsner RENEWAL
Mayumi L WhobreyBrazilAnna Fali PROPOSAL
Alejandro M GlickRussiaBernardo Dominic PROPOSAL
Adams U NestleAustraliaAnna Fali UNQUALIFIED
Stacey G GlickRussiaXuxue Feng NEW
Isabel R BologniaJapanBernardo Dominic RENEWAL
Leja I DoeIndiaXuxue Feng PROPOSAL
Misaki C MacleadArgentinaXuxue Feng RENEWAL
Stacey I RutaSpainBernardo Dominic QUALIFIED
Cody M VenereRussiaXuxue Feng PROPOSAL
Isabel Z VenereIndiaAnna Fali RENEWAL
Isabel D ButtItalyStephen Shaw NEGOTIATION
Rodrigues O SergiIndiaBernardo Dominic PROPOSAL
Izzy V GlickIndiaBernardo Dominic QUALIFIED
Francesco Q WieserJapanElwin Sharvill NEGOTIATION
Adams Q FollerAustraliaAmy Elsner RENEWAL
Kadeem O VocelkaUnited KingdomIvan Magalhaes PROPOSAL
Kaitlin B MacleadBrazilAnna Fali RENEWAL
Murillo K WaycottAustraliaOnyama Limba RENEWAL
Leja U WieserArgentinaElwin Sharvill UNQUALIFIED
Tony H CaudyBrazilAmy Elsner NEW
Isabel B CaudyUnited KingdomAsiya Javayant PROPOSAL
Antonio Y MacleadGermanyOnyama Limba RENEWAL
Kadeem O TollnerCanadaElwin Sharvill RENEWAL
Maria R WaycottGermanyBernardo Dominic PROPOSAL
Morrow O AlbaresJapanAmy Elsner RENEWAL
Munro V GauchoGermanyStephen Shaw NEGOTIATION
Francesco I DoeAustraliaAnna Fali NEW
Greenwood S FigeroaItalyBernardo Dominic UNQUALIFIED
Maisha M PaprockiSpainAnna Fali NEGOTIATION
Cody Q PaprockiRussiaXuxue Feng RENEWAL
James K FerenczIndiaAnna Fali RENEWAL
Smith V SchemmerRussiaElwin Sharvill NEW
Mujtaba D ButtFranceAmy Elsner PROPOSAL
Ricardo A DilliardUnited KingdomAmy Elsner UNQUALIFIED
Deepesh L KolmetzGermanyAnna Fali QUALIFIED
Sinclair F ShinkoUnited KingdomBernardo Dominic QUALIFIED
Costa D AlbaresUnited KingdomIvan Magalhaes NEW
Wickens D OstroskyIndiaOnyama Limba PROPOSAL
Faith A SlusarskiItalyAmy Elsner QUALIFIED
Isabel K DilliardSpainAnna Fali UNQUALIFIED
Leon R FlosiArgentinaXuxue Feng NEGOTIATION
Juan I SaylorsFranceIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja M DilliardCanadaStephen Shaw RENEWAL
Clifford O PerinSpainElwin Sharvill NEGOTIATION
Ivar K GauchoFranceStephen Shaw UNQUALIFIED
Smith R KolmetzGermanyElwin Sharvill NEGOTIATION
Maisha D AlbaresAustraliaXuxue Feng UNQUALIFIED
Mujtaba Z FerenczItalyXuxue Feng PROPOSAL
Kadeem K PoquetteIndiaBernardo Dominic QUALIFIED
Morrow Y SergiJapanElwin Sharvill UNQUALIFIED
Isabel E SlusarskiArgentinaAnna Fali NEGOTIATION
Mayumi N GarufiItalyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues M SaylorsFrance2024-06-18Truhlar And Truhlar Attys NEW49Xuxue Feng
1001Nicolas N KuskoItaly2024-06-20Rangoni Of Florence QUALIFIED50Stephen Shaw
1002Francesco I CaudyArgentina2024-06-22Morlong Associates PROPOSAL55Anna Fali
1003Cody N IturbideBrazil2024-06-05Chemel, James L Cpa RENEWAL49Xuxue Feng
1004Francesco O PoquetteJapan2024-06-03Buckley Miller Wright NEW70Anna Fali
1005Munro K MacleadItaly2024-06-08Dorl, James J Esq PROPOSAL88Ivan Magalhaes
1006Nicolas S KuskoSpain2024-06-09King, Christopher A Esq UNQUALIFIED55Bernardo Dominic
1007Murillo U SergiArgentina2024-06-15Feiner Bros UNQUALIFIED86Elwin Sharvill
1008Clifford X PaprockiUnited Kingdom2024-06-21Printing Dimensions RENEWAL62Stephen Shaw
1009Aruna S InouyeCanada2024-06-18Chapman, Ross E Esq NEW59Stephen Shaw
1010Jennifer G WhobreySpain2024-06-04Chemel, James L Cpa NEGOTIATION99Stephen Shaw
1011Juan Y PerinAustralia2024-05-27Chemel, James L Cpa NEGOTIATION9Xuxue Feng
1012Alejandro O MaletUnited Kingdom2024-06-20Truhlar And Truhlar Attys NEW97Onyama Limba
1013Silvio L WhobreyIndia2024-05-25Dorl, James J Esq NEGOTIATION83Ivan Magalhaes
1014Misaki F CampainFrance2024-06-09Chemel, James L Cpa QUALIFIED41Bernardo Dominic
1015Aruna L DilliardIndia2024-06-08Printing Dimensions NEW84Bernardo Dominic
1016Ivar H MaletUnited Kingdom2024-06-13Buckley Miller Wright PROPOSAL41Bernardo Dominic
1017Clifford M RulapaughRussia2024-06-02Feltz Printing Service NEW49Anna Fali
1018Chavez S GlickArgentina2024-06-20Feiner Bros QUALIFIED67Ioni Bowcher
1019Leja Q WaycottSpain2024-06-21Feltz Printing Service NEW33Ivan Magalhaes
1020Silvio O KolmetzArgentina2024-06-17Truhlar And Truhlar Attys NEGOTIATION8Ioni Bowcher
1021Wickens R PoquetteSpain2024-06-14Truhlar And Truhlar Attys NEW7Asiya Javayant
1022Francesco B BriddickFrance2024-06-06Dorl, James J Esq NEW19Bernardo Dominic
1023Murillo Q DilliardArgentina2024-06-15Buckley Miller Wright UNQUALIFIED9Ioni Bowcher
1024Greenwood O AlbaresBrazil2024-06-12Buckley Miller Wright PROPOSAL51Ioni Bowcher
1025Jennifer G InouyeRussia2024-06-13Chemel, James L Cpa NEW56Ioni Bowcher
1026David N CaldareraIndia2024-06-18Chanay, Jeffrey A Esq PROPOSAL3Ivan Magalhaes
1027Maisha J RutaBrazil2024-06-18Printing Dimensions PROPOSAL91Onyama Limba
1028Adams B RulapaughAustralia2024-05-25Feiner Bros QUALIFIED3Elwin Sharvill
1029Leja J CampainGermany2024-06-15Feiner Bros QUALIFIED93Xuxue Feng
1030Arvin B WaycottJapan2024-05-31Rangoni Of Florence NEGOTIATION93Anna Fali
1031Antonio E ShinkoAustralia2024-06-20King, Christopher A Esq RENEWAL62Onyama Limba
1032Deepesh D SergiCanada2024-05-27Morlong Associates UNQUALIFIED96Xuxue Feng
1033Tony E BriddickBrazil2024-05-24Chapman, Ross E Esq QUALIFIED6Onyama Limba
1034Silvio Y PoquetteAustralia2024-06-05Feltz Printing Service QUALIFIED75Elwin Sharvill
1035Aruna U FerenczIndia2024-06-04Rangoni Of Florence NEW82Elwin Sharvill
1036Munro M VocelkaArgentina2024-06-22Commercial Press NEW57Ivan Magalhaes
1037Isabel W MaletJapan2024-06-04Benton, John B Jr PROPOSAL82Ivan Magalhaes
1038Maisha D GillianJapan2024-06-18Buckley Miller Wright PROPOSAL23Bernardo Dominic
1039Leon X MarrierFrance2024-06-18Chapman, Ross E Esq PROPOSAL16Elwin Sharvill
1040Ashley D FigeroaUnited Kingdom2024-06-19Truhlar And Truhlar Attys QUALIFIED68Anna Fali
1041David X VocelkaUnited Kingdom2024-06-18King, Christopher A Esq PROPOSAL35Bernardo Dominic
1042Deepesh H BowleySpain2024-05-26Benton, John B Jr NEW0Anna Fali
1043Stacey Z OstroskyBrazil2024-06-01Benton, John B Jr UNQUALIFIED87Amy Elsner
1044David Y WhobreyItaly2024-05-28Commercial Press RENEWAL52Ivan Magalhaes
1045Aika U CaudyIndia2024-06-21Truhlar And Truhlar Attys PROPOSAL52Xuxue Feng
1046Costa D RutaRussia2024-06-16Buckley Miller Wright UNQUALIFIED20Ioni Bowcher
1047Greenwood V OstroskyFrance2024-05-27Buckley Miller Wright UNQUALIFIED26Amy Elsner
1048Munro C VocelkaSpain2024-05-29Buckley Miller Wright NEW93Elwin Sharvill
1049Aditya K ShinkoJapan2024-06-03Morlong Associates PROPOSAL13Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Clifford T VocelkaFranceXuxue Feng PROPOSAL
Maisha F MacleadRussiaStephen Shaw PROPOSAL
Alejandro T WieserUnited KingdomIoni Bowcher PROPOSAL
Munro K MarrierGermanyAmy Elsner NEW
Darci X MorascaIndiaIvan Magalhaes NEGOTIATION
Jefferson F WaycottBrazilStephen Shaw NEW
Kaitlin H NickaArgentinaOnyama Limba NEGOTIATION
Deepesh Q KuskoCanadaAmy Elsner NEW
Salvatore X FollerSpainXuxue Feng PROPOSAL
Clifford D BowleyItalyAsiya Javayant NEW
Johnson U GarufiIndiaOnyama Limba QUALIFIED
Misaki B WaycottGermanyIvan Magalhaes QUALIFIED
Rodrigues C MorascaJapanIvan Magalhaes NEGOTIATION
Claire K WieserFranceBernardo Dominic RENEWAL
Alejandro K WaycottSpainAnna Fali RENEWAL
Claire C ChuiIndiaStephen Shaw QUALIFIED
Chavez X VenereItalyAnna Fali PROPOSAL
Antonio U DoeCanadaBernardo Dominic RENEWAL
Arvin R IturbideRussiaElwin Sharvill NEGOTIATION
Deepesh H RulapaughIndiaStephen Shaw UNQUALIFIED
Clifford Z NickaIndiaIoni Bowcher RENEWAL
Alejandro E MacleadSpainElwin Sharvill NEGOTIATION
Julie Q WieserJapanAsiya Javayant PROPOSAL
Faith J MaletGermanyStephen Shaw UNQUALIFIED
Arvin L MorascaBrazilElwin Sharvill UNQUALIFIED
Maria C OldroydItalyAnna Fali RENEWAL
Misaki J CaudyUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues Y CampainGermanyAsiya Javayant NEW
James Z StockhamIndiaIoni Bowcher NEGOTIATION
Leon O RimRussiaAmy Elsner NEGOTIATION
Izzy M RimFranceBernardo Dominic RENEWAL
Leja K TollnerFranceElwin Sharvill QUALIFIED
Ricardo S GauchoItalyAnna Fali RENEWAL
Nicolas D ChuiRussiaIoni Bowcher PROPOSAL
Leon Q StockhamJapanXuxue Feng RENEWAL
Arvin E FerenczIndiaElwin Sharvill QUALIFIED
Alejandro P SergiFranceOnyama Limba PROPOSAL
Arvin Z InouyeArgentinaStephen Shaw PROPOSAL
Cody Q CaldareraAustraliaElwin Sharvill UNQUALIFIED
Leon S MaletAustraliaElwin Sharvill UNQUALIFIED
Tony Y MorascaIndiaIvan Magalhaes NEW
Clifford X DilliardCanadaAnna Fali UNQUALIFIED
Darci V GillianRussiaStephen Shaw PROPOSAL
Rodrigues X OstroskySpainIoni Bowcher UNQUALIFIED
Kadeem P SaylorsCanadaElwin Sharvill NEGOTIATION
Aditya U RimArgentinaBernardo Dominic PROPOSAL
David Z WieserCanadaStephen Shaw RENEWAL
Octavia K FerenczSpainStephen Shaw RENEWAL
Greenwood N ChuiRussiaAsiya Javayant NEW
Jefferson N MaletItalyAnna Fali UNQUALIFIED
Frozen Columns
Name
Leon V Sergi
Jefferson P Stenseth
Clifford H Dilliard
Sinclair Q Slusarski
Arvin K Maclead
Aditya N Garufi
Emily V Royster
Ivar K Marrier
Ricardo Z Dilliard
Sinclair C Shinko
Ivar O Rim
Costa L Perin
Octavia B Ostrosky
Johnson G Chui
Ashley N Vocelka
Rodrigues D Saylors
Costa Q Campain
Isabel N Tollner
David N Nestle
Aditya N Venere
Deepesh R Bolognia
Salvatore U Ostrosky
Wickens Y Ferencz
Ricardo A Stenseth
Adams I Bowley
Adams D Glick
Ricardo N Kolmetz
Clifford E Amigon
Greenwood E Perin
Kadeem D Foller
Ivar M Kusko
Jefferson L Poquette
Silvio O Shinko
Silvio N Foller
Octavia F Bolognia
Jeanfrancois J Doe
Munro G Kolmetz
Jennifer S Malet
Smith T Waycott
Costa I Malet
Octavia I Flosi
Rodrigues A Wieser
Nicolas E Stockham
Alejandro X Butt
David Q Gillian
Jennifer L Kusko
Aditya I Nicka
Sinclair Z Royster
Murillo H Marrier
Julie X Ruta
IdCountryDate
1000Argentina2024-06-15
1001Russia2024-05-31
1002India2024-06-21
1003Argentina2024-06-10
1004Italy2024-06-16
1005Russia2024-06-02
1006United Kingdom2024-06-10
1007Canada2024-06-16
1008Germany2024-05-30
1009Italy2024-05-25
1010Germany2024-06-14
1011Australia2024-06-17
1012United Kingdom2024-06-02
1013Canada2024-06-10
1014Australia2024-06-04
1015United Kingdom2024-06-14
1016Germany2024-06-19
1017Russia2024-06-06
1018Germany2024-06-15
1019Argentina2024-06-19
1020Spain2024-06-08
1021Canada2024-06-01
1022France2024-05-30
1023Japan2024-06-04
1024Brazil2024-05-24
1025Argentina2024-05-30
1026Argentina2024-06-11
1027Italy2024-05-25
1028Australia2024-06-10
1029Italy2024-06-19
1030Argentina2024-05-31
1031United Kingdom2024-06-20
1032Italy2024-06-17
1033Spain2024-05-24
1034Japan2024-06-05
1035United Kingdom2024-05-30
1036Canada2024-06-12
1037Russia2024-05-26
1038Brazil2024-06-02
1039United Kingdom2024-06-03
1040India2024-05-28
1041France2024-05-31
1042Brazil2024-05-24
1043Russia2024-05-31
1044Canada2024-06-05
1045Brazil2024-06-18
1046France2024-05-26
1047Italy2024-06-12
1048Russia2024-05-29
1049Spain2024-05-24

On-Demand Data

NameIdCountryDate
Misaki C Stockham1000Japan2024-06-05
Darci A Ferencz1001Canada2024-06-10
James S Rim1002Japan2024-06-15
Jones X Stockham1003United Kingdom2024-06-01
Darci L Wieser1004Italy2024-06-21
Wickens Y Kolmetz1005Argentina2024-06-03
Antonio X Perin1006India2024-06-13
Salvatore F Stenseth1007Argentina2024-05-30
Clifford P Ruta1008Germany2024-05-28
Francesco Y Darakjy1009Brazil2024-06-16
Johnson T Foller1010Russia2024-05-31
Antonio V Royster1011Italy2024-06-16
Aditya Q Chui1012India2024-06-06
Munro Q Vocelka1013Australia2024-06-14
Munro X Malet1014France2024-06-03
Ivar V Briddick1015Australia2024-06-14
Kadeem V Ruta1016Argentina2024-06-12
David B Maclead1017Argentina2024-05-28
Maisha A Shinko1018Germany2024-05-26
Alejandro Q Malet1019Russia2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues N MarrierAustraliaAnna Fali RENEWAL
Tony U BologniaItalyIoni Bowcher UNQUALIFIED
Maisha P WaycottRussiaBernardo Dominic UNQUALIFIED
Julie B PerinArgentinaStephen Shaw RENEWAL
Faith X MorascaSpainOnyama Limba PROPOSAL
Clifford H DilliardItalyOnyama Limba UNQUALIFIED
Francesco R CaldareraItalyAnna Fali NEW
Maisha D OstroskyItalyIoni Bowcher NEW
Jeanfrancois O RimUnited KingdomAmy Elsner PROPOSAL
Octavia V StensethJapanAmy Elsner QUALIFIED
Morrow A WaycottAustraliaIoni Bowcher QUALIFIED
Maria G PerinFranceElwin Sharvill UNQUALIFIED
Jones D CaldareraBrazilAnna Fali NEW
Jennifer C SlusarskiIndiaIoni Bowcher PROPOSAL
Octavia U WaycottArgentinaBernardo Dominic RENEWAL
Julie B StockhamGermanyIvan Magalhaes PROPOSAL
Misaki X OstroskyItalyAmy Elsner PROPOSAL
Maisha V BologniaUnited KingdomStephen Shaw RENEWAL
Rodrigues R AmigonIndiaIoni Bowcher PROPOSAL
Greenwood N SlusarskiGermanyOnyama Limba QUALIFIED
Greenwood U CaudyAustraliaXuxue Feng QUALIFIED
Ricardo D RimCanadaXuxue Feng QUALIFIED
Aruna L NestleUnited KingdomOnyama Limba RENEWAL
Aika I GlickIndiaXuxue Feng UNQUALIFIED
Emily F KuskoIndiaStephen Shaw PROPOSAL
Emily Z ButtBrazilAsiya Javayant QUALIFIED
Maria X WaycottBrazilElwin Sharvill NEW
Deepesh C WieserGermanyAmy Elsner NEW
Deepesh T StockhamCanadaAnna Fali NEW
Juan P BowleyCanadaStephen Shaw NEGOTIATION
Isabel C TollnerJapanBernardo Dominic NEW
Mujtaba Y TollnerCanadaIoni Bowcher PROPOSAL
Francesco Z FlosiUnited KingdomStephen Shaw PROPOSAL
Ricardo X FigeroaUnited KingdomStephen Shaw RENEWAL
Kadeem T StockhamBrazilOnyama Limba UNQUALIFIED
Faith F SergiCanadaIoni Bowcher NEW
Deepesh M NickaJapanAmy Elsner RENEWAL
Maisha I SchemmerItalyOnyama Limba QUALIFIED
Deepesh T MorascaJapanIoni Bowcher QUALIFIED
Stacey O WaycottRussiaAmy Elsner 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>