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
Johnson A StensethItalyAsiya Javayant PROPOSAL
Silvio U FollerGermanyIoni Bowcher PROPOSAL
Deepesh I MorascaRussiaAmy Elsner RENEWAL
Wickens U DoeFranceAnna Fali NEW
Chavez V DilliardCanadaAmy Elsner UNQUALIFIED
Wickens X MarrierArgentinaOnyama Limba NEGOTIATION
Tony X SchemmerArgentinaAnna Fali NEW
Maisha A OstroskyBrazilStephen Shaw UNQUALIFIED
Rodrigues I TollnerRussiaAnna Fali RENEWAL
Johnson S StockhamIndiaIvan Magalhaes QUALIFIED
Stacey W RoysterSpainIoni Bowcher NEGOTIATION
Claire Y WieserUnited KingdomOnyama Limba RENEWAL
Smith W MarrierRussiaAsiya Javayant QUALIFIED
Leja J VocelkaRussiaXuxue Feng UNQUALIFIED
Smith Q IturbideGermanyAnna Fali RENEWAL
Maisha O RimBrazilIoni Bowcher NEGOTIATION
Jefferson R CaudyIndiaXuxue Feng NEGOTIATION
Aruna I FollerAustraliaOnyama Limba RENEWAL
Costa S GauchoAustraliaStephen Shaw NEW
Maria R MaletArgentinaIvan Magalhaes UNQUALIFIED
Ivar S KuskoGermanyIoni Bowcher NEGOTIATION
Greenwood T GarufiSpainAmy Elsner QUALIFIED
Jennifer R SlusarskiUnited KingdomXuxue Feng QUALIFIED
Costa W PoquetteSpainIoni Bowcher PROPOSAL
Arvin E VenereFranceOnyama Limba QUALIFIED
Maria E OldroydIndiaIoni Bowcher NEGOTIATION
Isabel J FollerAustraliaAsiya Javayant PROPOSAL
Mayumi O SchemmerSpainOnyama Limba NEW
Julie T KuskoGermanyStephen Shaw UNQUALIFIED
Mayumi Q ChuiJapanIoni Bowcher PROPOSAL
Sinclair A CaldareraIndiaAnna Fali NEW
Rodrigues K WieserSpainAsiya Javayant NEW
Julie N OstroskyItalyIvan Magalhaes PROPOSAL
Isabel P WieserAustraliaXuxue Feng NEW
Greenwood K PerinUnited KingdomAnna Fali UNQUALIFIED
Isabel R GarufiUnited KingdomXuxue Feng NEW
Ashley T VenereItalyAnna Fali NEGOTIATION
Murillo K CaldareraCanadaXuxue Feng NEW
Leon E DoeIndiaOnyama Limba RENEWAL
Murillo B VenereJapanBernardo Dominic PROPOSAL
Costa I AlbaresIndiaAmy Elsner UNQUALIFIED
Munro P VenereRussiaAsiya Javayant UNQUALIFIED
Murillo Y ShinkoArgentinaBernardo Dominic NEGOTIATION
Cody T OldroydArgentinaBernardo Dominic RENEWAL
Emily Z GillianFranceAmy Elsner NEGOTIATION
Izzy I CampainRussiaXuxue Feng NEW
Emily N GillianAustraliaAnna Fali QUALIFIED
Leon G ButtItalyIoni Bowcher UNQUALIFIED
Johnson Q AmigonCanadaAsiya Javayant QUALIFIED
Nicolas C WaycottJapanAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas X OstroskyIndiaIvan Magalhaes UNQUALIFIED
Leja N MorascaSpainElwin Sharvill PROPOSAL
Faith L OldroydCanadaAmy Elsner QUALIFIED
Kadeem I WaycottItalyStephen Shaw UNQUALIFIED
Mayumi Q CaldareraBrazilOnyama Limba RENEWAL
Munro E FlosiFranceAnna Fali PROPOSAL
Jennifer D SergiAustraliaIoni Bowcher NEGOTIATION
Ivar Z FigeroaGermanyIoni Bowcher UNQUALIFIED
Leon W RulapaughIndiaOnyama Limba NEW
Murillo L MacleadCanadaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer I DarakjyArgentina2024-06-03Rousseaux, Michael Esq QUALIFIED88Onyama Limba
1001Alejandro P TollnerUnited Kingdom2024-06-14Feltz Printing Service UNQUALIFIED43Bernardo Dominic
1002Smith C FerenczCanada2024-06-21Chapman, Ross E Esq QUALIFIED66Stephen Shaw
1003Octavia G OstroskyJapan2024-06-04Benton, John B Jr QUALIFIED60Ivan Magalhaes
1004Ashley P KolmetzGermany2024-06-13Chanay, Jeffrey A Esq RENEWAL43Ioni Bowcher
1005Tony Y SergiCanada2024-06-18Chanay, Jeffrey A Esq NEGOTIATION54Ioni Bowcher
1006Sinclair R CaldareraBrazil2024-06-01Benton, John B Jr UNQUALIFIED45Elwin Sharvill
1007Salvatore O GarufiSpain2024-06-03Benton, John B Jr NEW84Bernardo Dominic
1008Claire A KuskoArgentina2024-06-18King, Christopher A Esq NEGOTIATION64Ivan Magalhaes
1009James T CampainCanada2024-05-27Rangoni Of Florence NEGOTIATION67Asiya Javayant
1010Deepesh Z FerenczGermany2024-06-07Chemel, James L Cpa RENEWAL5Xuxue Feng
1011Mujtaba P CaldareraArgentina2024-06-16Feltz Printing Service QUALIFIED80Amy Elsner
1012Costa Q CaldareraSpain2024-06-18Chemel, James L Cpa QUALIFIED37Bernardo Dominic
1013Juan D PaprockiGermany2024-06-04Truhlar And Truhlar Attys NEW35Ivan Magalhaes
1014Octavia X ShinkoRussia2024-06-17Chapman, Ross E Esq PROPOSAL11Ioni Bowcher
1015Octavia O RutaJapan2024-06-02King, Christopher A Esq NEGOTIATION88Xuxue Feng
1016Morrow T SaylorsGermany2024-06-13King, Christopher A Esq UNQUALIFIED95Stephen Shaw
1017Wickens F RulapaughIndia2024-06-13Benton, John B Jr NEGOTIATION97Asiya Javayant
1018Jefferson L WieserBrazil2024-06-19Rousseaux, Michael Esq PROPOSAL5Ivan Magalhaes
1019Darci S BologniaIndia2024-06-14Chapman, Ross E Esq UNQUALIFIED26Asiya Javayant
1020Jeanfrancois G PoquetteItaly2024-06-21Truhlar And Truhlar Attys QUALIFIED28Onyama Limba
1021Johnson K StensethRussia2024-05-26Rousseaux, Michael Esq PROPOSAL59Asiya Javayant
1022Murillo L CaldareraFrance2024-06-03Truhlar And Truhlar Attys QUALIFIED48Asiya Javayant
1023Rodrigues D PoquetteItaly2024-06-02Feiner Bros NEW99Bernardo Dominic
1024Morrow Z RimItaly2024-05-24Dorl, James J Esq UNQUALIFIED6Xuxue Feng
1025Cody F GauchoArgentina2024-06-14Rousseaux, Michael Esq RENEWAL53Anna Fali
1026Sinclair X DarakjyBrazil2024-05-26Truhlar And Truhlar Attys NEGOTIATION68Anna Fali
1027Greenwood J MorascaAustralia2024-06-11Feltz Printing Service RENEWAL45Stephen Shaw
1028Aika J SergiFrance2024-05-31Printing Dimensions QUALIFIED61Xuxue Feng
1029Stacey S RimRussia2024-05-29Morlong Associates NEGOTIATION49Xuxue Feng
1030Antonio Q SlusarskiCanada2024-05-29Feltz Printing Service QUALIFIED25Bernardo Dominic
1031Rodrigues K SaylorsUnited Kingdom2024-06-11Buckley Miller Wright NEW34Xuxue Feng
1032Deepesh I VenereIndia2024-06-13Chapman, Ross E Esq NEW63Onyama Limba
1033Darci H InouyeIndia2024-06-02Chanay, Jeffrey A Esq RENEWAL22Xuxue Feng
1034Jennifer V SaylorsJapan2024-05-30Commercial Press RENEWAL4Onyama Limba
1035Francesco H BriddickArgentina2024-06-15Chapman, Ross E Esq PROPOSAL78Ivan Magalhaes
1036Maisha J GillianArgentina2024-06-09Rangoni Of Florence UNQUALIFIED47Asiya Javayant
1037Juan D KuskoArgentina2024-06-22Rousseaux, Michael Esq QUALIFIED85Amy Elsner
1038Silvio N DarakjyFrance2024-06-02Rangoni Of Florence UNQUALIFIED82Ivan Magalhaes
1039Ivar L MorascaUnited Kingdom2024-06-14Buckley Miller Wright RENEWAL14Stephen Shaw
1040Adams N RutaGermany2024-05-26Dorl, James J Esq NEW58Asiya Javayant
1041James V DarakjyRussia2024-05-26Rousseaux, Michael Esq QUALIFIED30Bernardo Dominic
1042Jeanfrancois B PoquetteCanada2024-06-06Chapman, Ross E Esq PROPOSAL38Bernardo Dominic
1043Faith U InouyeRussia2024-06-12Buckley Miller Wright PROPOSAL79Xuxue Feng
1044Claire V SchemmerAustralia2024-06-05Dorl, James J Esq NEW64Onyama Limba
1045Jennifer O GauchoItaly2024-06-19Morlong Associates QUALIFIED14Bernardo Dominic
1046Faith F NestleArgentina2024-06-02Printing Dimensions PROPOSAL93Amy Elsner
1047Octavia Z BologniaJapan2024-06-08King, Christopher A Esq NEW87Anna Fali
1048Clifford M GarufiAustralia2024-06-10Feiner Bros PROPOSAL71Amy Elsner
1049Misaki R KolmetzRussia2024-05-30Truhlar And Truhlar Attys RENEWAL58Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Alejandro A OldroydArgentinaElwin Sharvill UNQUALIFIED
Maria T IturbideArgentinaIvan Magalhaes NEGOTIATION
Deepesh T StensethSpainAnna Fali QUALIFIED
Murillo C DilliardArgentinaAnna Fali NEGOTIATION
Aruna X PoquetteSpainXuxue Feng PROPOSAL
Jefferson P CampainAustraliaElwin Sharvill QUALIFIED
Antonio F InouyeIndiaElwin Sharvill NEW
Wickens T BowleyGermanyBernardo Dominic RENEWAL
Antonio H MaletSpainOnyama Limba RENEWAL
Mujtaba N CaldareraJapanOnyama Limba RENEWAL
Jennifer O ShinkoAustraliaIvan Magalhaes PROPOSAL
Jefferson H ChuiGermanyAmy Elsner UNQUALIFIED
Silvio G GauchoUnited KingdomAsiya Javayant NEW
Jefferson T WaycottUnited KingdomBernardo Dominic QUALIFIED
Misaki X RulapaughBrazilIvan Magalhaes RENEWAL
David E NickaUnited KingdomOnyama Limba QUALIFIED
Izzy C MaletArgentinaBernardo Dominic PROPOSAL
Claire X OldroydSpainAsiya Javayant UNQUALIFIED
Aditya H BriddickCanadaStephen Shaw QUALIFIED
Smith V MaletBrazilIoni Bowcher NEW
Emily S SergiItalyIvan Magalhaes QUALIFIED
Jones S NickaIndiaXuxue Feng RENEWAL
Rodrigues J FerenczFranceAsiya Javayant RENEWAL
Aruna W WaycottRussiaAnna Fali NEW
Ricardo X NestleArgentinaAnna Fali RENEWAL
Stacey W BologniaFranceIoni Bowcher QUALIFIED
James O MaletArgentinaIvan Magalhaes PROPOSAL
Chavez T DarakjyIndiaElwin Sharvill PROPOSAL
Sinclair T MacleadJapanIoni Bowcher QUALIFIED
Misaki Y FollerRussiaAsiya Javayant NEGOTIATION
Francesco O IturbideSpainAmy Elsner UNQUALIFIED
Juan M PerinCanadaElwin Sharvill QUALIFIED
Jeanfrancois S PoquetteArgentinaOnyama Limba RENEWAL
Aruna K SchemmerItalyOnyama Limba RENEWAL
Kadeem W CaldareraCanadaIoni Bowcher QUALIFIED
Costa A StockhamBrazilAmy Elsner UNQUALIFIED
Kadeem G SlusarskiFranceBernardo Dominic NEGOTIATION
Ricardo J CaudyIndiaAmy Elsner UNQUALIFIED
Ricardo W MorascaGermanyStephen Shaw QUALIFIED
James B BologniaItalyIoni Bowcher PROPOSAL
Tony J SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Aruna W MorascaItalyAmy Elsner PROPOSAL
Costa L FigeroaGermanyOnyama Limba NEW
David E SlusarskiItalyBernardo Dominic QUALIFIED
Munro Q CaudyCanadaIoni Bowcher UNQUALIFIED
Clifford S MorascaArgentinaAnna Fali NEGOTIATION
Aditya D MorascaArgentinaElwin Sharvill NEGOTIATION
Kadeem E AmigonBrazilAmy Elsner NEGOTIATION
Salvatore U VenereFranceElwin Sharvill NEW
Ashley N GlickAustraliaAmy Elsner RENEWAL
Frozen Columns
Name
Jeanfrancois S Nestle
Munro N Slusarski
Claire S Gaucho
Leja G Shinko
Ricardo S Chui
Aruna P Iturbide
Ricardo F Maclead
Darci E Shinko
Tony Z Nestle
Claire J Kusko
Jones B Foller
James V Foller
Mayumi Z Figeroa
Jennifer H Maclead
Sinclair U Vocelka
Kadeem N Briddick
Antonio Q Gillian
Munro S Caudy
Aditya Y Malet
Claire E Stenseth
Francesco Z Caldarera
Nicolas P Perin
Silvio K Maclead
Jeanfrancois P Nicka
Francesco E Sergi
Mayumi L Slusarski
Kadeem V Bolognia
Isabel P Malet
Adams W Amigon
Ashley W Ostrosky
Leja N Rim
Aruna Z Kolmetz
Octavia D Bolognia
Jennifer B Schemmer
Antonio G Caudy
Jennifer M Vocelka
Arvin S Darakjy
Costa A Schemmer
Stacey F Oldroyd
Leon H Royster
Jones J Iturbide
Adams U Caudy
Octavia T Ruta
Leon W Figeroa
Stacey H Nicka
Sinclair L Stenseth
Darci A Ferencz
Munro V Bolognia
Aruna B Morasca
Claire P Oldroyd
IdCountryDate
1000France2024-06-21
1001Brazil2024-06-03
1002Australia2024-06-12
1003France2024-06-06
1004Russia2024-06-16
1005Japan2024-05-29
1006Spain2024-05-29
1007Russia2024-05-26
1008Australia2024-06-17
1009Argentina2024-06-07
1010Italy2024-05-25
1011Spain2024-05-31
1012India2024-06-12
1013India2024-05-30
1014Russia2024-06-19
1015Brazil2024-06-15
1016Australia2024-06-20
1017Argentina2024-06-18
1018Japan2024-05-27
1019France2024-06-11
1020Australia2024-06-03
1021Canada2024-06-01
1022Japan2024-06-19
1023Japan2024-05-28
1024Russia2024-06-16
1025Germany2024-06-09
1026United Kingdom2024-06-04
1027Italy2024-05-24
1028Germany2024-06-19
1029Australia2024-06-04
1030Argentina2024-05-24
1031Italy2024-05-28
1032Spain2024-06-14
1033Brazil2024-06-22
1034Japan2024-05-30
1035Argentina2024-06-18
1036Brazil2024-06-08
1037Argentina2024-06-16
1038Italy2024-05-27
1039Spain2024-05-30
1040Spain2024-06-18
1041India2024-06-17
1042Germany2024-06-22
1043Japan2024-05-30
1044United Kingdom2024-06-20
1045Brazil2024-06-15
1046Australia2024-06-13
1047Italy2024-05-31
1048United Kingdom2024-06-14
1049Canada2024-05-30

