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
Claire R SaylorsUnited KingdomBernardo Dominic QUALIFIED
James I SchemmerSpainStephen Shaw RENEWAL
Costa A WieserSpainIoni Bowcher NEW
Johnson Y KuskoIndiaIvan Magalhaes NEW
James A GillianBrazilElwin Sharvill RENEWAL
Ivar M OstroskyUnited KingdomIvan Magalhaes NEW
Maisha D NickaArgentinaElwin Sharvill NEW
Izzy E NickaBrazilIoni Bowcher UNQUALIFIED
Cody J GillianSpainAmy Elsner RENEWAL
Johnson Z StockhamCanadaOnyama Limba QUALIFIED
Mayumi V OstroskyArgentinaElwin Sharvill NEW
Sinclair U CaldareraBrazilBernardo Dominic RENEWAL
Aruna H DoeIndiaElwin Sharvill QUALIFIED
Tony V DilliardJapanBernardo Dominic QUALIFIED
Claire Z GauchoItalyElwin Sharvill NEW
Smith I BologniaSpainXuxue Feng NEGOTIATION
Faith U MarrierSpainIoni Bowcher RENEWAL
Aditya Q PoquetteArgentinaAmy Elsner QUALIFIED
James R MacleadJapanXuxue Feng UNQUALIFIED
Nicolas P SlusarskiBrazilBernardo Dominic NEGOTIATION
Murillo F KolmetzFranceStephen Shaw RENEWAL
Leon D DarakjyIndiaIvan Magalhaes QUALIFIED
Leja W BologniaCanadaAsiya Javayant UNQUALIFIED
Claire G FollerSpainOnyama Limba NEW
Leja R SergiBrazilAnna Fali RENEWAL
Leon P MaletGermanyAmy Elsner QUALIFIED
Morrow U SergiJapanStephen Shaw QUALIFIED
Faith C PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez M FigeroaSpainIvan Magalhaes QUALIFIED
Emily Q RoysterFranceXuxue Feng UNQUALIFIED
Wickens B CampainBrazilAmy Elsner NEW
Arvin Z KolmetzBrazilIoni Bowcher RENEWAL
Claire O GillianBrazilElwin Sharvill PROPOSAL
Leja U SergiRussiaXuxue Feng NEW
Isabel U CaudySpainBernardo Dominic RENEWAL
Antonio V AlbaresUnited KingdomStephen Shaw RENEWAL
Faith F MorascaGermanyAnna Fali PROPOSAL
Julie H FollerItalyAsiya Javayant NEW
Sinclair G StockhamGermanyIoni Bowcher QUALIFIED
Claire N DarakjyJapanAsiya Javayant QUALIFIED
Mujtaba B ButtRussiaOnyama Limba RENEWAL
Isabel A WaycottCanadaIoni Bowcher QUALIFIED
Misaki I ChuiFranceElwin Sharvill NEGOTIATION
Smith R ButtSpainElwin Sharvill QUALIFIED
Tony J InouyeItalyBernardo Dominic NEGOTIATION
Munro Z InouyeArgentinaElwin Sharvill NEW
Alejandro H OldroydJapanStephen Shaw RENEWAL
David N NestleFranceOnyama Limba UNQUALIFIED
David V FlosiAustraliaAnna Fali NEGOTIATION
Tony T TollnerSpainAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon H InouyeIndiaIoni Bowcher PROPOSAL
Francesco T GlickUnited KingdomOnyama Limba NEW
Isabel G MacleadFranceIvan Magalhaes RENEWAL
Claire D PoquetteCanadaAsiya Javayant PROPOSAL
Wickens L CampainArgentinaAnna Fali NEW
Deepesh K DoeFranceAmy Elsner UNQUALIFIED
Wickens I PoquetteJapanXuxue Feng NEW
Mujtaba H GauchoGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois A MaletAustraliaIoni Bowcher PROPOSAL
Greenwood T RimJapanXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas T ChuiIndia2024-05-15Morlong Associates QUALIFIED90Anna Fali
1001Alejandro D RulapaughGermany2024-05-23Buckley Miller Wright NEW46Xuxue Feng
1002Wickens H CaldareraGermany2024-05-11Morlong Associates QUALIFIED24Stephen Shaw
1003Isabel C RulapaughFrance2024-05-11Chemel, James L Cpa NEW20Ioni Bowcher
1004Aika X RoysterRussia2024-05-19Printing Dimensions UNQUALIFIED8Stephen Shaw
1005Cody Z DilliardIndia2024-05-25Chemel, James L Cpa NEW0Onyama Limba
1006Jones L GauchoUnited Kingdom2024-05-10Buckley Miller Wright QUALIFIED88Stephen Shaw
1007Cody L WieserCanada2024-05-03Chanay, Jeffrey A Esq UNQUALIFIED65Anna Fali
1008Salvatore T FigeroaBrazil2024-05-27Dorl, James J Esq RENEWAL13Onyama Limba
1009Murillo Y BowleyUnited Kingdom2024-05-26King, Christopher A Esq UNQUALIFIED1Amy Elsner
1010Morrow N AlbaresSpain2024-05-21Chanay, Jeffrey A Esq UNQUALIFIED83Xuxue Feng
1011Salvatore A GarufiUnited Kingdom2024-05-26Printing Dimensions PROPOSAL65Ioni Bowcher
1012Leja U OstroskyFrance2024-05-10Truhlar And Truhlar Attys NEGOTIATION65Ioni Bowcher
1013Izzy Y RimFrance2024-05-26Chapman, Ross E Esq PROPOSAL4Onyama Limba
1014Faith W KuskoUnited Kingdom2024-05-02Truhlar And Truhlar Attys RENEWAL25Amy Elsner
1015Clifford Q AmigonJapan2024-05-15Chanay, Jeffrey A Esq NEGOTIATION49Amy Elsner
1016Maria K VocelkaRussia2024-05-15Feltz Printing Service PROPOSAL31Anna Fali
1017Jennifer M WhobreyCanada2024-05-16Morlong Associates QUALIFIED46Bernardo Dominic
1018Kaitlin J MarrierArgentina2024-05-24Rangoni Of Florence RENEWAL95Elwin Sharvill
1019Octavia D SergiBrazil2024-05-19Buckley Miller Wright NEGOTIATION82Amy Elsner
1020Leja S RimCanada2024-05-24Rousseaux, Michael Esq UNQUALIFIED4Anna Fali
1021Murillo G SergiUnited Kingdom2024-05-10Chanay, Jeffrey A Esq NEW44Bernardo Dominic
1022Chavez H WieserRussia2024-05-16Feltz Printing Service UNQUALIFIED68Xuxue Feng
1023Sinclair D WaycottJapan2024-05-06Chapman, Ross E Esq NEGOTIATION90Stephen Shaw
1024Alejandro H SchemmerUnited Kingdom2024-04-29King, Christopher A Esq NEGOTIATION84Onyama Limba
1025Rodrigues Y BriddickUnited Kingdom2024-05-14Rangoni Of Florence QUALIFIED37Anna Fali
1026Clifford G ButtRussia2024-05-13Chapman, Ross E Esq PROPOSAL46Anna Fali
1027Rodrigues S GillianArgentina2024-05-14Printing Dimensions QUALIFIED92Ioni Bowcher
1028Antonio T WaycottRussia2024-05-15Benton, John B Jr NEGOTIATION79Ivan Magalhaes
1029Claire V InouyeGermany2024-05-01Buckley Miller Wright QUALIFIED45Bernardo Dominic
1030Smith Q BologniaFrance2024-05-02Chapman, Ross E Esq NEGOTIATION38Elwin Sharvill
1031Morrow X FlosiJapan2024-05-04King, Christopher A Esq QUALIFIED75Xuxue Feng
1032Leja J InouyeUnited Kingdom2024-05-10Chemel, James L Cpa UNQUALIFIED37Stephen Shaw
1033David L SlusarskiUnited Kingdom2024-04-28Buckley Miller Wright UNQUALIFIED72Ioni Bowcher
1034Isabel R AmigonUnited Kingdom2024-05-08Commercial Press PROPOSAL86Amy Elsner
1035Juan J GillianItaly2024-05-24Chemel, James L Cpa RENEWAL97Ivan Magalhaes
1036Stacey V RimFrance2024-05-10Morlong Associates NEGOTIATION78Amy Elsner
1037Mayumi L ChuiArgentina2024-05-16Feiner Bros RENEWAL65Onyama Limba
1038Adams H TollnerBrazil2024-05-07Buckley Miller Wright PROPOSAL2Ioni Bowcher
1039Cody U TollnerCanada2024-05-25Rangoni Of Florence NEGOTIATION95Amy Elsner
1040Jones A WieserCanada2024-05-17Benton, John B Jr RENEWAL71Elwin Sharvill
1041Aika B FerenczUnited Kingdom2024-05-14Feiner Bros QUALIFIED21Elwin Sharvill
1042Jeanfrancois S SergiArgentina2024-04-28Rousseaux, Michael Esq PROPOSAL3Amy Elsner
1043Faith R NickaBrazil2024-05-07Morlong Associates PROPOSAL17Amy Elsner
1044Juan Y DilliardFrance2024-05-25Buckley Miller Wright NEW35Ioni Bowcher
1045Cody K FlosiGermany2024-05-24Morlong Associates NEGOTIATION21Anna Fali
1046Aditya B MaletAustralia2024-05-07Benton, John B Jr NEW57Xuxue Feng
1047Nicolas Z FlosiRussia2024-05-26Feiner Bros UNQUALIFIED75Ivan Magalhaes
1048Sinclair W RoysterUnited Kingdom2024-05-14Printing Dimensions QUALIFIED78Onyama Limba
1049Izzy K RoysterIndia2024-05-23Commercial Press NEW6Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Octavia K SergiIndiaAsiya Javayant UNQUALIFIED
Leja Y StensethBrazilStephen Shaw NEGOTIATION
Aditya E BologniaRussiaElwin Sharvill QUALIFIED
Claire X FollerSpainOnyama Limba UNQUALIFIED
Ivar Y AlbaresJapanAmy Elsner NEGOTIATION
Leon Z FollerIndiaIoni Bowcher NEGOTIATION
Juan J PoquetteArgentinaIoni Bowcher QUALIFIED
Sinclair O KolmetzUnited KingdomElwin Sharvill NEW
Deepesh F FollerBrazilAsiya Javayant NEGOTIATION
Silvio S VenereJapanBernardo Dominic PROPOSAL
Mujtaba D NickaUnited KingdomAmy Elsner UNQUALIFIED
Aditya N FlosiCanadaAmy Elsner RENEWAL
Ricardo J PaprockiFranceStephen Shaw PROPOSAL
Aruna P FigeroaGermanyAmy Elsner QUALIFIED
Mujtaba L BologniaAustraliaIvan Magalhaes UNQUALIFIED
Salvatore F ChuiJapanXuxue Feng PROPOSAL
Ricardo A MacleadRussiaXuxue Feng RENEWAL
Chavez J DoeArgentinaIvan Magalhaes QUALIFIED
Ricardo V DilliardCanadaXuxue Feng NEW
James X PoquetteArgentinaAsiya Javayant NEW
Arvin P NestleArgentinaElwin Sharvill QUALIFIED
Ricardo Z WhobreyBrazilAsiya Javayant NEW
Juan Y GauchoJapanAsiya Javayant RENEWAL
Ashley J MacleadFranceXuxue Feng NEW
Sinclair C AmigonItalyElwin Sharvill NEW
Leja K VocelkaIndiaXuxue Feng UNQUALIFIED
Aditya F BologniaFranceAnna Fali UNQUALIFIED
Wickens P GarufiIndiaStephen Shaw QUALIFIED
Mujtaba R CampainRussiaXuxue Feng PROPOSAL
Ashley W RutaAustraliaBernardo Dominic QUALIFIED
Francesco R GlickAustraliaIoni Bowcher NEGOTIATION
Octavia M GauchoCanadaBernardo Dominic NEGOTIATION
Julie W KolmetzArgentinaIoni Bowcher PROPOSAL
Darci F OstroskyFranceStephen Shaw UNQUALIFIED
Arvin V CaudyFranceIoni Bowcher NEW
Kaitlin A MorascaItalyElwin Sharvill RENEWAL
Costa Q SaylorsArgentinaOnyama Limba NEW
Salvatore T DoeGermanyIvan Magalhaes RENEWAL
Julie N GarufiCanadaAnna Fali NEGOTIATION
Morrow E GarufiArgentinaAnna Fali RENEWAL
Jeanfrancois I RoysterArgentinaOnyama Limba QUALIFIED
Cody A WhobreyJapanIoni Bowcher UNQUALIFIED
Munro B AmigonCanadaElwin Sharvill RENEWAL
Mayumi W TollnerArgentinaAnna Fali RENEWAL
Chavez T MacleadCanadaXuxue Feng PROPOSAL
Mayumi E GarufiFranceBernardo Dominic NEW
Mayumi D PoquetteSpainAmy Elsner QUALIFIED
Wickens R ShinkoIndiaStephen Shaw UNQUALIFIED
Aruna Q PerinIndiaIvan Magalhaes QUALIFIED
Claire V RutaCanadaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Aruna A Nestle
Chavez B Ostrosky
Juan O Royster
Jennifer W Oldroyd
Greenwood N Darakjy
Stacey M Morasca
Maisha B Wieser
Silvio H Rim
Clifford S Dilliard
Ricardo R Venere
Darci C Morasca
Salvatore M Garufi
Octavia G Bolognia
Leja C Stockham
Octavia K Malet
Salvatore J Whobrey
Stacey Q Doe
Antonio B Dilliard
Morrow G Wieser
Maria H Ferencz
Johnson W Inouye
Ashley L Glick
Maria Z Glick
Claire K Amigon
Rodrigues C Sergi
Isabel V Ruta
Deepesh O Stockham
Octavia O Slusarski
Maria O Kolmetz
Darci O Bowley
Juan E Perin
Kaitlin E Ferencz
Maisha E Foller
Stacey F Dilliard
Aruna D Rulapaugh
Adams P Butt
Maria V Wieser
Adams A Amigon
Adams T Rim
Stacey G Nicka
Misaki Q Dilliard
Kaitlin Y Vocelka
Adams W Wieser
Isabel R Oldroyd
Murillo G Darakjy
Misaki L Rulapaugh
Francesco N Venere
Leja H Caudy
Morrow D Stockham
Isabel H Kusko
IdCountryDate
1000Spain2024-05-09
1001Argentina2024-05-24
1002Japan2024-05-15
1003Italy2024-05-23
1004Italy2024-04-28
1005Brazil2024-05-03
1006France2024-05-10
1007Spain2024-04-29
1008France2024-04-30
1009Australia2024-05-06
1010Japan2024-05-03
1011Australia2024-05-23
1012Brazil2024-05-02
1013Argentina2024-05-18
1014France2024-05-08
1015Spain2024-04-29
1016Spain2024-05-16
1017India2024-05-16
1018Spain2024-05-20
1019United Kingdom2024-05-16
1020Italy2024-04-30
1021Brazil2024-05-17
1022Germany2024-05-12
1023Japan2024-05-20
1024Germany2024-05-11
1025Canada2024-05-25
1026Japan2024-05-21
1027Australia2024-05-16
1028Germany2024-05-27
1029Canada2024-04-30
1030Canada2024-05-20
1031Germany2024-05-04
1032Argentina2024-05-14
1033France2024-05-20
1034Argentina2024-05-21
1035Japan2024-05-13
1036Germany2024-05-18
1037Australia2024-04-30
1038United Kingdom2024-05-22
1039France2024-05-17
1040Germany2024-05-08
1041Germany2024-05-12
1042France2024-05-18
1043Canada2024-05-17
1044India2024-05-05
1045India2024-05-10
1046Australia2024-05-25
1047United Kingdom2024-05-01
1048United Kingdom2024-05-02
1049Japan2024-05-10

