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
Julie Z MorascaItalyBernardo Dominic QUALIFIED
Aditya R IturbideGermanyIvan Magalhaes NEGOTIATION
Julie G MacleadBrazilOnyama Limba NEW
Octavia I AmigonJapanXuxue Feng NEGOTIATION
Jeanfrancois S MorascaIndiaOnyama Limba RENEWAL
Darci O ShinkoAustraliaOnyama Limba PROPOSAL
Mujtaba M GlickBrazilXuxue Feng NEGOTIATION
Leja T InouyeFranceXuxue Feng NEW
Antonio Z MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Izzy H StensethJapanElwin Sharvill QUALIFIED
Kadeem X OldroydUnited KingdomStephen Shaw QUALIFIED
Francesco F RutaItalyAnna Fali PROPOSAL
Misaki V DoeBrazilOnyama Limba UNQUALIFIED
Wickens A SergiCanadaAmy Elsner NEW
Julie U WieserUnited KingdomAmy Elsner NEGOTIATION
Arvin T KolmetzUnited KingdomAnna Fali RENEWAL
Adams C InouyeRussiaAnna Fali NEW
Maisha S MarrierAustraliaXuxue Feng RENEWAL
Rodrigues B PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Johnson U GillianSpainStephen Shaw RENEWAL
Izzy M OstroskyArgentinaOnyama Limba NEGOTIATION
Nicolas M WaycottBrazilXuxue Feng QUALIFIED
Leja N NickaArgentinaStephen Shaw NEGOTIATION
Jeanfrancois T KuskoGermanyIoni Bowcher QUALIFIED
Jeanfrancois T ButtJapanAnna Fali NEW
Adams R RutaUnited KingdomIoni Bowcher PROPOSAL
Ashley B PaprockiJapanAnna Fali NEW
Mayumi Z TollnerArgentinaAsiya Javayant QUALIFIED
Stacey J FigeroaGermanyElwin Sharvill RENEWAL
Octavia Q FollerBrazilOnyama Limba QUALIFIED
Jefferson R BriddickBrazilXuxue Feng PROPOSAL
Isabel D SchemmerIndiaXuxue Feng QUALIFIED
Mujtaba S KuskoUnited KingdomAsiya Javayant PROPOSAL
Julie P WaycottFranceAnna Fali PROPOSAL
Silvio P WieserCanadaOnyama Limba QUALIFIED
Julie N DarakjyUnited KingdomAsiya Javayant QUALIFIED
Kaitlin E CaldareraJapanIvan Magalhaes RENEWAL
Rodrigues S KuskoRussiaAnna Fali PROPOSAL
Ricardo T MarrierGermanyIvan Magalhaes UNQUALIFIED
Tony L ChuiGermanyIvan Magalhaes RENEWAL
David Y MorascaIndiaIoni Bowcher NEW
Mayumi T DoeItalyIvan Magalhaes PROPOSAL
Darci V ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Leon B NestleArgentinaOnyama Limba NEW
Jennifer N KuskoJapanAsiya Javayant NEGOTIATION
Kaitlin D OldroydAustraliaBernardo Dominic NEGOTIATION
Rodrigues U NickaJapanElwin Sharvill UNQUALIFIED
Sinclair C GauchoAustraliaStephen Shaw PROPOSAL
Jennifer Y StockhamSpainAmy Elsner PROPOSAL
Leon O FlosiRussiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody V BowleyRussiaAnna Fali PROPOSAL
Kaitlin J PaprockiArgentinaIoni Bowcher NEGOTIATION
Smith J ButtCanadaAmy Elsner UNQUALIFIED
Clifford S KolmetzIndiaAsiya Javayant QUALIFIED
Francesco A PaprockiUnited KingdomXuxue Feng PROPOSAL
Julie E StockhamArgentinaXuxue Feng NEW
Emily X StensethJapanAsiya Javayant NEW
Salvatore T PerinSpainIvan Magalhaes NEGOTIATION
Kaitlin D InouyeBrazilElwin Sharvill RENEWAL
Johnson J SlusarskiRussiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams C FollerCanada2024-06-16Chapman, Ross E Esq NEGOTIATION80Onyama Limba
1001Antonio G SchemmerIndia2024-06-13Morlong Associates PROPOSAL75Amy Elsner
1002Mayumi Z MarrierJapan2024-06-21Buckley Miller Wright UNQUALIFIED39Bernardo Dominic
1003David Y InouyeJapan2024-05-27Morlong Associates UNQUALIFIED58Ioni Bowcher
1004Murillo L WhobreyBrazil2024-06-23Commercial Press QUALIFIED25Asiya Javayant
1005Silvio C GarufiAustralia2024-06-19Truhlar And Truhlar Attys NEGOTIATION28Bernardo Dominic
1006Costa K StockhamJapan2024-05-30Feltz Printing Service RENEWAL79Xuxue Feng
1007Emily J SlusarskiIndia2024-05-26King, Christopher A Esq NEW84Xuxue Feng
1008Maria O SchemmerAustralia2024-06-23Chemel, James L Cpa UNQUALIFIED6Anna Fali
1009David W StockhamRussia2024-06-07Buckley Miller Wright NEGOTIATION16Anna Fali
1010Jeanfrancois W AmigonJapan2024-05-28Feiner Bros NEGOTIATION20Bernardo Dominic
1011Munro Y DilliardBrazil2024-06-09Rangoni Of Florence NEW4Amy Elsner
1012Murillo Q FollerAustralia2024-05-30Printing Dimensions NEGOTIATION72Xuxue Feng
1013Mayumi W FigeroaIndia2024-06-03Morlong Associates RENEWAL63Elwin Sharvill
1014Maisha K KuskoIndia2024-06-22Truhlar And Truhlar Attys NEGOTIATION24Onyama Limba
1015Salvatore A KolmetzBrazil2024-06-12Truhlar And Truhlar Attys UNQUALIFIED77Elwin Sharvill
1016Deepesh S ChuiUnited Kingdom2024-06-18King, Christopher A Esq NEGOTIATION69Ivan Magalhaes
1017James W MaletArgentina2024-06-13Rousseaux, Michael Esq NEW28Amy Elsner
1018Julie L OldroydSpain2024-06-08Chanay, Jeffrey A Esq PROPOSAL7Onyama Limba
1019Rodrigues R AlbaresBrazil2024-06-19Truhlar And Truhlar Attys UNQUALIFIED80Bernardo Dominic
1020Claire F BologniaUnited Kingdom2024-06-05Printing Dimensions RENEWAL12Bernardo Dominic
1021Morrow D SergiFrance2024-05-26Chanay, Jeffrey A Esq NEGOTIATION62Ioni Bowcher
1022Julie F PoquetteUnited Kingdom2024-05-27Rangoni Of Florence UNQUALIFIED61Anna Fali
1023Adams D StensethBrazil2024-06-09Chapman, Ross E Esq RENEWAL78Onyama Limba
1024Octavia O CaldareraSpain2024-06-13Rousseaux, Michael Esq NEW95Onyama Limba
1025Ashley C WaycottJapan2024-06-12Feltz Printing Service PROPOSAL94Onyama Limba
1026Arvin T PoquetteJapan2024-06-20Morlong Associates PROPOSAL82Ivan Magalhaes
1027Ashley A GauchoArgentina2024-06-15Commercial Press NEGOTIATION50Asiya Javayant
1028Leja R PerinUnited Kingdom2024-06-19Feltz Printing Service PROPOSAL63Anna Fali
1029Darci Y NestleBrazil2024-06-13Printing Dimensions RENEWAL62Xuxue Feng
1030Jones C WhobreyJapan2024-06-05Feiner Bros PROPOSAL6Onyama Limba
1031Julie S SergiCanada2024-05-27Chemel, James L Cpa NEGOTIATION21Ioni Bowcher
1032Adams O AmigonItaly2024-06-14Chemel, James L Cpa QUALIFIED54Bernardo Dominic
1033Mujtaba S IturbideRussia2024-06-17Buckley Miller Wright NEGOTIATION34Elwin Sharvill
1034Jones C AlbaresGermany2024-06-08Dorl, James J Esq PROPOSAL92Anna Fali
1035David I SergiArgentina2024-06-05Feiner Bros PROPOSAL63Amy Elsner
1036Leon C MaletGermany2024-06-18Rangoni Of Florence NEGOTIATION35Anna Fali
1037Nicolas E PoquetteIndia2024-05-30Chemel, James L Cpa QUALIFIED97Bernardo Dominic
1038Alejandro B SaylorsRussia2024-05-26Dorl, James J Esq QUALIFIED6Amy Elsner
1039Leon D PerinJapan2024-05-29Morlong Associates NEW15Asiya Javayant
1040Mujtaba E FollerRussia2024-06-17King, Christopher A Esq PROPOSAL7Elwin Sharvill
1041Kaitlin E CaldareraBrazil2024-06-19Chanay, Jeffrey A Esq NEGOTIATION90Asiya Javayant
1042Deepesh K MaletItaly2024-05-29Morlong Associates NEW43Elwin Sharvill
1043Faith H NestleFrance2024-06-04Rangoni Of Florence UNQUALIFIED30Ivan Magalhaes
1044Johnson Q MaletFrance2024-06-14Chemel, James L Cpa RENEWAL10Bernardo Dominic
1045Ricardo M ChuiItaly2024-06-22Feiner Bros UNQUALIFIED11Amy Elsner
1046Ricardo J WieserItaly2024-06-21Rangoni Of Florence NEW92Ivan Magalhaes
1047Jennifer E RutaRussia2024-06-13Commercial Press NEGOTIATION2Asiya Javayant
1048Mayumi F OstroskyItaly2024-06-20Benton, John B Jr NEW56Ivan Magalhaes
1049Clifford W ShinkoAustralia2024-06-21Chapman, Ross E Esq NEW50Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aruna M FlosiFranceOnyama Limba PROPOSAL
Izzy H RulapaughJapanAnna Fali NEGOTIATION
Munro H AmigonUnited KingdomBernardo Dominic QUALIFIED
Wickens B ButtSpainAnna Fali RENEWAL
Mayumi H BologniaGermanyAnna Fali QUALIFIED
Aditya Q FlosiFranceAmy Elsner RENEWAL
Julie W AlbaresJapanAsiya Javayant NEW
Clifford Y PoquetteBrazilStephen Shaw NEW
Costa B FollerArgentinaAmy Elsner PROPOSAL
Morrow M FerenczJapanAnna Fali QUALIFIED
Smith K RimRussiaAsiya Javayant PROPOSAL
Adams G ShinkoUnited KingdomIoni Bowcher PROPOSAL
Julie G NickaCanadaAmy Elsner NEGOTIATION
Costa J PerinCanadaStephen Shaw NEW
Alejandro B StensethGermanyIvan Magalhaes UNQUALIFIED
Johnson U StockhamRussiaIvan Magalhaes UNQUALIFIED
Maria T KolmetzIndiaOnyama Limba RENEWAL
Jeanfrancois Z FollerItalyBernardo Dominic NEGOTIATION
Faith P SaylorsItalyXuxue Feng NEGOTIATION
Tony B SchemmerSpainXuxue Feng UNQUALIFIED
Jennifer E FollerIndiaOnyama Limba NEGOTIATION
Nicolas M MaletFranceAsiya Javayant RENEWAL
Maria U GauchoCanadaStephen Shaw NEW
Faith A GlickIndiaAmy Elsner NEGOTIATION
Darci U SaylorsCanadaOnyama Limba NEGOTIATION
Aditya N SergiIndiaElwin Sharvill RENEWAL
Wickens F BowleyIndiaElwin Sharvill NEW
Kadeem S NickaJapanAsiya Javayant QUALIFIED
Maisha B FollerCanadaStephen Shaw UNQUALIFIED
Silvio A ShinkoCanadaXuxue Feng RENEWAL
Antonio B SergiCanadaAmy Elsner UNQUALIFIED
Julie B PerinRussiaElwin Sharvill UNQUALIFIED
Stacey A MaletIndiaAmy Elsner PROPOSAL
Stacey A CampainIndiaElwin Sharvill PROPOSAL
Chavez I FollerGermanyBernardo Dominic NEGOTIATION
Kaitlin W SaylorsBrazilBernardo Dominic UNQUALIFIED
Claire L CampainArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois W GlickGermanyIvan Magalhaes NEGOTIATION
Francesco K RulapaughSpainIoni Bowcher NEGOTIATION
Misaki X InouyeArgentinaAsiya Javayant UNQUALIFIED
Juan G IturbideUnited KingdomElwin Sharvill QUALIFIED
Tony R DarakjyIndiaOnyama Limba RENEWAL
Julie G DarakjyArgentinaAnna Fali NEGOTIATION
Ricardo Q BowleyBrazilIvan Magalhaes PROPOSAL
Ricardo X CaudySpainAnna Fali PROPOSAL
Julie G MaletCanadaElwin Sharvill QUALIFIED
Claire C WaycottArgentinaIvan Magalhaes QUALIFIED
Sinclair X BowleyItalyBernardo Dominic RENEWAL
Maisha B MaletFranceIoni Bowcher QUALIFIED
Misaki G FerenczUnited KingdomIvan Magalhaes RENEWAL
Frozen Columns
Name
Darci H Campain
Jennifer P Paprocki
Jennifer V Malet
Jennifer Q Ostrosky
Izzy B Garufi
Salvatore P Figeroa
Octavia U Ruta
Juan Q Whobrey
Octavia B Caldarera
Leja D Wieser
Leja L Figeroa
Rodrigues D Garufi
Chavez C Butt
Maria I Vocelka
Kadeem V Inouye
Salvatore C Stockham
Chavez M Campain
Maisha J Iturbide
Sinclair I Waycott
Alejandro L Sergi
Leja Z Slusarski
Murillo W Royster
Munro Q Marrier
Jones K Amigon
Ricardo N Maclead
Misaki F Ruta
Leja P Albares
Chavez X Gillian
Misaki A Foller
Maria G Perin
Izzy J Foller
Jefferson Y Inouye
Emily U Bolognia
Jennifer H Sergi
Tony W Gillian
Morrow Z Slusarski
Isabel K Saylors
Leon O Nicka
Octavia R Malet
Stacey O Briddick
Tony F Oldroyd
Arvin F Briddick
Leja V Rulapaugh
Sinclair P Campain
Rodrigues D Figeroa
Julie A Stockham
Salvatore I Maclead
Ivar H Chui
Mujtaba N Campain
Silvio C Chui
IdCountryDate
1000France2024-06-22
1001Germany2024-06-11
1002Spain2024-06-17
1003Italy2024-05-31
1004Argentina2024-06-16
1005United Kingdom2024-06-07
1006United Kingdom2024-06-21
1007India2024-06-11
1008India2024-06-18
1009Spain2024-06-06
1010Germany2024-06-10
1011Australia2024-05-27
1012Canada2024-06-20
1013Spain2024-06-21
1014Canada2024-06-11
1015Germany2024-06-23
1016Spain2024-06-09
1017Argentina2024-06-18
1018Russia2024-06-09
1019Spain2024-06-10
1020Brazil2024-06-08
1021Canada2024-06-02
1022Japan2024-06-09
1023Italy2024-06-07
1024Russia2024-06-03
1025Russia2024-06-15
1026Russia2024-06-16
1027Spain2024-06-18
1028Germany2024-06-05
1029Italy2024-06-06
1030United Kingdom2024-06-15
1031India2024-06-11
1032Canada2024-06-09
1033India2024-05-31
1034Spain2024-05-27
1035Argentina2024-06-17
1036Australia2024-05-28
1037Italy2024-06-17
1038Japan2024-05-27
1039Argentina2024-06-07
1040Canada2024-06-04
1041Italy2024-06-06
1042India2024-05-25
1043France2024-06-06
1044Germany2024-06-19
1045France2024-05-29
1046Russia2024-06-15
1047United Kingdom2024-06-13
1048United Kingdom2024-05-28
1049Canada2024-06-19

