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
Juan M GillianUnited KingdomBernardo Dominic NEW
Costa Q PaprockiFranceXuxue Feng RENEWAL
Julie L MaletFranceOnyama Limba UNQUALIFIED
Wickens A GarufiFranceAnna Fali RENEWAL
Antonio P GauchoAustraliaBernardo Dominic UNQUALIFIED
Isabel J SaylorsArgentinaAnna Fali NEW
Deepesh H WhobreyIndiaStephen Shaw UNQUALIFIED
Nicolas C RoysterFranceAmy Elsner QUALIFIED
Stacey U VocelkaFranceIvan Magalhaes RENEWAL
David W VocelkaBrazilAsiya Javayant UNQUALIFIED
Wickens B InouyeBrazilAnna Fali NEW
Jefferson H GauchoAustraliaBernardo Dominic NEW
Izzy Q PoquetteGermanyIvan Magalhaes NEW
Leon U MaletFranceXuxue Feng QUALIFIED
Francesco F CaudySpainXuxue Feng UNQUALIFIED
Claire C MorascaCanadaAsiya Javayant UNQUALIFIED
Darci H InouyeUnited KingdomElwin Sharvill NEW
Clifford Q SergiSpainOnyama Limba NEW
Octavia B CaldareraItalyIvan Magalhaes RENEWAL
Francesco L PoquetteIndiaIvan Magalhaes PROPOSAL
Jefferson A FerenczJapanOnyama Limba PROPOSAL
Izzy O GillianCanadaOnyama Limba NEW
Arvin L DarakjyJapanIvan Magalhaes RENEWAL
Izzy U InouyeSpainXuxue Feng PROPOSAL
Julie T DilliardSpainAnna Fali NEGOTIATION
Silvio C DarakjyUnited KingdomIvan Magalhaes NEW
Claire K KolmetzFranceOnyama Limba NEGOTIATION
Wickens I TollnerItalyElwin Sharvill NEW
Kadeem A WaycottBrazilIvan Magalhaes NEGOTIATION
Mujtaba C RoysterBrazilOnyama Limba UNQUALIFIED
Salvatore K RutaJapanAnna Fali NEGOTIATION
Antonio U KolmetzItalyXuxue Feng UNQUALIFIED
Izzy D ShinkoGermanyAsiya Javayant PROPOSAL
Johnson F RulapaughArgentinaElwin Sharvill NEGOTIATION
Deepesh H GarufiFranceBernardo Dominic PROPOSAL
Juan R AmigonBrazilAnna Fali NEW
Mujtaba R MorascaRussiaBernardo Dominic UNQUALIFIED
Izzy C BriddickBrazilAnna Fali PROPOSAL
Jones Z WhobreySpainAnna Fali NEW
Costa M VenereGermanyElwin Sharvill UNQUALIFIED
Ivar D SergiAustraliaXuxue Feng QUALIFIED
Murillo Y RutaGermanyStephen Shaw PROPOSAL
Emily P InouyeJapanIvan Magalhaes PROPOSAL
Clifford A WhobreyArgentinaAsiya Javayant NEW
Cody D ShinkoBrazilIoni Bowcher PROPOSAL
Mayumi O SaylorsFranceStephen Shaw PROPOSAL
Emily S PaprockiCanadaElwin Sharvill RENEWAL
Mayumi Q GillianBrazilBernardo Dominic NEGOTIATION
Octavia M WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore A VocelkaCanadaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy X TollnerUnited KingdomElwin Sharvill RENEWAL
Faith Z CaudyArgentinaElwin Sharvill QUALIFIED
Deepesh V NestleArgentinaBernardo Dominic QUALIFIED
Isabel W InouyeJapanAsiya Javayant RENEWAL
Sinclair G WieserFranceBernardo Dominic PROPOSAL
Clifford W ButtFranceStephen Shaw PROPOSAL
Costa A PaprockiSpainElwin Sharvill QUALIFIED
Kadeem O AlbaresRussiaAsiya Javayant NEW
Mayumi K CaudyItalyIvan Magalhaes NEGOTIATION
Murillo W OstroskySpainOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin E SergiSpain2024-05-27Feltz Printing Service QUALIFIED23Asiya Javayant
1001Morrow H CampainFrance2024-06-11Feiner Bros NEW84Elwin Sharvill
1002Aika P TollnerJapan2024-06-07King, Christopher A Esq PROPOSAL74Ioni Bowcher
1003Aruna L DoeSpain2024-06-05Feltz Printing Service PROPOSAL75Xuxue Feng
1004Juan H MorascaBrazil2024-06-10Commercial Press NEGOTIATION95Onyama Limba
1005Aruna D WhobreyArgentina2024-06-05Rangoni Of Florence PROPOSAL46Ivan Magalhaes
1006Leja A SchemmerFrance2024-05-27Dorl, James J Esq NEGOTIATION40Onyama Limba
1007Isabel X ShinkoUnited Kingdom2024-06-12Chanay, Jeffrey A Esq QUALIFIED53Anna Fali
1008Julie H MaletRussia2024-06-02Rangoni Of Florence RENEWAL39Elwin Sharvill
1009Ashley A PoquetteRussia2024-06-01Commercial Press PROPOSAL70Onyama Limba
1010Claire X WhobreyCanada2024-05-26King, Christopher A Esq NEGOTIATION75Onyama Limba
1011Deepesh B CaudyBrazil2024-06-01Feiner Bros UNQUALIFIED3Onyama Limba
1012Jones Q GlickBrazil2024-05-26Feiner Bros RENEWAL84Elwin Sharvill
1013Kadeem C KolmetzCanada2024-06-11Feiner Bros QUALIFIED9Elwin Sharvill
1014Antonio M SergiRussia2024-06-13Rangoni Of Florence NEGOTIATION74Amy Elsner
1015Rodrigues P AlbaresFrance2024-05-30Benton, John B Jr RENEWAL14Asiya Javayant
1016Johnson P BowleyArgentina2024-05-29Feiner Bros RENEWAL84Asiya Javayant
1017Francesco Z KuskoAustralia2024-06-17Benton, John B Jr UNQUALIFIED75Ioni Bowcher
1018Salvatore Z WhobreyCanada2024-05-23King, Christopher A Esq RENEWAL62Anna Fali
1019Izzy D SergiFrance2024-06-02Feltz Printing Service NEW65Elwin Sharvill
1020Kaitlin S CaudyUnited Kingdom2024-05-31Rousseaux, Michael Esq QUALIFIED89Bernardo Dominic
1021Adams S TollnerCanada2024-06-01Chanay, Jeffrey A Esq NEGOTIATION34Elwin Sharvill
1022Costa Y PerinArgentina2024-05-28Chanay, Jeffrey A Esq QUALIFIED93Bernardo Dominic
1023Stacey P RoysterBrazil2024-05-30Chemel, James L Cpa NEGOTIATION18Elwin Sharvill
1024Rodrigues A DilliardRussia2024-06-10Rousseaux, Michael Esq PROPOSAL66Ioni Bowcher
1025Maria J StensethRussia2024-06-17Morlong Associates QUALIFIED76Bernardo Dominic
1026Adams R FigeroaArgentina2024-06-08Rangoni Of Florence UNQUALIFIED77Ioni Bowcher
1027Misaki D FlosiIndia2024-06-09Rangoni Of Florence RENEWAL51Ioni Bowcher
1028Jennifer E KolmetzGermany2024-06-01Feiner Bros UNQUALIFIED73Onyama Limba
1029Morrow S GauchoItaly2024-06-08Benton, John B Jr QUALIFIED63Onyama Limba
1030Octavia T VocelkaIndia2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED57Amy Elsner
1031Isabel F RimFrance2024-05-24Truhlar And Truhlar Attys NEGOTIATION40Bernardo Dominic
1032Izzy E AlbaresIndia2024-05-22Feltz Printing Service NEGOTIATION71Bernardo Dominic
1033Jefferson U NickaCanada2024-06-03Rousseaux, Michael Esq QUALIFIED42Bernardo Dominic
1034Aika B PoquetteItaly2024-06-05Printing Dimensions NEGOTIATION40Anna Fali
1035Sinclair B FerenczBrazil2024-05-27Feiner Bros NEW20Xuxue Feng
1036Maisha Y WhobreyIndia2024-05-30Truhlar And Truhlar Attys NEW89Onyama Limba
1037Salvatore I RimIndia2024-06-02Dorl, James J Esq RENEWAL53Bernardo Dominic
1038Jeanfrancois S MarrierFrance2024-05-31Morlong Associates UNQUALIFIED18Bernardo Dominic
1039Deepesh K ChuiFrance2024-06-20King, Christopher A Esq QUALIFIED16Anna Fali
1040Rodrigues F FerenczIndia2024-06-18Buckley Miller Wright QUALIFIED75Stephen Shaw
1041Leon K StockhamBrazil2024-05-28Chemel, James L Cpa NEW29Ioni Bowcher
1042Antonio S OldroydGermany2024-06-06Buckley Miller Wright PROPOSAL3Ivan Magalhaes
1043Smith F ButtItaly2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED40Ioni Bowcher
1044Izzy Y PaprockiIndia2024-06-04Chanay, Jeffrey A Esq QUALIFIED56Elwin Sharvill
1045Adams V NickaArgentina2024-05-29Morlong Associates UNQUALIFIED77Ivan Magalhaes
1046Kadeem E RoysterRussia2024-06-02Printing Dimensions RENEWAL88Asiya Javayant
1047Rodrigues M AmigonUnited Kingdom2024-06-03Feiner Bros PROPOSAL53Ivan Magalhaes
1048Stacey R SaylorsGermany2024-06-04Feltz Printing Service UNQUALIFIED59Onyama Limba
1049Aditya P KuskoIndia2024-06-02Commercial Press UNQUALIFIED4Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Juan I RimBrazilStephen Shaw NEGOTIATION
Cody F MacleadSpainIvan Magalhaes NEGOTIATION
Greenwood H BriddickArgentinaIoni Bowcher QUALIFIED
Silvio M FollerFranceStephen Shaw NEGOTIATION
Alejandro A BriddickAustraliaXuxue Feng NEGOTIATION
David I DarakjyItalyXuxue Feng NEGOTIATION
Juan E MarrierSpainElwin Sharvill PROPOSAL
Salvatore E GarufiUnited KingdomXuxue Feng NEGOTIATION
Wickens M MacleadRussiaBernardo Dominic NEW
James H FlosiArgentinaOnyama Limba UNQUALIFIED
Morrow M SergiItalyBernardo Dominic QUALIFIED
Alejandro D StensethUnited KingdomElwin Sharvill PROPOSAL
Tony X SergiRussiaAnna Fali RENEWAL
Mujtaba F FerenczRussiaXuxue Feng NEW
Kadeem W OldroydBrazilAsiya Javayant QUALIFIED
James B FerenczItalyElwin Sharvill RENEWAL
Arvin V DarakjySpainXuxue Feng PROPOSAL
Sinclair J VenereAustraliaBernardo Dominic NEW
Leon K SaylorsCanadaAnna Fali NEW
Ivar S DilliardSpainBernardo Dominic RENEWAL
Smith P SlusarskiRussiaAsiya Javayant UNQUALIFIED
Alejandro O DilliardUnited KingdomOnyama Limba PROPOSAL
Julie T OstroskyRussiaStephen Shaw NEW
Chavez Z GauchoArgentinaOnyama Limba QUALIFIED
Salvatore E WieserArgentinaXuxue Feng QUALIFIED
Costa K FerenczAustraliaAmy Elsner NEGOTIATION
Clifford I GlickGermanyAmy Elsner QUALIFIED
Isabel T GlickArgentinaOnyama Limba PROPOSAL
Jennifer U KolmetzCanadaXuxue Feng PROPOSAL
Arvin J AmigonArgentinaAmy Elsner PROPOSAL
Nicolas Q InouyeJapanOnyama Limba QUALIFIED
Aruna A GillianJapanIvan Magalhaes RENEWAL
Julie V OldroydAustraliaOnyama Limba UNQUALIFIED
Izzy X AmigonGermanyBernardo Dominic QUALIFIED
Leja E MarrierArgentinaIoni Bowcher PROPOSAL
Jones U GillianItalyElwin Sharvill RENEWAL
Mujtaba N CaudyJapanXuxue Feng UNQUALIFIED
Kadeem X MarrierJapanBernardo Dominic RENEWAL
David H ButtAustraliaXuxue Feng PROPOSAL
Jefferson E KuskoBrazilStephen Shaw UNQUALIFIED
Antonio Z WaycottBrazilIvan Magalhaes PROPOSAL
Isabel X GarufiRussiaOnyama Limba PROPOSAL
Stacey M BriddickAustraliaXuxue Feng PROPOSAL
Alejandro B GillianIndiaAmy Elsner RENEWAL
Munro Z GlickArgentinaOnyama Limba NEGOTIATION
Kadeem Z RulapaughCanadaBernardo Dominic RENEWAL
Misaki G BologniaAustraliaAmy Elsner PROPOSAL
Nicolas O MorascaCanadaElwin Sharvill RENEWAL
Darci Y MorascaAustraliaXuxue Feng NEGOTIATION
Salvatore W FigeroaItalyAmy Elsner PROPOSAL
Frozen Columns
Name
Ricardo I Tollner
David P Albares
Jennifer X Chui
Juan I Inouye
Jennifer Q Malet
Munro I Doe
Mujtaba R Inouye
Maria Q Darakjy
Cody T Gaucho
Maisha C Campain
Kadeem V Saylors
Smith V Morasca
Stacey S Marrier
Johnson C Amigon
Darci V Nicka
Munro A Rulapaugh
Wickens I Perin
Ivar H Slusarski
Claire L Oldroyd
Costa Y Ruta
Tony Y Morasca
Adams Q Rim
Alejandro A Campain
Antonio Y Vocelka
Maria K Butt
Claire P Waycott
Kadeem S Saylors
James H Malet
Arvin P Royster
Murillo H Paprocki
Silvio B Wieser
Ricardo A Garufi
Aditya J Glick
Kadeem C Waycott
Murillo P Albares
Kadeem A Campain
Nicolas Z Ruta
Tony N Ruta
Jeanfrancois T Shinko
Mayumi P Caudy
Octavia G Slusarski
Johnson V Albares
Jefferson R Ferencz
Adams F Shinko
Arvin S Albares
Leon H Ferencz
Leja I Inouye
David E Oldroyd
Maisha K Flosi
Isabel F Maclead
IdCountryDate
1000Australia2024-06-08
1001Brazil2024-06-03
1002Italy2024-06-11
1003Japan2024-06-18
1004Italy2024-05-30
1005Germany2024-06-20
1006Argentina2024-06-01
1007Canada2024-05-29
1008Germany2024-05-30
1009Russia2024-05-28
1010United Kingdom2024-05-29
1011Russia2024-05-26
1012Japan2024-06-07
1013Japan2024-05-27
1014Canada2024-06-13
1015United Kingdom2024-06-16
1016France2024-05-30
1017United Kingdom2024-05-22
1018India2024-06-12
1019Australia2024-05-26
1020Brazil2024-06-01
1021Argentina2024-06-15
1022India2024-05-27
1023Australia2024-06-11
1024Spain2024-05-28
1025Germany2024-05-28
1026Japan2024-05-26
1027Germany2024-05-23
1028Argentina2024-05-25
1029France2024-05-25
1030Brazil2024-05-23
1031France2024-05-27
1032Germany2024-06-03
1033Argentina2024-05-26
1034Spain2024-06-11
1035Australia2024-06-06
1036Brazil2024-06-12
1037France2024-05-31
1038Russia2024-05-29
1039Germany2024-06-18
1040Brazil2024-06-12
1041Italy2024-05-31
1042Canada2024-05-24
1043United Kingdom2024-05-31
1044United Kingdom2024-06-16
1045Russia2024-06-18
1046Australia2024-06-06
1047Japan2024-05-22
1048Italy2024-06-15
1049India2024-06-18