On-Demand Data

NameIdCountryDate
Nicolas O Amigon1000France2024-05-24
Kaitlin T Perin1001France2024-05-08
Murillo I Malet1002Russia2024-05-03
Jeanfrancois U Paprocki1003Argentina2024-05-21
Adams L Shinko1004Australia2024-05-21
Aika G Sergi1005Russia2024-05-09
Francesco P Caldarera1006Spain2024-05-05
James M Rulapaugh1007Brazil2024-05-27
Ivar P Poquette1008Italy2024-05-07
Francesco N Wieser1009Japan2024-05-10
Tony J Perin1010Germany2024-04-29
Aruna T Foller1011India2024-05-16
Leja F Kusko1012Russia2024-05-25
Misaki L Marrier1013France2024-05-20
Claire W Albares1014India2024-05-21
Sinclair J Amigon1015Australia2024-05-25
Maria G Sergi1016Australia2024-04-28
Isabel M Dilliard1017Spain2024-05-14
Kaitlin I Gaucho1018Australia2024-05-04
Claire G Kusko1019Italy2024-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Y TollnerGermanyAsiya Javayant NEGOTIATION
Chavez G BriddickBrazilOnyama Limba NEW
Isabel R PaprockiCanadaIoni Bowcher PROPOSAL
Leja L CaldareraArgentinaElwin Sharvill QUALIFIED
Sinclair Q GlickCanadaBernardo Dominic PROPOSAL
Claire K PaprockiAustraliaStephen Shaw UNQUALIFIED
Juan L WaycottCanadaStephen Shaw PROPOSAL
Jeanfrancois L FerenczFranceAsiya Javayant NEGOTIATION
Arvin E KuskoIndiaAmy Elsner NEW
Darci H OldroydFranceXuxue Feng QUALIFIED
Tony K ButtCanadaBernardo Dominic NEW
Ricardo N DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Jennifer R AmigonBrazilAsiya Javayant UNQUALIFIED
Octavia X MarrierItalyIvan Magalhaes NEGOTIATION
Jefferson X GillianFranceAsiya Javayant NEW
Claire D GauchoAustraliaIvan Magalhaes PROPOSAL
Murillo V CaudySpainOnyama Limba NEGOTIATION
Morrow D FerenczRussiaAsiya Javayant QUALIFIED
Leon O PerinUnited KingdomAsiya Javayant PROPOSAL
Leon A FlosiGermanyXuxue Feng NEGOTIATION
Alejandro C AlbaresCanadaAsiya Javayant NEW
Juan R SchemmerItalyElwin Sharvill PROPOSAL
Mujtaba J GlickGermanyAsiya Javayant RENEWAL
Mayumi S BowleyArgentinaIoni Bowcher PROPOSAL
Salvatore F SchemmerAustraliaElwin Sharvill QUALIFIED
Jones J NickaFranceIvan Magalhaes QUALIFIED
Juan S AlbaresFranceAsiya Javayant UNQUALIFIED
Antonio C GarufiIndiaAnna Fali NEGOTIATION
Ashley V RoysterFranceXuxue Feng RENEWAL
James N WieserUnited KingdomStephen Shaw NEGOTIATION
Julie Y RimJapanOnyama Limba NEGOTIATION
Wickens D SchemmerJapanIvan Magalhaes QUALIFIED
Francesco D MaletCanadaBernardo Dominic NEGOTIATION
Jeanfrancois I MaletFranceAmy Elsner UNQUALIFIED
Isabel Z GlickRussiaIvan Magalhaes UNQUALIFIED
Arvin T RutaAustraliaStephen Shaw PROPOSAL
Jeanfrancois L SchemmerFranceAsiya Javayant NEW
James N ChuiBrazilIvan Magalhaes QUALIFIED
Claire H FerenczGermanyIvan Magalhaes UNQUALIFIED
Emily O WaycottCanadaXuxue Feng 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>