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
Antonio M FlosiRussiaXuxue Feng NEW
Murillo V MaletRussiaBernardo Dominic PROPOSAL
Darci L OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba O SergiJapanElwin Sharvill NEGOTIATION
Salvatore J TollnerItalyAnna Fali UNQUALIFIED
Izzy H WhobreyBrazilIvan Magalhaes NEW
Aika T FerenczRussiaAsiya Javayant RENEWAL
Deepesh I RimArgentinaAsiya Javayant PROPOSAL
Leja U BologniaFranceBernardo Dominic RENEWAL
Antonio D IturbideRussiaElwin Sharvill PROPOSAL
Juan G AmigonUnited KingdomAnna Fali NEGOTIATION
Ivar Q GarufiRussiaAsiya Javayant PROPOSAL
Jennifer Q FlosiAustraliaXuxue Feng PROPOSAL
Alejandro J StensethJapanXuxue Feng NEW
Johnson F ChuiRussiaBernardo Dominic UNQUALIFIED
Rodrigues J DoeUnited KingdomAnna Fali UNQUALIFIED
Ricardo E KolmetzAustraliaBernardo Dominic RENEWAL
Murillo U CampainRussiaAmy Elsner UNQUALIFIED
Arvin S DilliardSpainOnyama Limba QUALIFIED
Aditya I RutaRussiaBernardo Dominic NEGOTIATION
Misaki W KolmetzJapanXuxue Feng RENEWAL
Jones C ChuiCanadaBernardo Dominic NEW
Claire E TollnerFranceAnna Fali NEGOTIATION
Jones K ButtJapanAsiya Javayant NEGOTIATION
Munro R SergiCanadaAmy Elsner NEGOTIATION
Nicolas W RulapaughUnited KingdomAsiya Javayant NEW
Tony I StensethArgentinaBernardo Dominic RENEWAL
James R MacleadBrazilIoni Bowcher NEGOTIATION
Izzy L ShinkoSpainIoni Bowcher NEW
Maisha P SlusarskiIndiaXuxue Feng NEW
Deepesh L SaylorsItalyBernardo Dominic NEW
Rodrigues J TollnerArgentinaBernardo Dominic NEW
Isabel O GarufiArgentinaAmy Elsner QUALIFIED
Munro D PerinAustraliaAmy Elsner NEGOTIATION
James R VenereGermanyXuxue Feng PROPOSAL
Aika P VocelkaFranceElwin Sharvill QUALIFIED
Silvio J GarufiCanadaIvan Magalhaes NEW
Clifford Q NickaGermanyIvan Magalhaes PROPOSAL
Faith G RulapaughIndiaAnna Fali NEGOTIATION
Sinclair U VocelkaUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois U VocelkaArgentinaBernardo Dominic PROPOSAL
Leon J DoeIndiaStephen Shaw NEGOTIATION
Aditya M StensethGermanyXuxue Feng NEGOTIATION
Kadeem J MaletFranceStephen Shaw NEW
Aruna M ShinkoIndiaIoni Bowcher NEGOTIATION
Aruna A StensethGermanyXuxue Feng NEW
Ricardo P PoquetteFranceAnna Fali NEGOTIATION
Faith Y AlbaresSpainXuxue Feng NEW
Silvio M MarrierCanadaBernardo Dominic NEGOTIATION
Leon K VenereFranceOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Murillo C AlbaresRussiaAmy Elsner PROPOSAL
Morrow P RimIndiaIvan Magalhaes NEGOTIATION
Costa W AmigonIndiaIoni Bowcher UNQUALIFIED
Chavez L GlickUnited KingdomBernardo Dominic RENEWAL
Ashley K PerinSpainElwin Sharvill UNQUALIFIED
Murillo X BologniaRussiaAmy Elsner UNQUALIFIED
Mayumi G ShinkoSpainAnna Fali NEGOTIATION
Leon G MaletBrazilIvan Magalhaes RENEWAL
Julie C RulapaughArgentinaAnna Fali NEGOTIATION
Silvio V MarrierRussiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco Y KolmetzAustralia2026-08-23Benton, John B Jr RENEWAL89Asiya Javayant
1001Smith H TollnerRussia2026-07-28Commercial Press RENEWAL91Anna Fali
1002Isabel N ButtCanada2026-08-22Truhlar And Truhlar Attys NEGOTIATION3Xuxue Feng
1003Ashley K WhobreyArgentina2026-08-18Printing Dimensions PROPOSAL36Amy Elsner
1004Nicolas C KolmetzCanada2026-07-31Chanay, Jeffrey A Esq NEW49Asiya Javayant
1005David A DoeBrazil2026-08-19Chapman, Ross E Esq QUALIFIED17Xuxue Feng
1006Silvio Y DilliardIndia2026-07-28Truhlar And Truhlar Attys RENEWAL81Ioni Bowcher
1007Greenwood I PerinArgentina2026-07-27King, Christopher A Esq UNQUALIFIED48Ioni Bowcher
1008Deepesh U BriddickCanada2026-08-06Rousseaux, Michael Esq RENEWAL48Onyama Limba
1009Isabel Q AmigonArgentina2026-08-10Feiner Bros NEGOTIATION36Stephen Shaw
1010Morrow F KolmetzIndia2026-08-10Benton, John B Jr PROPOSAL65Bernardo Dominic
1011Nicolas X PerinSpain2026-08-08Benton, John B Jr UNQUALIFIED33Amy Elsner
1012Alejandro W PoquetteBrazil2026-08-18Dorl, James J Esq RENEWAL70Ioni Bowcher
1013Cody H MacleadItaly2026-08-19Chanay, Jeffrey A Esq RENEWAL39Amy Elsner
1014Aika Q SchemmerSpain2026-07-26Morlong Associates PROPOSAL28Asiya Javayant
1015Arvin Y SaylorsGermany2026-08-02Benton, John B Jr PROPOSAL30Stephen Shaw
1016Leon M StensethItaly2026-08-01Morlong Associates NEGOTIATION60Onyama Limba
1017Greenwood P ShinkoCanada2026-08-18Benton, John B Jr NEGOTIATION58Stephen Shaw
1018Jefferson N MaletGermany2026-08-01Morlong Associates RENEWAL33Anna Fali
1019Mayumi R FerenczFrance2026-08-10Printing Dimensions PROPOSAL77Ivan Magalhaes
1020Ashley I AlbaresIndia2026-08-15Dorl, James J Esq PROPOSAL99Elwin Sharvill
1021Leja X OstroskyFrance2026-07-26Chemel, James L Cpa RENEWAL58Xuxue Feng
1022Isabel N WhobreyRussia2026-08-14Printing Dimensions QUALIFIED57Amy Elsner
1023Kaitlin O WieserGermany2026-08-16Rangoni Of Florence NEW91Stephen Shaw
1024Ricardo L BologniaBrazil2026-08-18Benton, John B Jr PROPOSAL95Elwin Sharvill
1025Aruna U KuskoItaly2026-08-03Buckley Miller Wright QUALIFIED49Anna Fali
1026Greenwood W KuskoUnited Kingdom2026-08-19Feiner Bros QUALIFIED49Ioni Bowcher
1027Maisha J MaletGermany2026-08-24Rousseaux, Michael Esq RENEWAL6Amy Elsner
1028Kadeem H WieserBrazil2026-08-09Rangoni Of Florence NEGOTIATION44Onyama Limba
1029Kadeem O RutaArgentina2026-08-11Morlong Associates UNQUALIFIED18Ioni Bowcher
1030Aditya Z StensethAustralia2026-08-24Chanay, Jeffrey A Esq UNQUALIFIED51Ivan Magalhaes
1031Ashley W VocelkaItaly2026-08-06Chanay, Jeffrey A Esq NEW98Stephen Shaw
1032Kaitlin U DoeIndia2026-07-27Truhlar And Truhlar Attys NEGOTIATION14Ioni Bowcher
1033Clifford E AmigonArgentina2026-08-02Buckley Miller Wright UNQUALIFIED63Ioni Bowcher
1034Aika H StensethFrance2026-08-09Rangoni Of Florence RENEWAL86Bernardo Dominic
1035Clifford Z GillianAustralia2026-08-19Chapman, Ross E Esq QUALIFIED16Xuxue Feng
1036Sinclair F OldroydRussia2026-07-31Buckley Miller Wright UNQUALIFIED92Amy Elsner
1037Munro J WhobreyJapan2026-08-19Chapman, Ross E Esq NEW38Xuxue Feng
1038David T ShinkoSpain2026-08-04Chemel, James L Cpa RENEWAL47Stephen Shaw
1039Mujtaba C AmigonItaly2026-08-21Chanay, Jeffrey A Esq NEGOTIATION91Onyama Limba
1040Maria R TollnerIndia2026-08-01Chanay, Jeffrey A Esq UNQUALIFIED36Ioni Bowcher
1041Ivar P PaprockiRussia2026-08-06Feltz Printing Service PROPOSAL28Asiya Javayant
1042Mujtaba S SergiRussia2026-08-14Feltz Printing Service QUALIFIED77Asiya Javayant
1043Salvatore P KuskoAustralia2026-08-14King, Christopher A Esq PROPOSAL56Stephen Shaw
1044Jeanfrancois N PoquetteArgentina2026-08-05Commercial Press QUALIFIED46Anna Fali
1045Munro I MacleadArgentina2026-08-07Commercial Press RENEWAL71Onyama Limba
1046Kadeem J VenereGermany2026-08-11Feltz Printing Service PROPOSAL28Amy Elsner
1047David A GlickCanada2026-08-03Feltz Printing Service NEGOTIATION67Onyama Limba
1048Costa O RutaSpain2026-08-15Morlong Associates NEW93Anna Fali
1049Munro G MacleadSpain2026-07-27Rousseaux, Michael Esq QUALIFIED46Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Emily V MaletArgentinaOnyama Limba QUALIFIED
James U BowleyUnited KingdomAmy Elsner RENEWAL
Leon G SergiCanadaElwin Sharvill QUALIFIED
Leja A RulapaughItalyIoni Bowcher NEW
Aruna U FerenczGermanyStephen Shaw NEGOTIATION
Maisha V NestleJapanStephen Shaw UNQUALIFIED
Antonio F SlusarskiUnited KingdomIoni Bowcher RENEWAL
Leon O GillianBrazilXuxue Feng PROPOSAL
Kadeem D VocelkaIndiaStephen Shaw PROPOSAL
Aika M RutaJapanBernardo Dominic QUALIFIED
Claire T RulapaughArgentinaElwin Sharvill NEW
Jeanfrancois T AlbaresGermanyStephen Shaw NEW
Kadeem R StockhamGermanyAsiya Javayant NEW
Silvio L DilliardCanadaAnna Fali PROPOSAL
Faith M RoysterRussiaIvan Magalhaes RENEWAL
Smith L RutaIndiaAsiya Javayant QUALIFIED
Ivar X RimGermanyAnna Fali QUALIFIED
Antonio O GlickUnited KingdomBernardo Dominic NEGOTIATION
Faith F MacleadCanadaStephen Shaw NEW
Kadeem V DilliardIndiaXuxue Feng RENEWAL
Ricardo C RutaArgentinaAnna Fali PROPOSAL
Cody W GlickRussiaAmy Elsner RENEWAL
Aruna R RoysterFranceStephen Shaw QUALIFIED
David G KolmetzBrazilAnna Fali QUALIFIED
Ricardo M BriddickJapanIvan Magalhaes QUALIFIED
Deepesh W PoquetteCanadaXuxue Feng UNQUALIFIED
Adams G BriddickItalyStephen Shaw RENEWAL
Kadeem B NickaRussiaAnna Fali NEGOTIATION
Leon I InouyeFranceStephen Shaw NEGOTIATION
Kaitlin H StensethItalyIvan Magalhaes PROPOSAL
Wickens E IturbideSpainAmy Elsner PROPOSAL
Juan R NickaBrazilAsiya Javayant UNQUALIFIED
Stacey O PoquetteBrazilAnna Fali NEW
Tony O VocelkaItalyIoni Bowcher NEGOTIATION
Misaki L WhobreyRussiaBernardo Dominic NEGOTIATION
Leon O ButtArgentinaElwin Sharvill NEGOTIATION
Leon I GarufiIndiaStephen Shaw PROPOSAL
Ivar L VenereUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair I DoeIndiaIoni Bowcher NEW
Emily L DilliardJapanElwin Sharvill RENEWAL
Wickens R RoysterAustraliaElwin Sharvill UNQUALIFIED
Mayumi W AmigonIndiaStephen Shaw PROPOSAL
Leon I CaldareraItalyAnna Fali NEW
Sinclair Y VocelkaBrazilIoni Bowcher RENEWAL
Juan D ChuiBrazilXuxue Feng NEW
Rodrigues B FollerItalyIvan Magalhaes UNQUALIFIED
Rodrigues N CampainItalyOnyama Limba QUALIFIED
Antonio X RimFranceElwin Sharvill QUALIFIED
Alejandro J MaletAustraliaOnyama Limba RENEWAL
Ivar Z SergiSpainIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Tony V Marrier
Greenwood U Stockham
Claire C Kusko
Aruna F Darakjy
Aditya Z Poquette
Johnson P Saylors
Isabel A Marrier
Aika Y Chui
Aruna Q Marrier
Aditya P Waycott
Munro R Butt
Salvatore E Caudy
Rodrigues N Perin
Deepesh N Iturbide
Greenwood I Morasca
Aruna C Perin
James R Glick
Francesco U Gaucho
Maisha N Maclead
Faith R Caudy
Darci R Doe
Leja T Gillian
Misaki K Glick
Clifford A Schemmer
Faith A Inouye
Mujtaba P Morasca
Mujtaba J Stenseth
Aika D Slusarski
Wickens U Dilliard
Aditya W Chui
Costa R Kolmetz
Aruna E Marrier
David K Campain
Izzy E Rulapaugh
Francesco B Bowley
Johnson L Iturbide
Ashley C Stockham
Silvio J Gillian
Stacey H Malet
Jones O Darakjy
Francesco D Campain
Nicolas K Darakjy
Smith K Butt
Smith B Rulapaugh
Mayumi S Foller
Misaki E Inouye
Ricardo F Briddick
Leon D Darakjy
Cody S Waycott
David W Amigon
IdCountryDate
1000Japan2026-08-22
1001Japan2026-08-09
1002Japan2026-08-08
1003India2026-08-01
1004Spain2026-08-08
1005Canada2026-08-14
1006Canada2026-08-19
1007United Kingdom2026-08-08
1008Italy2026-08-17
1009Italy2026-07-29
1010Italy2026-08-05
1011Canada2026-08-15
1012Japan2026-07-31
1013Japan2026-08-12
1014Canada2026-08-03
1015France2026-08-22
1016Germany2026-08-23
1017Italy2026-07-31
1018United Kingdom2026-08-07
1019Germany2026-08-22
1020Russia2026-08-16
1021Canada2026-08-09
1022Japan2026-07-31
1023Brazil2026-08-08
1024India2026-08-02
1025Canada2026-08-17
1026Spain2026-08-12
1027Argentina2026-08-13
1028Canada2026-08-08
1029Germany2026-08-19
1030Russia2026-07-28
1031Brazil2026-07-29
1032Spain2026-08-14
1033Japan2026-08-04
1034Brazil2026-08-18
1035Japan2026-08-19
1036Canada2026-08-09
1037Italy2026-08-14
1038Brazil2026-08-17
1039Argentina2026-08-03
1040Germany2026-08-12
1041Brazil2026-08-18
1042Russia2026-08-20
1043Argentina2026-08-09
1044Italy2026-08-20
1045Germany2026-08-01
1046Canada2026-08-22
1047United Kingdom2026-08-16
1048Spain2026-08-24
1049Argentina2026-07-26