On-Demand Data

NameIdCountryDate
David X Paprocki1000Italy2024-06-03
Kaitlin W Figeroa1001Brazil2024-06-20
Johnson Z Gillian1002Germany2024-06-03
Costa B Gaucho1003Canada2024-06-16
Isabel J Schemmer1004Italy2024-05-24
Costa E Flosi1005India2024-06-13
Isabel A Maclead1006Brazil2024-05-23
Mayumi J Schemmer1007Japan2024-06-04
Mujtaba D Shinko1008Italy2024-06-07
Aditya F Bolognia1009Australia2024-05-29
Tony M Schemmer1010Italy2024-05-24
Alejandro Q Dilliard1011Germany2024-06-05
Kadeem N Royster1012Italy2024-05-25
Aruna Y Marrier1013Spain2024-05-24
Munro C Bowley1014India2024-06-11
Leon O Waycott1015Japan2024-06-12
Claire I Gaucho1016France2024-05-29
Arvin P Stenseth1017Germany2024-05-30
James N Flosi1018France2024-05-28
David V Albares1019France2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley F WieserGermanyXuxue Feng QUALIFIED
Chavez H WhobreyIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois O PoquetteBrazilAsiya Javayant NEGOTIATION
Murillo V FigeroaUnited KingdomXuxue Feng QUALIFIED
Alejandro C KuskoAustraliaAmy Elsner QUALIFIED
David H ButtFranceAsiya Javayant NEW
Kadeem E PaprockiGermanyXuxue Feng NEGOTIATION
Leja B VocelkaJapanAsiya Javayant RENEWAL
Silvio S KolmetzGermanyOnyama Limba NEW
Adams Y RoysterArgentinaAnna Fali PROPOSAL
Costa Q FigeroaIndiaAmy Elsner QUALIFIED
James L DarakjyGermanyIvan Magalhaes UNQUALIFIED
Silvio G AlbaresAustraliaStephen Shaw PROPOSAL
Silvio H WhobreyRussiaAnna Fali PROPOSAL
Jennifer Q FigeroaArgentinaElwin Sharvill QUALIFIED
Jennifer H NickaFranceAsiya Javayant NEW
Isabel I GillianUnited KingdomIvan Magalhaes RENEWAL
Maria T CaldareraGermanyElwin Sharvill RENEWAL
Murillo J RutaBrazilAsiya Javayant NEW
Jefferson I KuskoJapanStephen Shaw RENEWAL
Jefferson B ButtCanadaIoni Bowcher UNQUALIFIED
Stacey C KolmetzCanadaAnna Fali NEW
Sinclair O BriddickAustraliaElwin Sharvill QUALIFIED
Rodrigues T BologniaUnited KingdomOnyama Limba UNQUALIFIED
Aruna Z IturbideGermanyAnna Fali UNQUALIFIED
Murillo C FollerItalyBernardo Dominic NEGOTIATION
Wickens E GauchoArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois L ButtBrazilIvan Magalhaes PROPOSAL
Aditya Q CaldareraFranceAnna Fali NEGOTIATION
Johnson C IturbideSpainOnyama Limba NEW
Emily P KolmetzArgentinaOnyama Limba UNQUALIFIED
Stacey X KuskoFranceIvan Magalhaes NEGOTIATION
Isabel H ButtItalyElwin Sharvill PROPOSAL
Francesco O CampainRussiaIoni Bowcher UNQUALIFIED
Rodrigues B CampainAustraliaXuxue Feng UNQUALIFIED
Munro F SergiUnited KingdomIvan Magalhaes PROPOSAL
Wickens H VocelkaArgentinaXuxue Feng PROPOSAL
Kadeem E FollerRussiaOnyama Limba NEGOTIATION
Arvin X IturbideIndiaIoni Bowcher NEW
Jennifer A GarufiIndiaXuxue Feng 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>