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
Jeanfrancois O RutaCanadaXuxue Feng RENEWAL
Misaki X RoysterUnited KingdomAnna Fali NEW
Arvin D OldroydSpainAsiya Javayant PROPOSAL
Izzy V RulapaughBrazilBernardo Dominic NEW
Jones S DilliardGermanyIvan Magalhaes NEW
Emily R FlosiRussiaAsiya Javayant NEGOTIATION
Emily G WaycottIndiaOnyama Limba QUALIFIED
Morrow V VocelkaBrazilBernardo Dominic PROPOSAL
Mujtaba X FlosiCanadaAmy Elsner PROPOSAL
Wickens F TollnerAustraliaAnna Fali RENEWAL
Jones S CaldareraJapanAsiya Javayant UNQUALIFIED
Aika P CampainUnited KingdomBernardo Dominic UNQUALIFIED
Nicolas D AlbaresJapanBernardo Dominic NEGOTIATION
Ivar J MacleadBrazilIvan Magalhaes RENEWAL
Johnson P BowleyBrazilStephen Shaw RENEWAL
Deepesh O OldroydGermanyOnyama Limba UNQUALIFIED
Kadeem T MarrierRussiaElwin Sharvill UNQUALIFIED
Leja E OstroskyRussiaXuxue Feng PROPOSAL
Murillo J WhobreyArgentinaBernardo Dominic NEW
Johnson Y ChuiUnited KingdomBernardo Dominic PROPOSAL
Morrow R RoysterBrazilXuxue Feng UNQUALIFIED
Munro B PaprockiSpainAsiya Javayant NEGOTIATION
Cody G RimSpainElwin Sharvill UNQUALIFIED
Julie Q FlosiSpainIoni Bowcher NEW
Ashley K RimSpainIoni Bowcher NEW
Costa G NickaFranceIoni Bowcher NEW
Leon P CaudyGermanyElwin Sharvill NEW
Isabel Y MaletFranceIvan Magalhaes NEW
Leon D StensethAustraliaAnna Fali UNQUALIFIED
Leja H WhobreyItalyAsiya Javayant NEGOTIATION
Sinclair A StockhamJapanAnna Fali PROPOSAL
Ricardo A RutaAustraliaAmy Elsner NEGOTIATION
Emily G PaprockiIndiaAmy Elsner RENEWAL
Murillo N BowleySpainAnna Fali UNQUALIFIED
Jones S ButtItalyIvan Magalhaes NEGOTIATION
Maisha R PaprockiBrazilBernardo Dominic UNQUALIFIED
Jones T GlickItalyStephen Shaw PROPOSAL
Stacey K AmigonJapanAnna Fali RENEWAL
Salvatore D CaudySpainElwin Sharvill NEW
Kadeem T SlusarskiJapanOnyama Limba NEGOTIATION
Morrow R MaletGermanyAmy Elsner NEW
Nicolas H StensethBrazilIoni Bowcher QUALIFIED
Izzy C KolmetzCanadaStephen Shaw PROPOSAL
Misaki C MorascaIndiaElwin Sharvill UNQUALIFIED
Sinclair K VocelkaCanadaXuxue Feng RENEWAL
Misaki Y RimIndiaAnna Fali NEGOTIATION
Octavia U DarakjyFranceBernardo Dominic UNQUALIFIED
Deepesh B MarrierBrazilElwin Sharvill NEW
Leon V RutaItalyAmy Elsner NEW
Ricardo B MarrierFranceElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Rodrigues I VenereIndiaAmy Elsner NEGOTIATION
Costa R MaletJapanOnyama Limba RENEWAL
Alejandro J StockhamCanadaXuxue Feng PROPOSAL
Mujtaba M FigeroaGermanyAnna Fali NEGOTIATION
Darci S SchemmerCanadaStephen Shaw RENEWAL
Greenwood F DarakjyCanadaAsiya Javayant NEGOTIATION
Jeanfrancois J StockhamArgentinaAmy Elsner NEGOTIATION
Munro N KuskoIndiaStephen Shaw QUALIFIED
Murillo O SergiIndiaIvan Magalhaes RENEWAL
Jennifer W SlusarskiItalyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens Y MacleadJapan2025-06-16Feiner Bros QUALIFIED67Xuxue Feng
1001Ricardo L SaylorsRussia2025-05-22Rousseaux, Michael Esq UNQUALIFIED44Elwin Sharvill
1002Antonio U MaletFrance2025-05-24Chemel, James L Cpa RENEWAL38Ioni Bowcher
1003Jefferson T SlusarskiIndia2025-06-14Chapman, Ross E Esq RENEWAL31Anna Fali
1004Ashley E GauchoUnited Kingdom2025-05-29Dorl, James J Esq QUALIFIED20Bernardo Dominic
1005Sinclair V ShinkoBrazil2025-06-02Chanay, Jeffrey A Esq UNQUALIFIED52Elwin Sharvill
1006Jeanfrancois Z RulapaughAustralia2025-06-06Feltz Printing Service NEW46Anna Fali
1007Cody S RulapaughAustralia2025-06-09Feiner Bros PROPOSAL85Asiya Javayant
1008Adams X PoquetteAustralia2025-05-22Chemel, James L Cpa NEW27Onyama Limba
1009Rodrigues Q CaldareraAustralia2025-05-22Chemel, James L Cpa RENEWAL53Elwin Sharvill
1010Stacey V OldroydCanada2025-06-07Truhlar And Truhlar Attys UNQUALIFIED67Amy Elsner
1011Chavez H InouyeGermany2025-05-20Chapman, Ross E Esq NEW8Bernardo Dominic
1012Johnson P NestleUnited Kingdom2025-05-31Chemel, James L Cpa NEW95Onyama Limba
1013Jeanfrancois M VenereArgentina2025-06-06Chemel, James L Cpa NEW81Ioni Bowcher
1014Aika Q VocelkaSpain2025-06-03Truhlar And Truhlar Attys UNQUALIFIED40Xuxue Feng
1015Ivar N KolmetzArgentina2025-06-15Rangoni Of Florence NEGOTIATION77Ioni Bowcher
1016Izzy U NickaUnited Kingdom2025-06-12Buckley Miller Wright NEGOTIATION97Onyama Limba
1017Mayumi M SaylorsAustralia2025-05-19Feltz Printing Service NEGOTIATION95Anna Fali
1018Darci M AlbaresIndia2025-06-16Rangoni Of Florence QUALIFIED72Bernardo Dominic
1019Stacey Q KuskoCanada2025-06-10Truhlar And Truhlar Attys NEGOTIATION43Ioni Bowcher
1020Mayumi W DilliardIndia2025-06-02King, Christopher A Esq UNQUALIFIED36Bernardo Dominic
1021Wickens A OldroydIndia2025-06-10Printing Dimensions PROPOSAL78Stephen Shaw
1022Sinclair V DarakjySpain2025-06-10Chanay, Jeffrey A Esq RENEWAL30Bernardo Dominic
1023Aditya J MaletCanada2025-05-19Feltz Printing Service UNQUALIFIED55Ioni Bowcher
1024Clifford E FollerArgentina2025-06-04King, Christopher A Esq NEW77Onyama Limba
1025Juan W SlusarskiJapan2025-05-29King, Christopher A Esq PROPOSAL23Anna Fali
1026Mujtaba X NickaSpain2025-06-10Chanay, Jeffrey A Esq RENEWAL93Ioni Bowcher
1027Mujtaba I SaylorsBrazil2025-06-10Benton, John B Jr UNQUALIFIED47Bernardo Dominic
1028Chavez B BologniaBrazil2025-06-12King, Christopher A Esq RENEWAL44Ivan Magalhaes
1029Smith W InouyeFrance2025-05-29Feltz Printing Service NEW53Asiya Javayant
1030Faith X ButtRussia2025-05-18Rangoni Of Florence UNQUALIFIED76Stephen Shaw
1031Aika U RimRussia2025-06-13King, Christopher A Esq NEGOTIATION39Ivan Magalhaes
1032Greenwood R BologniaFrance2025-06-01Rangoni Of Florence QUALIFIED89Elwin Sharvill
1033Antonio D TollnerBrazil2025-06-05Printing Dimensions QUALIFIED44Amy Elsner
1034Salvatore A MaletUnited Kingdom2025-06-10Rousseaux, Michael Esq PROPOSAL14Ioni Bowcher
1035Ricardo G KuskoRussia2025-05-27Printing Dimensions QUALIFIED19Amy Elsner
1036Ivar P MorascaSpain2025-05-19Morlong Associates QUALIFIED47Elwin Sharvill
1037Misaki G ChuiUnited Kingdom2025-05-22Commercial Press NEGOTIATION73Anna Fali
1038Leja M RimItaly2025-06-08Commercial Press NEGOTIATION34Ioni Bowcher
1039Jeanfrancois V PaprockiAustralia2025-05-22Feltz Printing Service NEW99Ioni Bowcher
1040Sinclair X WaycottFrance2025-05-29Chemel, James L Cpa RENEWAL49Onyama Limba
1041Antonio N MarrierFrance2025-06-01Printing Dimensions RENEWAL29Asiya Javayant
1042Johnson L WaycottCanada2025-05-29Truhlar And Truhlar Attys NEGOTIATION7Anna Fali
1043Kaitlin Y SergiJapan2025-06-09Feltz Printing Service RENEWAL51Stephen Shaw
1044Octavia M MaletBrazil2025-05-28Commercial Press QUALIFIED86Onyama Limba
1045James W WaycottRussia2025-06-10Chapman, Ross E Esq UNQUALIFIED36Amy Elsner
1046Ricardo K FollerAustralia2025-05-31Rangoni Of Florence UNQUALIFIED88Elwin Sharvill
1047Aika C OldroydSpain2025-06-06Benton, John B Jr RENEWAL45Asiya Javayant
1048Darci U FlosiBrazil2025-06-14Chanay, Jeffrey A Esq RENEWAL36Stephen Shaw
1049Morrow U AmigonJapan2025-06-04Commercial Press UNQUALIFIED64Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Johnson K TollnerAustraliaOnyama Limba QUALIFIED
Ricardo V TollnerJapanElwin Sharvill QUALIFIED
Emily C WhobreyGermanyIoni Bowcher PROPOSAL
Maria L OldroydCanadaElwin Sharvill RENEWAL
Smith X ButtCanadaOnyama Limba QUALIFIED
Kaitlin K ShinkoAustraliaIoni Bowcher NEW
James W ButtAustraliaStephen Shaw UNQUALIFIED
Aditya F PaprockiIndiaElwin Sharvill QUALIFIED
James G WaycottBrazilElwin Sharvill QUALIFIED
Octavia Q BologniaUnited KingdomIoni Bowcher QUALIFIED
Kaitlin J FollerJapanAnna Fali NEW
Aditya E IturbideArgentinaOnyama Limba PROPOSAL
Nicolas L VocelkaFranceOnyama Limba UNQUALIFIED
Tony E VocelkaSpainStephen Shaw UNQUALIFIED
Kadeem X PaprockiItalyBernardo Dominic UNQUALIFIED
Aika J FerenczRussiaIvan Magalhaes RENEWAL
Faith X MacleadRussiaStephen Shaw PROPOSAL
Sinclair K VenereAustraliaAmy Elsner QUALIFIED
Clifford L AmigonIndiaOnyama Limba PROPOSAL
Leja T WieserAustraliaAnna Fali RENEWAL
Octavia F NestleBrazilIvan Magalhaes QUALIFIED
Alejandro D AlbaresSpainXuxue Feng UNQUALIFIED
Clifford O MacleadRussiaAnna Fali UNQUALIFIED
Izzy W PoquetteRussiaOnyama Limba NEGOTIATION
Emily J CaldareraUnited KingdomOnyama Limba NEGOTIATION
Greenwood J InouyeUnited KingdomIoni Bowcher UNQUALIFIED
David H SchemmerCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois C BologniaIndiaIoni Bowcher NEW
Mujtaba E ButtRussiaOnyama Limba RENEWAL
Jefferson I FigeroaItalyOnyama Limba PROPOSAL
Maisha T InouyeGermanyAsiya Javayant NEW
Cody H BowleyUnited KingdomIoni Bowcher UNQUALIFIED
James R DilliardRussiaAsiya Javayant QUALIFIED
Misaki M NickaArgentinaAsiya Javayant RENEWAL
James P AlbaresIndiaElwin Sharvill NEGOTIATION
Jefferson H DilliardJapanAmy Elsner PROPOSAL
Jones G ButtFranceElwin Sharvill QUALIFIED
Jefferson N KuskoAustraliaXuxue Feng NEW
Emily R GauchoGermanyOnyama Limba QUALIFIED
Octavia P StensethIndiaIoni Bowcher NEGOTIATION
Costa O SaylorsCanadaStephen Shaw NEGOTIATION
Jefferson I TollnerAustraliaAsiya Javayant RENEWAL
Adams A SchemmerGermanyIvan Magalhaes UNQUALIFIED
Misaki T PerinUnited KingdomStephen Shaw UNQUALIFIED
Alejandro F BowleyGermanyAmy Elsner RENEWAL
Jennifer I VenereCanadaAmy Elsner PROPOSAL
Deepesh K FigeroaSpainIoni Bowcher RENEWAL
Misaki I TollnerArgentinaIvan Magalhaes PROPOSAL
Misaki N StockhamItalyAmy Elsner NEW
Adams X FollerSpainXuxue Feng QUALIFIED
Frozen Columns
Name
Aika G Butt
Jeanfrancois G Garufi
Smith S Sergi
Smith T Malet
Johnson C Stockham
Jeanfrancois H Inouye
Silvio I Albares
Aika C Shinko
Mayumi V Foller
Claire L Waycott
James L Paprocki
Chavez Z Rim
Munro P Iturbide
Maisha O Waycott
Claire D Stockham
Wickens K Shinko
Aika D Wieser
Julie B Waycott
Francesco Y Perin
Johnson U Vocelka
Jennifer L Rim
Chavez K Butt
Jefferson P Caldarera
Emily I Morasca
Chavez Q Stockham
Darci N Ferencz
Jones C Slusarski
James T Shinko
Octavia T Butt
Stacey R Nestle
Maria Y Marrier
Kadeem J Gillian
Kadeem P Schemmer
Tony Y Waycott
Faith E Rulapaugh
James F Ostrosky
Cody G Kusko
Alejandro S Oldroyd
Isabel D Ostrosky
Izzy E Flosi
Ivar Y Maclead
Juan V Tollner
Ricardo F Foller
Costa B Ruta
Maria H Stockham
Jones L Nicka
Ivar J Venere
Francesco Q Maclead
Kadeem E Sergi
Jennifer K Albares
IdCountryDate
1000Argentina2025-06-15
1001Spain2025-06-11
1002Germany2025-05-29
1003India2025-06-10
1004Japan2025-06-14
1005Brazil2025-06-07
1006Australia2025-05-21
1007France2025-05-24
1008Russia2025-06-16
1009Italy2025-05-27
1010Russia2025-06-10
1011Brazil2025-06-09
1012Argentina2025-06-06
1013India2025-06-13
1014India2025-05-19
1015India2025-06-08
1016France2025-06-16
1017Russia2025-06-09
1018Argentina2025-06-05
1019Argentina2025-05-28
1020United Kingdom2025-06-03
1021France2025-05-20
1022United Kingdom2025-06-09
1023Germany2025-06-15
1024Australia2025-05-30
1025India2025-05-22
1026Canada2025-06-03
1027Argentina2025-05-31
1028Australia2025-05-18
1029Italy2025-06-04
1030Canada2025-05-30
1031Italy2025-05-25
1032United Kingdom2025-05-27
1033Japan2025-06-13
1034United Kingdom2025-05-25
1035France2025-06-05
1036India2025-06-03
1037Spain2025-06-15
1038Spain2025-05-31
1039Australia2025-05-22
1040Italy2025-05-23
1041United Kingdom2025-06-03
1042Spain2025-06-07
1043Germany2025-05-27
1044Japan2025-05-22
1045Italy2025-05-21
1046Japan2025-05-19
1047Canada2025-05-31
1048Russia2025-06-03
1049Australia2025-06-13

