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
Faith R WieserGermanyIvan Magalhaes RENEWAL
Ivar Q RutaJapanStephen Shaw PROPOSAL
Stacey C WhobreySpainAmy Elsner NEW
Misaki T GillianIndiaXuxue Feng PROPOSAL
Jennifer P StockhamJapanAmy Elsner NEW
Jefferson B GlickBrazilAsiya Javayant QUALIFIED
Chavez X MaletJapanOnyama Limba UNQUALIFIED
Maria R RutaSpainIvan Magalhaes PROPOSAL
Jeanfrancois E StockhamCanadaXuxue Feng PROPOSAL
Wickens H ChuiFranceAsiya Javayant NEW
Aruna M WaycottAustraliaBernardo Dominic NEW
Alejandro Y WieserGermanyIoni Bowcher NEW
Wickens Z PerinArgentinaStephen Shaw QUALIFIED
Deepesh H MacleadFranceStephen Shaw PROPOSAL
Murillo N AlbaresJapanIvan Magalhaes UNQUALIFIED
Misaki G VocelkaFranceBernardo Dominic UNQUALIFIED
Juan T WieserGermanyAnna Fali PROPOSAL
Greenwood Z GillianArgentinaAmy Elsner NEGOTIATION
Arvin E BologniaRussiaAnna Fali UNQUALIFIED
Morrow L FlosiSpainElwin Sharvill UNQUALIFIED
Arvin J BriddickArgentinaOnyama Limba RENEWAL
Johnson W KuskoRussiaIoni Bowcher NEW
Greenwood D GillianFranceIoni Bowcher NEGOTIATION
Jones W CaldareraRussiaIvan Magalhaes RENEWAL
David P ShinkoItalyElwin Sharvill PROPOSAL
Juan H BologniaSpainOnyama Limba PROPOSAL
Jefferson D TollnerFranceIoni Bowcher NEW
Chavez C MaletCanadaIoni Bowcher NEGOTIATION
Francesco T MarrierCanadaOnyama Limba RENEWAL
Darci J MaletRussiaIvan Magalhaes QUALIFIED
Smith R VenereRussiaElwin Sharvill UNQUALIFIED
Salvatore G MaletIndiaOnyama Limba QUALIFIED
Antonio A FlosiItalyOnyama Limba RENEWAL
Darci G MaletSpainOnyama Limba UNQUALIFIED
Juan S VocelkaCanadaAmy Elsner UNQUALIFIED
Adams K FlosiRussiaAsiya Javayant RENEWAL
Isabel W PaprockiRussiaElwin Sharvill NEGOTIATION
Jennifer B AmigonFranceOnyama Limba NEW
Ivar L PerinUnited KingdomXuxue Feng UNQUALIFIED
Ivar T RoysterIndiaAsiya Javayant NEGOTIATION
Mayumi I NickaBrazilBernardo Dominic NEW
Ivar W DoeCanadaIoni Bowcher RENEWAL
Rodrigues I SergiCanadaStephen Shaw UNQUALIFIED
Mujtaba W WaycottIndiaOnyama Limba UNQUALIFIED
Morrow V MaletCanadaAsiya Javayant NEGOTIATION
Kadeem M KolmetzUnited KingdomElwin Sharvill QUALIFIED
Leja P GlickSpainAnna Fali NEGOTIATION
Chavez Q GlickItalyAnna Fali NEW
Ivar T RoysterBrazilStephen Shaw RENEWAL
Ashley T BriddickAustraliaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford J ButtFranceStephen Shaw NEW
Costa Y InouyeItalyElwin Sharvill RENEWAL
Johnson N WhobreyJapanIoni Bowcher PROPOSAL
Kaitlin J AmigonSpainOnyama Limba RENEWAL
Sinclair A ChuiBrazilBernardo Dominic UNQUALIFIED
Nicolas K OstroskyJapanAmy Elsner QUALIFIED
Ashley G ChuiItalyOnyama Limba NEW
Rodrigues T BologniaItalyXuxue Feng NEGOTIATION
Mayumi T MaletRussiaIoni Bowcher QUALIFIED
Jeanfrancois C IturbideRussiaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem W DoeIndia2024-05-12King, Christopher A Esq PROPOSAL76Stephen Shaw
1001Cody G TollnerJapan2024-04-29Rousseaux, Michael Esq NEGOTIATION23Bernardo Dominic
1002Jeanfrancois O NickaArgentina2024-05-04Morlong Associates RENEWAL28Amy Elsner
1003Greenwood O AmigonItaly2024-05-14Buckley Miller Wright NEGOTIATION85Onyama Limba
1004Julie H ShinkoGermany2024-05-11Commercial Press RENEWAL26Asiya Javayant
1005Clifford F SaylorsArgentina2024-05-24Chapman, Ross E Esq NEGOTIATION88Asiya Javayant
1006Murillo K KolmetzGermany2024-05-21Chanay, Jeffrey A Esq RENEWAL15Elwin Sharvill
1007Rodrigues K NickaBrazil2024-05-13Chanay, Jeffrey A Esq NEW23Xuxue Feng
1008Claire S DilliardArgentina2024-05-02Dorl, James J Esq PROPOSAL21Ivan Magalhaes
1009Greenwood Z CaudySpain2024-05-02Feltz Printing Service QUALIFIED95Amy Elsner
1010Silvio T ShinkoSpain2024-05-01Feiner Bros UNQUALIFIED82Elwin Sharvill
1011Morrow O InouyeIndia2024-05-09Rousseaux, Michael Esq RENEWAL59Stephen Shaw
1012Juan E PoquetteGermany2024-05-19Morlong Associates UNQUALIFIED77Stephen Shaw
1013Stacey K WhobreyAustralia2024-05-27Buckley Miller Wright RENEWAL73Amy Elsner
1014Leja O PaprockiCanada2024-04-29Chanay, Jeffrey A Esq RENEWAL0Anna Fali
1015Claire E GlickBrazil2024-05-15Rousseaux, Michael Esq NEW40Bernardo Dominic
1016Jefferson Q RimGermany2024-05-03Rangoni Of Florence RENEWAL38Bernardo Dominic
1017Wickens K ShinkoGermany2024-05-08Rousseaux, Michael Esq UNQUALIFIED37Ivan Magalhaes
1018Leon B RutaJapan2024-05-06Buckley Miller Wright RENEWAL69Elwin Sharvill
1019Julie D RoysterJapan2024-05-21Benton, John B Jr NEW95Ivan Magalhaes
1020Maisha C StockhamAustralia2024-05-08Feiner Bros QUALIFIED43Asiya Javayant
1021Misaki R FerenczRussia2024-05-17Chapman, Ross E Esq PROPOSAL72Xuxue Feng
1022Alejandro W RutaBrazil2024-05-17Dorl, James J Esq NEGOTIATION53Xuxue Feng
1023Isabel V SaylorsRussia2024-05-01Truhlar And Truhlar Attys NEGOTIATION42Elwin Sharvill
1024Ashley Y CaldareraFrance2024-05-11Chapman, Ross E Esq UNQUALIFIED86Ioni Bowcher
1025Leja D PerinUnited Kingdom2024-05-17Morlong Associates UNQUALIFIED61Elwin Sharvill
1026Ivar G MaletCanada2024-05-09Feiner Bros UNQUALIFIED80Ioni Bowcher
1027Maria E KolmetzIndia2024-05-07Feltz Printing Service NEGOTIATION18Ivan Magalhaes
1028Deepesh T MaletBrazil2024-05-08Printing Dimensions RENEWAL4Asiya Javayant
1029Emily H RoysterFrance2024-05-26Printing Dimensions NEGOTIATION76Ioni Bowcher
1030Isabel Z PaprockiUnited Kingdom2024-05-24Chemel, James L Cpa RENEWAL3Onyama Limba
1031Salvatore M StensethIndia2024-05-03Chemel, James L Cpa PROPOSAL69Onyama Limba
1032Johnson D GillianJapan2024-05-02Rangoni Of Florence RENEWAL51Anna Fali
1033Sinclair B SaylorsSpain2024-05-22Truhlar And Truhlar Attys NEW49Amy Elsner
1034Mayumi R PerinBrazil2024-05-20Chapman, Ross E Esq QUALIFIED92Onyama Limba
1035Stacey H GlickFrance2024-05-01Rangoni Of Florence QUALIFIED38Xuxue Feng
1036Clifford M GillianUnited Kingdom2024-05-17Dorl, James J Esq PROPOSAL51Stephen Shaw
1037Alejandro W ButtArgentina2024-05-07Chanay, Jeffrey A Esq QUALIFIED44Xuxue Feng
1038Emily H FerenczBrazil2024-05-05Rousseaux, Michael Esq RENEWAL20Asiya Javayant
1039Adams E AmigonJapan2024-05-14Printing Dimensions PROPOSAL78Xuxue Feng
1040Claire G StockhamAustralia2024-05-10Chapman, Ross E Esq RENEWAL79Asiya Javayant
1041Julie S BowleyAustralia2024-05-17Feltz Printing Service UNQUALIFIED35Onyama Limba
1042Kadeem K ShinkoCanada2024-05-06Buckley Miller Wright NEGOTIATION46Ioni Bowcher
1043Izzy W WhobreyAustralia2024-05-24Rousseaux, Michael Esq QUALIFIED86Asiya Javayant
1044Kaitlin C AlbaresCanada2024-05-27Chemel, James L Cpa UNQUALIFIED25Asiya Javayant
1045Ivar Y MacleadJapan2024-04-29Buckley Miller Wright UNQUALIFIED99Ivan Magalhaes
1046Morrow A FollerBrazil2024-05-23Dorl, James J Esq NEW38Asiya Javayant
1047Mayumi H FerenczIndia2024-05-07Buckley Miller Wright RENEWAL91Bernardo Dominic
1048Nicolas N VocelkaUnited Kingdom2024-05-12Chemel, James L Cpa RENEWAL86Asiya Javayant
1049Arvin X VenereJapan2024-05-07Buckley Miller Wright NEGOTIATION79Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Cody W SchemmerUnited KingdomAnna Fali UNQUALIFIED
Jeanfrancois K NickaItalyAmy Elsner NEW
Kaitlin B DoeRussiaIoni Bowcher NEW
Rodrigues Z GillianRussiaElwin Sharvill UNQUALIFIED
Murillo W FlosiIndiaAmy Elsner UNQUALIFIED
Maisha I AlbaresJapanStephen Shaw UNQUALIFIED
Leon Z PoquetteCanadaAnna Fali PROPOSAL
Julie P RoysterItalyBernardo Dominic RENEWAL
Clifford P RulapaughGermanyStephen Shaw NEGOTIATION
Murillo K CaldareraFranceAnna Fali PROPOSAL
Clifford Z RulapaughBrazilIvan Magalhaes UNQUALIFIED
Alejandro T MaletIndiaStephen Shaw PROPOSAL
Isabel G OstroskyCanadaBernardo Dominic RENEWAL
Tony G OstroskyFranceOnyama Limba NEW
Antonio U ShinkoItalyBernardo Dominic QUALIFIED
Johnson V MaletUnited KingdomIoni Bowcher QUALIFIED
Greenwood L AmigonUnited KingdomElwin Sharvill NEGOTIATION
Chavez L MaletItalyAnna Fali PROPOSAL
Greenwood G BowleyItalyAsiya Javayant NEW
Maria A VenereRussiaAsiya Javayant RENEWAL
Nicolas X TollnerAustraliaAsiya Javayant UNQUALIFIED
Izzy X TollnerJapanIoni Bowcher UNQUALIFIED
Leon E VenereIndiaAmy Elsner QUALIFIED
David B DilliardGermanyBernardo Dominic QUALIFIED
Arvin F KolmetzBrazilAsiya Javayant QUALIFIED
Mayumi N PoquetteSpainAnna Fali UNQUALIFIED
Tony J InouyeGermanyElwin Sharvill NEW
David I GauchoIndiaElwin Sharvill QUALIFIED
Cody F KolmetzSpainOnyama Limba NEGOTIATION
Nicolas A SchemmerJapanOnyama Limba NEGOTIATION
Aruna D GarufiGermanyAsiya Javayant RENEWAL
Greenwood H CaudyFranceOnyama Limba NEW
Mujtaba Y MaletBrazilElwin Sharvill NEGOTIATION
Chavez P IturbideUnited KingdomIvan Magalhaes QUALIFIED
Aika L MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Emily X WaycottAustraliaStephen Shaw RENEWAL
Aruna Q AlbaresAustraliaOnyama Limba NEW
Jefferson K VocelkaAustraliaBernardo Dominic RENEWAL
Sinclair N MorascaCanadaElwin Sharvill QUALIFIED
Mujtaba W WaycottFranceIoni Bowcher RENEWAL
Aika I SergiRussiaBernardo Dominic PROPOSAL
Munro F MacleadCanadaBernardo Dominic PROPOSAL
Leja P FigeroaCanadaBernardo Dominic RENEWAL
Emily P MaletBrazilIvan Magalhaes NEW
Jones K BologniaRussiaIoni Bowcher UNQUALIFIED
James J WhobreyFranceIoni Bowcher QUALIFIED
James N OldroydIndiaAnna Fali NEGOTIATION
Ivar X KolmetzGermanyStephen Shaw NEGOTIATION
Greenwood D ButtArgentinaStephen Shaw RENEWAL
Sinclair I GauchoCanadaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Julie C Foller
Mayumi O Schemmer
Antonio F Slusarski
Costa Q Gillian
Silvio U Saylors
Cody V Stockham
Leon F Maclead
Chavez D Doe
Maria F Ruta
Octavia N Garufi
Jennifer R Figeroa
Jones L Garufi
Wickens V Kolmetz
Jefferson M Campain
Isabel F Vocelka
Jefferson O Marrier
Clifford E Caldarera
Julie N Maclead
Darci S Kolmetz
Antonio P Dilliard
Kaitlin W Venere
Aditya A Maclead
Munro S Stockham
Sinclair O Rim
Murillo J Wieser
Aditya V Caudy
Jennifer K Campain
Greenwood E Amigon
Munro P Nicka
Claire L Gaucho
Francesco E Slusarski
Silvio E Malet
Johnson H Nicka
Greenwood M Rim
Octavia F Garufi
Tony Z Tollner
Arvin T Sergi
Juan S Darakjy
Greenwood Q Waycott
Ashley S Marrier
Mayumi G Sergi
Faith C Gillian
Rodrigues S Wieser
Clifford M Nicka
Emily H Campain
Clifford C Maclead
Arvin D Malet
Aditya V Malet
Claire H Venere
Ivar B Gillian
IdCountryDate
1000Brazil2024-05-06
1001India2024-05-02
1002India2024-05-05
1003Argentina2024-05-07
1004Canada2024-05-16
1005United Kingdom2024-05-12
1006Argentina2024-05-26
1007Argentina2024-05-13
1008Canada2024-05-10
1009Canada2024-04-29
1010Argentina2024-05-26
1011Italy2024-05-09
1012United Kingdom2024-05-18
1013Argentina2024-04-30
1014Australia2024-05-12
1015Canada2024-04-29
1016Spain2024-05-20
1017Argentina2024-05-25
1018Japan2024-05-22
1019Argentina2024-05-22
1020Brazil2024-05-02
1021Italy2024-05-12
1022Australia2024-05-12
1023Canada2024-05-26
1024Australia2024-05-01
1025Japan2024-05-18
1026India2024-05-20
1027Brazil2024-05-04
1028Japan2024-05-16
1029Brazil2024-05-10
1030Germany2024-05-28
1031Spain2024-04-29
1032Argentina2024-05-16
1033Spain2024-05-14
1034Brazil2024-05-19
1035Italy2024-05-25
1036United Kingdom2024-05-09
1037France2024-05-03
1038Germany2024-04-30
1039Japan2024-05-16
1040Germany2024-05-13
1041Italy2024-05-13
1042Germany2024-05-09
1043Italy2024-05-27
1044Brazil2024-05-20
1045Australia2024-05-28
1046France2024-04-30
1047Japan2024-05-06
1048Japan2024-05-18
1049Russia2024-05-19