On-Demand Data

NameIdCountryDate
Julie M Garufi1000Brazil2024-06-12
Wickens Y Waycott1001Spain2024-06-18
Mayumi E Stenseth1002India2024-06-08
David Y Rulapaugh1003Russia2024-06-08
Mujtaba V Bowley1004United Kingdom2024-05-29
Tony K Venere1005India2024-06-04
Murillo K Waycott1006Brazil2024-06-16
Tony B Albares1007Japan2024-06-19
Johnson J Nicka1008Australia2024-06-08
Wickens T Slusarski1009United Kingdom2024-06-01
Jones H Kolmetz1010France2024-06-07
Adams R Schemmer1011Spain2024-05-30
Aditya K Glick1012France2024-06-02
Cody D Gillian1013France2024-06-20
Julie I Wieser1014Germany2024-06-20
Maria R Nicka1015Spain2024-05-27
Kadeem Q Ferencz1016Italy2024-06-15
Murillo K Stenseth1017Germany2024-06-19
Aditya R Gaucho1018Canada2024-05-30
Jefferson O Malet1019France2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson S RimArgentinaIvan Magalhaes NEGOTIATION
Jefferson J WhobreyRussiaAmy Elsner PROPOSAL
Smith V NickaGermanyIoni Bowcher PROPOSAL
Jeanfrancois Q AlbaresGermanyIvan Magalhaes PROPOSAL
Ricardo N WhobreyAustraliaAsiya Javayant UNQUALIFIED
Emily F RulapaughFranceAsiya Javayant QUALIFIED
Johnson N WaycottArgentinaXuxue Feng RENEWAL
Darci E InouyeGermanyAnna Fali NEGOTIATION
Aruna O DilliardJapanStephen Shaw RENEWAL
Stacey S FigeroaArgentinaAnna Fali QUALIFIED
David N VenereUnited KingdomIoni Bowcher QUALIFIED
Adams I ButtItalyAsiya Javayant UNQUALIFIED
Emily P DilliardFranceAnna Fali RENEWAL
Arvin T AmigonArgentinaStephen Shaw PROPOSAL
Johnson V SlusarskiSpainElwin Sharvill QUALIFIED
Claire N MacleadIndiaBernardo Dominic NEW
Isabel U BowleyUnited KingdomXuxue Feng QUALIFIED
Aditya Y BologniaJapanAmy Elsner QUALIFIED
Juan S PerinRussiaElwin Sharvill RENEWAL
Mujtaba H ShinkoItalyIoni Bowcher UNQUALIFIED
Aika V BowleyJapanXuxue Feng NEGOTIATION
Johnson F BologniaAustraliaAsiya Javayant QUALIFIED
Maria R TollnerAustraliaBernardo Dominic RENEWAL
Jeanfrancois W MaletItalyElwin Sharvill PROPOSAL
Francesco K MaletIndiaXuxue Feng PROPOSAL
Maisha J KolmetzGermanyAmy Elsner NEW
Munro W StockhamBrazilBernardo Dominic UNQUALIFIED
Jefferson B GlickIndiaAsiya Javayant NEW
Stacey Y TollnerIndiaOnyama Limba UNQUALIFIED
Cody Y VocelkaItalyAsiya Javayant QUALIFIED
Claire X CaldareraItalyIvan Magalhaes UNQUALIFIED
Maria X AlbaresCanadaAnna Fali PROPOSAL
Tony J FerenczAustraliaIvan Magalhaes NEW
Smith J MorascaIndiaIvan Magalhaes UNQUALIFIED
Sinclair O DilliardGermanyElwin Sharvill RENEWAL
Arvin I CampainArgentinaIoni Bowcher NEGOTIATION
Rodrigues Y MorascaRussiaXuxue Feng NEW
Isabel M GillianArgentinaAsiya Javayant NEW
Greenwood K OldroydGermanyStephen Shaw RENEWAL
Sinclair L FollerSpainXuxue 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>