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
Aruna E WieserBrazilIoni Bowcher NEGOTIATION
Jones D SlusarskiSpainAnna Fali UNQUALIFIED
Maria D StensethRussiaXuxue Feng RENEWAL
Adams R DilliardIndiaBernardo Dominic RENEWAL
Jones Y ShinkoItalyXuxue Feng PROPOSAL
Octavia Z PaprockiCanadaAmy Elsner UNQUALIFIED
Smith A InouyeUnited KingdomStephen Shaw RENEWAL
Octavia E ButtJapanAnna Fali QUALIFIED
Maisha Y SaylorsCanadaBernardo Dominic QUALIFIED
Morrow C CaudyArgentinaAsiya Javayant NEW
David R PaprockiArgentinaOnyama Limba UNQUALIFIED
Maria W RimIndiaElwin Sharvill PROPOSAL
Morrow G IturbideAustraliaBernardo Dominic NEW
Munro S MacleadIndiaStephen Shaw UNQUALIFIED
Deepesh K RutaUnited KingdomBernardo Dominic NEW
Tony R IturbideIndiaOnyama Limba QUALIFIED
Izzy W RoysterAustraliaElwin Sharvill QUALIFIED
Francesco P BowleyIndiaAnna Fali NEGOTIATION
Johnson X DilliardSpainOnyama Limba NEGOTIATION
Stacey T ButtFranceIvan Magalhaes NEW
Emily Y AlbaresBrazilBernardo Dominic QUALIFIED
Faith A PaprockiUnited KingdomAsiya Javayant NEW
Jeanfrancois U KuskoIndiaOnyama Limba QUALIFIED
Mayumi F SaylorsArgentinaXuxue Feng RENEWAL
Clifford H DilliardRussiaAsiya Javayant RENEWAL
Mayumi A WieserBrazilStephen Shaw PROPOSAL
Arvin O RoysterBrazilIvan Magalhaes RENEWAL
Claire I DilliardItalyAmy Elsner NEGOTIATION
Octavia I InouyeItalyIoni Bowcher PROPOSAL
Smith S TollnerAustraliaElwin Sharvill QUALIFIED
Nicolas Y DoeArgentinaElwin Sharvill NEW
Arvin M IturbideRussiaAnna Fali NEW
Kadeem F SergiSpainAsiya Javayant QUALIFIED
Kadeem R BowleyItalyIoni Bowcher NEW
Cody T RulapaughItalyXuxue Feng RENEWAL
Wickens K AlbaresGermanyStephen Shaw NEW
Stacey H GauchoRussiaAmy Elsner NEW
Silvio B NestleBrazilElwin Sharvill UNQUALIFIED
Stacey P SaylorsArgentinaAmy Elsner NEGOTIATION
Tony M VocelkaBrazilElwin Sharvill NEW
Juan B SlusarskiSpainBernardo Dominic PROPOSAL
Ivar O KuskoGermanyIoni Bowcher UNQUALIFIED
Faith E FigeroaCanadaBernardo Dominic NEW
Cody I MarrierItalyAsiya Javayant PROPOSAL
Aditya Z TollnerUnited KingdomIvan Magalhaes NEW
Stacey S ChuiUnited KingdomXuxue Feng NEGOTIATION
Ivar L GarufiAustraliaAsiya Javayant NEGOTIATION
Smith M CaldareraCanadaIoni Bowcher QUALIFIED
Aika J RoysterArgentinaIvan Magalhaes UNQUALIFIED
Leon X AlbaresCanadaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Aditya I CampainCanadaOnyama Limba UNQUALIFIED
Mujtaba Z MaletSpainIvan Magalhaes NEW
Greenwood R VocelkaCanadaXuxue Feng UNQUALIFIED
Jennifer N NickaArgentinaXuxue Feng RENEWAL
Aruna P KuskoArgentinaIvan Magalhaes PROPOSAL
Murillo B NickaUnited KingdomElwin Sharvill PROPOSAL
Kaitlin T SaylorsCanadaElwin Sharvill UNQUALIFIED
Chavez M TollnerGermanyOnyama Limba PROPOSAL
Ivar M GarufiRussiaAnna Fali PROPOSAL
Mujtaba K FerenczSpainAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo F InouyeIndia2024-05-20Rousseaux, Michael Esq UNQUALIFIED63Stephen Shaw
1001Maria L InouyeSpain2024-05-15Chemel, James L Cpa UNQUALIFIED49Onyama Limba
1002Octavia X GillianGermany2024-05-20Feltz Printing Service RENEWAL24Onyama Limba
1003James P ShinkoItaly2024-05-08Chapman, Ross E Esq NEGOTIATION9Ioni Bowcher
1004Juan M CampainBrazil2024-05-22King, Christopher A Esq PROPOSAL78Ivan Magalhaes
1005Francesco G IturbideAustralia2024-05-01Feltz Printing Service NEW90Ioni Bowcher
1006Chavez X DarakjyBrazil2024-05-17Chemel, James L Cpa RENEWAL38Ivan Magalhaes
1007Clifford D RimFrance2024-05-10Chanay, Jeffrey A Esq NEGOTIATION87Stephen Shaw
1008Munro C KolmetzGermany2024-05-17Chapman, Ross E Esq QUALIFIED96Asiya Javayant
1009Mayumi F BowleyIndia2024-05-25Buckley Miller Wright PROPOSAL84Onyama Limba
1010Faith M ShinkoSpain2024-05-11Benton, John B Jr QUALIFIED61Asiya Javayant
1011Octavia L MacleadUnited Kingdom2024-05-06Commercial Press NEGOTIATION7Stephen Shaw
1012Jeanfrancois G WaycottSpain2024-05-04Truhlar And Truhlar Attys RENEWAL68Ivan Magalhaes
1013Costa Y GillianAustralia2024-05-07Dorl, James J Esq NEGOTIATION7Ivan Magalhaes
1014Kadeem H DoeGermany2024-04-27Rousseaux, Michael Esq PROPOSAL57Ivan Magalhaes
1015Tony R SlusarskiIndia2024-04-29Chapman, Ross E Esq NEW88Onyama Limba
1016Adams K MaletGermany2024-05-10Printing Dimensions NEGOTIATION87Ioni Bowcher
1017Julie X PaprockiFrance2024-05-01Feiner Bros PROPOSAL4Xuxue Feng
1018Salvatore F BologniaArgentina2024-05-20Chanay, Jeffrey A Esq NEW17Elwin Sharvill
1019Sinclair W IturbideIndia2024-05-03Rousseaux, Michael Esq PROPOSAL22Anna Fali
1020Misaki O AmigonFrance2024-05-20Truhlar And Truhlar Attys QUALIFIED29Amy Elsner
1021Darci L MarrierArgentina2024-04-27Commercial Press RENEWAL70Onyama Limba
1022Nicolas L GauchoAustralia2024-05-06Feiner Bros NEGOTIATION30Elwin Sharvill
1023Francesco V PoquetteJapan2024-05-23Printing Dimensions QUALIFIED74Ioni Bowcher
1024Leon D MaletGermany2024-05-20Chanay, Jeffrey A Esq QUALIFIED63Xuxue Feng
1025Leon T RimAustralia2024-05-18Chemel, James L Cpa QUALIFIED91Elwin Sharvill
1026Jefferson H MaletIndia2024-05-22Morlong Associates NEW59Asiya Javayant
1027Darci G RoysterCanada2024-04-29King, Christopher A Esq PROPOSAL52Ioni Bowcher
1028Aditya T StensethUnited Kingdom2024-04-30Feltz Printing Service UNQUALIFIED94Amy Elsner
1029Nicolas R ShinkoBrazil2024-05-03Chemel, James L Cpa UNQUALIFIED51Bernardo Dominic
1030Darci D StockhamArgentina2024-05-14Printing Dimensions NEW34Ioni Bowcher
1031Morrow I KuskoGermany2024-04-29Chapman, Ross E Esq NEW10Amy Elsner
1032Alejandro M WaycottAustralia2024-05-01Buckley Miller Wright RENEWAL31Xuxue Feng
1033Deepesh Q MaletRussia2024-05-19Chapman, Ross E Esq NEGOTIATION91Onyama Limba
1034Stacey G BologniaAustralia2024-05-16Printing Dimensions NEW86Stephen Shaw
1035Chavez G BologniaBrazil2024-04-29Feltz Printing Service UNQUALIFIED41Ioni Bowcher
1036Aika F ShinkoSpain2024-05-10Morlong Associates NEW71Elwin Sharvill
1037Ricardo V TollnerGermany2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED24Ivan Magalhaes
1038Costa I VenereGermany2024-05-08Feiner Bros NEGOTIATION57Xuxue Feng
1039Kaitlin Q MorascaUnited Kingdom2024-05-09Rousseaux, Michael Esq PROPOSAL12Xuxue Feng
1040Clifford W GarufiFrance2024-05-24Commercial Press RENEWAL47Ivan Magalhaes
1041Claire J ButtCanada2024-05-03Truhlar And Truhlar Attys NEW34Bernardo Dominic
1042Mujtaba W KolmetzAustralia2024-05-09Feltz Printing Service UNQUALIFIED52Elwin Sharvill
1043Morrow C DarakjyItaly2024-05-22Chemel, James L Cpa NEW1Ioni Bowcher
1044Misaki X OldroydAustralia2024-05-26Buckley Miller Wright QUALIFIED45Ioni Bowcher
1045James A NestleSpain2024-05-26Rangoni Of Florence RENEWAL80Amy Elsner
1046Mujtaba A SlusarskiBrazil2024-05-12King, Christopher A Esq RENEWAL33Ioni Bowcher
1047Izzy H OldroydIndia2024-05-25Printing Dimensions RENEWAL6Ivan Magalhaes
1048Arvin I WaycottGermany2024-05-25Printing Dimensions PROPOSAL57Amy Elsner
1049Wickens P DarakjyRussia2024-05-16Chemel, James L Cpa NEGOTIATION99Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ashley N PerinItalyAnna Fali PROPOSAL
Leon B FollerIndiaXuxue Feng NEGOTIATION
Adams D OstroskyAustraliaElwin Sharvill UNQUALIFIED
Kaitlin Z GarufiArgentinaXuxue Feng PROPOSAL
Arvin A SaylorsJapanBernardo Dominic UNQUALIFIED
Misaki J VenereCanadaAmy Elsner QUALIFIED
Deepesh Z PaprockiCanadaElwin Sharvill PROPOSAL
Faith U AmigonFranceStephen Shaw NEW
Leon N GillianBrazilAnna Fali UNQUALIFIED
Stacey C VocelkaItalyStephen Shaw UNQUALIFIED
Mujtaba U PerinSpainAsiya Javayant NEW
Julie O ChuiJapanXuxue Feng RENEWAL
Alejandro P NickaGermanyOnyama Limba RENEWAL
Rodrigues W VenereFranceElwin Sharvill NEGOTIATION
Leja R GillianUnited KingdomIoni Bowcher QUALIFIED
Aika J ShinkoJapanOnyama Limba NEGOTIATION
Mayumi T TollnerAustraliaStephen Shaw RENEWAL
Adams M NestleAustraliaXuxue Feng NEW
Cody C FollerItalyIoni Bowcher NEW
Claire D GlickUnited KingdomStephen Shaw PROPOSAL
Smith I MaletArgentinaStephen Shaw PROPOSAL
Kaitlin E DoeUnited KingdomAsiya Javayant NEW
Misaki B MacleadSpainElwin Sharvill NEW
Mujtaba A VenereSpainBernardo Dominic NEW
Chavez W PoquetteItalyBernardo Dominic QUALIFIED
Mayumi J DilliardIndiaIvan Magalhaes UNQUALIFIED
Aruna F BriddickRussiaAsiya Javayant QUALIFIED
Johnson N RoysterAustraliaIoni Bowcher QUALIFIED
Deepesh K FerenczIndiaIvan Magalhaes NEGOTIATION
Claire Z ShinkoIndiaElwin Sharvill NEW
Cody M GauchoArgentinaAnna Fali QUALIFIED
Claire S AlbaresUnited KingdomXuxue Feng RENEWAL
Alejandro U WieserSpainAsiya Javayant UNQUALIFIED
Ashley W NestleCanadaXuxue Feng PROPOSAL
Silvio R WhobreyIndiaAsiya Javayant RENEWAL
Emily B SlusarskiIndiaXuxue Feng QUALIFIED
Costa Z StockhamSpainXuxue Feng NEW
Kadeem V SlusarskiSpainIoni Bowcher UNQUALIFIED
Smith T GlickGermanyStephen Shaw UNQUALIFIED
Rodrigues Y DarakjyGermanyAmy Elsner UNQUALIFIED
Kaitlin F FlosiJapanIvan Magalhaes PROPOSAL
Johnson V SaylorsJapanXuxue Feng RENEWAL
Morrow X GlickItalyIoni Bowcher NEGOTIATION
Stacey B FlosiIndiaAmy Elsner NEW
Jeanfrancois W CaldareraGermanyIoni Bowcher NEGOTIATION
Stacey Y WhobreyArgentinaIvan Magalhaes NEGOTIATION
Mayumi S CaldareraGermanyAnna Fali RENEWAL
Jefferson S WhobreyCanadaStephen Shaw NEGOTIATION
Sinclair F OldroydFranceXuxue Feng UNQUALIFIED
Misaki O BriddickGermanyOnyama Limba PROPOSAL
Frozen Columns
Name
Jeanfrancois S Albares
Ashley T Perin
Greenwood F Kusko
Juan M Albares
Costa N Royster
Mujtaba Y Stenseth
Costa C Stockham
Johnson Q Campain
Rodrigues T Tollner
James N Doe
Ashley T Morasca
James G Garufi
Jeanfrancois A Poquette
Sinclair K Rulapaugh
Clifford J Albares
Jeanfrancois J Flosi
Francesco G Venere
Jeanfrancois E Poquette
Rodrigues P Bowley
Sinclair T Inouye
Smith Y Schemmer
Mayumi V Flosi
Octavia L Slusarski
Leon B Albares
Misaki X Campain
Izzy C Rim
Izzy K Stenseth
Antonio F Iturbide
Smith P Sergi
Stacey J Saylors
Chavez I Campain
Izzy T Maclead
Jennifer C Foller
Leon E Gillian
Greenwood M Malet
Morrow F Shinko
Antonio O Maclead
Isabel B Poquette
David Q Ferencz
Rodrigues G Malet
Smith E Foller
Salvatore C Foller
Ricardo E Rim
Jennifer Z Gillian
Tony X Ostrosky
Greenwood U Nestle
Jeanfrancois W Rulapaugh
Salvatore A Stockham
Isabel P Briddick
Johnson P Dilliard
IdCountryDate
1000Brazil2024-05-11
1001Argentina2024-05-10
1002United Kingdom2024-05-13
1003Germany2024-05-21
1004Brazil2024-05-13
1005France2024-05-18
1006Brazil2024-05-04
1007India2024-05-02
1008Japan2024-05-14
1009India2024-05-14
1010Russia2024-05-26
1011Australia2024-05-05
1012United Kingdom2024-05-06
1013Russia2024-05-17
1014Germany2024-05-17
1015Argentina2024-04-30
1016Australia2024-05-01
1017United Kingdom2024-04-30
1018France2024-05-21
1019Germany2024-05-13
1020Argentina2024-05-05
1021France2024-05-02
1022Japan2024-05-02
1023France2024-05-16
1024Italy2024-05-19
1025Argentina2024-05-10
1026Canada2024-05-04
1027Spain2024-05-12
1028Italy2024-05-02
1029Italy2024-05-18
1030India2024-05-25
1031Canada2024-04-27
1032United Kingdom2024-05-15
1033Canada2024-05-09
1034Canada2024-05-19
1035Brazil2024-05-11
1036Spain2024-05-17
1037Russia2024-04-28
1038Brazil2024-05-24
1039Canada2024-05-03
1040Canada2024-05-09
1041India2024-04-27
1042India2024-05-13
1043Spain2024-05-04
1044Japan2024-05-10
1045United Kingdom2024-05-15
1046India2024-04-28
1047India2024-05-26
1048Russia2024-05-08
1049Russia2024-05-07