On-Demand Data

NameIdCountryDate
Jennifer W Gillian1000Spain2024-05-24
Jefferson R Vocelka1001Argentina2024-05-23
Stacey Y Flosi1002Russia2024-05-05
James U Garufi1003Australia2024-05-27
Antonio I Glick1004United Kingdom2024-05-28
Chavez O Vocelka1005Spain2024-05-02
Maisha I Ferencz1006France2024-05-22
Morrow W Rim1007India2024-05-26
Silvio W Royster1008Australia2024-05-15
Antonio B Flosi1009Japan2024-05-01
Aditya M Gillian1010Germany2024-05-01
Mujtaba Y Ruta1011Argentina2024-05-25
Ivar E Dilliard1012Russia2024-05-25
Smith T Waycott1013Japan2024-05-02
Juan U Briddick1014Australia2024-05-18
Nicolas Z Doe1015Spain2024-05-27
Smith R Shinko1016Japan2024-05-05
Sinclair Z Gillian1017Japan2024-05-22
Juan F Inouye1018Spain2024-05-07
Ricardo F Garufi1019Russia2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha R PoquetteAustraliaAnna Fali RENEWAL
Francesco A MaletBrazilStephen Shaw QUALIFIED
Jennifer B TollnerArgentinaAsiya Javayant NEW
Johnson R AmigonArgentinaIvan Magalhaes PROPOSAL
Wickens B CampainCanadaIoni Bowcher PROPOSAL
Isabel G GillianJapanAsiya Javayant UNQUALIFIED
Ricardo L GlickRussiaIoni Bowcher RENEWAL
Ivar W AlbaresRussiaStephen Shaw NEGOTIATION
Rodrigues L SchemmerItalyAnna Fali NEW
Clifford N ButtUnited KingdomAmy Elsner NEGOTIATION
Darci P MacleadBrazilIvan Magalhaes NEW
Stacey Z PoquetteItalyAnna Fali NEGOTIATION
Jennifer B BologniaBrazilAmy Elsner PROPOSAL
Antonio V RimGermanyXuxue Feng NEGOTIATION
Clifford L SaylorsFranceIoni Bowcher NEW
Aruna G FerenczArgentinaAmy Elsner RENEWAL
Murillo C MorascaJapanOnyama Limba PROPOSAL
Aditya P RutaSpainOnyama Limba PROPOSAL
Emily C TollnerBrazilElwin Sharvill UNQUALIFIED
Chavez O BriddickGermanyAsiya Javayant NEGOTIATION
Aika G StockhamCanadaAsiya Javayant PROPOSAL
David C AlbaresSpainXuxue Feng PROPOSAL
Aditya C SaylorsSpainXuxue Feng RENEWAL
Murillo Z GauchoIndiaXuxue Feng UNQUALIFIED
Ashley U MaletBrazilAmy Elsner PROPOSAL
Emily U FerenczRussiaElwin Sharvill UNQUALIFIED
Julie V OstroskyBrazilAnna Fali PROPOSAL
Izzy G WhobreyGermanyIvan Magalhaes UNQUALIFIED
Cody V CampainArgentinaStephen Shaw RENEWAL
Darci G WhobreyIndiaOnyama Limba PROPOSAL
Aditya I MacleadIndiaElwin Sharvill QUALIFIED
James E BriddickIndiaIvan Magalhaes QUALIFIED
David M RulapaughBrazilAmy Elsner RENEWAL
Mujtaba J StockhamCanadaIvan Magalhaes NEGOTIATION
Rodrigues D CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Darci Q WieserArgentinaAnna Fali RENEWAL
Octavia E GlickSpainAsiya Javayant RENEWAL
Sinclair W BowleySpainAsiya Javayant UNQUALIFIED
Maisha V GillianJapanXuxue Feng QUALIFIED
Deepesh P MorascaRussiaIoni Bowcher RENEWAL

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