On-Demand Data

NameIdCountryDate
Murillo D Inouye1000India2026-07-27
Aruna Y Flosi1001United Kingdom2026-07-29
Smith K Figeroa1002Germany2026-08-01
Chavez X Morasca1003Spain2026-08-03
Maisha S Paprocki1004Spain2026-08-19
Greenwood X Gaucho1005Canada2026-08-02
Jefferson S Marrier1006Spain2026-08-11
Misaki P Oldroyd1007Brazil2026-08-19
Juan Y Figeroa1008Australia2026-08-13
Clifford A Slusarski1009Italy2026-08-10
Isabel C Royster1010Japan2026-07-30
Kadeem V Maclead1011Russia2026-07-26
Maria F Flosi1012Argentina2026-08-01
James U Stenseth1013Russia2026-07-28
Ricardo I Malet1014Russia2026-08-05
Arvin G Bolognia1015Argentina2026-08-15
Aruna L Morasca1016Spain2026-08-09
Francesco I Glick1017Brazil2026-08-23
Faith E Stockham1018Japan2026-08-01
Jones X Wieser1019Japan2026-08-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily Y RutaAustraliaAmy Elsner RENEWAL
Mujtaba R BriddickJapanIoni Bowcher RENEWAL
James O TollnerArgentinaElwin Sharvill UNQUALIFIED
Misaki W StockhamJapanAmy Elsner QUALIFIED
Costa Q MaletArgentinaBernardo Dominic UNQUALIFIED
Leon J FerenczCanadaAmy Elsner UNQUALIFIED
Maisha S CaldareraCanadaXuxue Feng QUALIFIED
Ricardo Y DoeArgentinaBernardo Dominic NEGOTIATION
Wickens U StensethBrazilIoni Bowcher RENEWAL
Kadeem Y GarufiGermanyElwin Sharvill NEW
Jefferson I SaylorsRussiaAmy Elsner RENEWAL
Ricardo J NickaSpainStephen Shaw PROPOSAL
Jones X StensethUnited KingdomAmy Elsner RENEWAL
Mujtaba P CaudyCanadaBernardo Dominic UNQUALIFIED
Kadeem H SergiFranceBernardo Dominic PROPOSAL
Faith M GlickBrazilIoni Bowcher RENEWAL
Misaki B VenereAustraliaIoni Bowcher UNQUALIFIED
Antonio Y MarrierItalyIvan Magalhaes NEGOTIATION
Adams L WieserArgentinaAnna Fali QUALIFIED
Tony K ButtIndiaAsiya Javayant NEGOTIATION
Nicolas T MaletCanadaAsiya Javayant NEW
Misaki I CaldareraJapanAnna Fali RENEWAL
Cody R RulapaughGermanyIoni Bowcher UNQUALIFIED
Tony G MaletUnited KingdomAmy Elsner RENEWAL
Emily H GillianIndiaIoni Bowcher PROPOSAL
Claire R AmigonCanadaIvan Magalhaes PROPOSAL
Wickens A IturbideBrazilXuxue Feng NEW
Jennifer I AlbaresFranceIoni Bowcher QUALIFIED
Claire M RoysterUnited KingdomAmy Elsner PROPOSAL
Darci A FigeroaIndiaIoni Bowcher QUALIFIED
Darci Q SlusarskiSpainStephen Shaw NEGOTIATION
Kaitlin Q OldroydAustraliaIoni Bowcher NEGOTIATION
Morrow Z PaprockiUnited KingdomIoni Bowcher QUALIFIED
Izzy C ChuiJapanIoni Bowcher QUALIFIED
Wickens I RoysterBrazilStephen Shaw UNQUALIFIED
Ricardo Y RulapaughJapanXuxue Feng NEW
Adams F ButtUnited KingdomXuxue Feng NEW
Rodrigues N FigeroaGermanyAmy Elsner RENEWAL
Juan S SaylorsGermanyStephen Shaw RENEWAL
Emily U CaldareraCanadaBernardo Dominic QUALIFIED

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