On-Demand Data

NameIdCountryDate
Silvio Z Schemmer1000Australia2024-05-10
Misaki E Marrier1001United Kingdom2024-05-20
Nicolas E Waycott1002Argentina2024-05-16
Tony N Venere1003Brazil2024-05-05
James N Inouye1004Russia2024-05-03
Maisha C Malet1005Canada2024-05-02
Antonio L Glick1006Argentina2024-05-18
Maria T Ruta1007Australia2024-05-09
Maria A Stenseth1008Italy2024-05-06
Adams E Tollner1009Italy2024-05-20
Arvin C Venere1010Brazil2024-05-08
Juan N Nestle1011Brazil2024-05-08
Johnson D Figeroa1012Brazil2024-05-15
Maria S Schemmer1013Japan2024-05-01
Jones F Ferencz1014Italy2024-04-29
Maisha H Inouye1015Argentina2024-05-15
Claire C Glick1016India2024-05-22
Smith J Shinko1017Germany2024-05-21
Chavez W Shinko1018Spain2024-05-02
Silvio I Dilliard1019United Kingdom2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika B MaletRussiaIvan Magalhaes QUALIFIED
Juan I CaudyBrazilAsiya Javayant QUALIFIED
Mujtaba X InouyeSpainAsiya Javayant NEGOTIATION
Wickens A VocelkaAustraliaStephen Shaw PROPOSAL
Salvatore X RoysterArgentinaStephen Shaw UNQUALIFIED
Nicolas Q InouyeIndiaIvan Magalhaes UNQUALIFIED
Salvatore G RimArgentinaIvan Magalhaes NEW
Arvin Z FigeroaAustraliaXuxue Feng NEW
Adams J NickaSpainIvan Magalhaes QUALIFIED
Antonio R WieserJapanIvan Magalhaes NEW
Darci C IturbideRussiaAsiya Javayant RENEWAL
Rodrigues Q DoeIndiaElwin Sharvill UNQUALIFIED
Wickens R KuskoArgentinaAsiya Javayant RENEWAL
Stacey K KolmetzItalyAsiya Javayant UNQUALIFIED
Ashley B GauchoCanadaAnna Fali RENEWAL
Smith Y MaletGermanyElwin Sharvill RENEWAL
Aditya U FollerFranceIoni Bowcher UNQUALIFIED
Aruna P BologniaArgentinaAnna Fali NEGOTIATION
Wickens E MaletRussiaAmy Elsner NEGOTIATION
Kadeem Q SergiJapanAnna Fali NEGOTIATION
Sinclair F StensethUnited KingdomIoni Bowcher PROPOSAL
Cody Y MorascaArgentinaElwin Sharvill UNQUALIFIED
Ricardo O GlickCanadaIoni Bowcher QUALIFIED
Greenwood U StensethIndiaIvan Magalhaes RENEWAL
Adams I StensethBrazilStephen Shaw QUALIFIED
Izzy D MacleadUnited KingdomXuxue Feng RENEWAL
David R NestleFranceIoni Bowcher PROPOSAL
Johnson V BowleyCanadaAnna Fali QUALIFIED
Murillo X TollnerItalyAmy Elsner NEGOTIATION
Costa S MorascaGermanyElwin Sharvill QUALIFIED
Maria Z VenereIndiaOnyama Limba UNQUALIFIED
Juan O NestleAustraliaBernardo Dominic RENEWAL
Jones K NestleItalyAmy Elsner QUALIFIED
Faith U BriddickItalyStephen Shaw UNQUALIFIED
Tony B PaprockiItalyOnyama Limba UNQUALIFIED
Kaitlin U FollerJapanXuxue Feng NEGOTIATION
Antonio B GauchoJapanAmy Elsner RENEWAL
Mayumi R VocelkaGermanyBernardo Dominic UNQUALIFIED
Johnson I StockhamSpainAsiya Javayant NEW
Ivar P DoeCanadaIvan Magalhaes 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>