On-Demand Data

NameIdCountryDate
Jeanfrancois P Briddick1000France2025-05-25
Jennifer T Rulapaugh1001Japan2025-06-03
Leon U Kusko1002Japan2025-06-09
Jones Z Dilliard1003Germany2025-06-01
Darci H Waycott1004India2025-06-07
Aika A Shinko1005France2025-05-21
Isabel V Shinko1006Japan2025-06-09
Jennifer E Albares1007Germany2025-06-16
Rodrigues E Campain1008Brazil2025-06-06
James G Perin1009Brazil2025-05-22
Jeanfrancois A Butt1010Italy2025-06-15
Ashley W Rulapaugh1011Russia2025-05-19
Adams E Garufi1012Japan2025-06-12
Stacey C Rim1013Brazil2025-05-21
Salvatore O Ostrosky1014Germany2025-06-06
Kadeem I Briddick1015Spain2025-06-15
Jones L Gaucho1016Argentina2025-06-15
Smith F Vocelka1017Brazil2025-06-07
Darci L Tollner1018Japan2025-05-18
Johnson K Caldarera1019Italy2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo X GlickArgentinaStephen Shaw NEW
Mayumi V StockhamCanadaIvan Magalhaes RENEWAL
Jones H InouyeItalyBernardo Dominic QUALIFIED
Isabel I OstroskyAustraliaXuxue Feng RENEWAL
Isabel S ButtAustraliaBernardo Dominic NEGOTIATION
Ricardo Y RimJapanStephen Shaw PROPOSAL
Mujtaba V RoysterRussiaElwin Sharvill QUALIFIED
Francesco Q GillianFranceBernardo Dominic RENEWAL
Cody D GauchoRussiaAsiya Javayant PROPOSAL
Kaitlin Q CaldareraBrazilOnyama Limba NEGOTIATION
Aika A PoquetteAustraliaXuxue Feng QUALIFIED
Leon T FlosiArgentinaIoni Bowcher PROPOSAL
Izzy V RulapaughRussiaStephen Shaw NEGOTIATION
Stacey Y AlbaresGermanyOnyama Limba QUALIFIED
Aruna X GauchoFranceOnyama Limba UNQUALIFIED
Alejandro D SergiUnited KingdomAnna Fali NEW
Nicolas Y WhobreyItalyStephen Shaw RENEWAL
Morrow P MacleadFranceElwin Sharvill NEGOTIATION
Mayumi C RimGermanyAnna Fali RENEWAL
Rodrigues R ShinkoGermanyElwin Sharvill NEW
Jeanfrancois X CaldareraUnited KingdomXuxue Feng RENEWAL
Johnson S BologniaArgentinaBernardo Dominic PROPOSAL
Aditya P KuskoItalyIoni Bowcher QUALIFIED
Cody P CampainIndiaStephen Shaw QUALIFIED
Johnson N MorascaBrazilBernardo Dominic RENEWAL
Aditya Y SergiAustraliaOnyama Limba NEW
Ricardo W FollerCanadaOnyama Limba NEW
Julie N FerenczCanadaIvan Magalhaes NEW
Francesco V InouyeBrazilXuxue Feng UNQUALIFIED
Munro O SaylorsGermanyStephen Shaw NEW
Antonio V StensethArgentinaXuxue Feng RENEWAL
Jefferson Q MaletBrazilAmy Elsner QUALIFIED
Alejandro M ChuiFranceIvan Magalhaes NEW
Murillo S CampainSpainAmy Elsner UNQUALIFIED
Wickens P KolmetzItalyStephen Shaw PROPOSAL
Kaitlin C TollnerBrazilIvan Magalhaes NEW
Alejandro K RimItalyAmy Elsner UNQUALIFIED
Mayumi Y StockhamItalyElwin Sharvill PROPOSAL
Faith Y FigeroaItalyIoni Bowcher QUALIFIED
Ashley O RoysterRussiaAnna Fali 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>