On-Demand Data

NameIdCountryDate
Chavez T Figeroa1000United Kingdom2024-05-31
Clifford N Morasca1001India2024-06-22
Darci N Caldarera1002Spain2024-05-29
Leon I Briddick1003Russia2024-06-04
Aruna O Flosi1004France2024-05-31
Faith J Inouye1005Brazil2024-06-11
Costa D Ferencz1006France2024-06-05
Mujtaba O Garufi1007Japan2024-06-03
Rodrigues D Rulapaugh1008Argentina2024-06-18
Jefferson L Kolmetz1009Brazil2024-06-05
Kaitlin Z Glick1010Italy2024-05-25
Antonio S Schemmer1011Italy2024-06-18
Darci E Gillian1012Brazil2024-06-19
Munro Q Flosi1013Canada2024-06-22
Kadeem D Iturbide1014United Kingdom2024-06-08
Morrow V Albares1015Argentina2024-06-14
Faith O Garufi1016France2024-06-07
Johnson T Venere1017India2024-06-05
Munro Q Nestle1018Germany2024-06-20
Morrow G Gillian1019France2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas X ButtRussiaOnyama Limba NEW
Clifford J FlosiIndiaIoni Bowcher UNQUALIFIED
Deepesh K GarufiJapanStephen Shaw PROPOSAL
Octavia V KolmetzSpainAmy Elsner NEW
Claire F FigeroaIndiaBernardo Dominic UNQUALIFIED
Mujtaba V MacleadAustraliaIvan Magalhaes PROPOSAL
Faith P OldroydArgentinaStephen Shaw NEW
Cody X SchemmerAustraliaAsiya Javayant RENEWAL
Sinclair M FlosiArgentinaXuxue Feng UNQUALIFIED
Emily Y MacleadFranceIoni Bowcher PROPOSAL
Sinclair X PoquetteAustraliaAnna Fali NEW
Cody C RimUnited KingdomXuxue Feng RENEWAL
Julie U KuskoFranceIvan Magalhaes RENEWAL
Smith P FollerIndiaXuxue Feng PROPOSAL
Emily V AmigonAustraliaOnyama Limba RENEWAL
Stacey J KuskoIndiaAmy Elsner NEGOTIATION
Alejandro E PaprockiJapanAsiya Javayant NEGOTIATION
Salvatore I CampainRussiaXuxue Feng QUALIFIED
Silvio T GillianItalyIvan Magalhaes RENEWAL
Jones L StensethRussiaIoni Bowcher QUALIFIED
Tony K DarakjyUnited KingdomIoni Bowcher NEGOTIATION
Leon Y FollerFranceIoni Bowcher UNQUALIFIED
Jefferson M BologniaArgentinaBernardo Dominic QUALIFIED
Munro M CaldareraBrazilAmy Elsner UNQUALIFIED
Sinclair V InouyeFranceAnna Fali NEW
Ashley M DarakjyRussiaAsiya Javayant QUALIFIED
Aruna H SaylorsAustraliaAmy Elsner NEW
Aditya G PaprockiSpainAmy Elsner NEW
Darci B SchemmerBrazilXuxue Feng QUALIFIED
Alejandro Z KuskoRussiaAsiya Javayant RENEWAL
Jefferson M DilliardFranceOnyama Limba NEW
Jones V SergiUnited KingdomAnna Fali UNQUALIFIED
Emily E GlickAustraliaElwin Sharvill NEGOTIATION
Aditya L CaudyRussiaAmy Elsner NEW
Leon O MacleadUnited KingdomIvan Magalhaes NEGOTIATION
David S StensethBrazilElwin Sharvill QUALIFIED
Stacey F IturbideCanadaAnna Fali NEGOTIATION
Maria Z KuskoIndiaStephen Shaw RENEWAL
Greenwood S DilliardFranceAsiya Javayant NEGOTIATION
Maria M RoysterBrazilAsiya Javayant 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>