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
Darci I DarakjyIndiaAnna Fali RENEWAL
Kadeem G PoquetteSpainStephen Shaw UNQUALIFIED
Octavia Q VocelkaSpainAmy Elsner QUALIFIED
Kadeem L CaudyUnited KingdomBernardo Dominic PROPOSAL
Misaki I VenereBrazilIoni Bowcher NEW
Izzy U IturbideUnited KingdomStephen Shaw NEGOTIATION
Adams I SergiArgentinaStephen Shaw NEGOTIATION
Isabel T BologniaFranceBernardo Dominic NEW
Tony X IturbideUnited KingdomIoni Bowcher NEGOTIATION
Maisha W FerenczItalyAsiya Javayant UNQUALIFIED
Silvio S MaletIndiaAnna Fali NEGOTIATION
Octavia E DoeSpainAsiya Javayant NEGOTIATION
Ashley P WhobreyAustraliaStephen Shaw UNQUALIFIED
Clifford M BowleyIndiaAmy Elsner RENEWAL
Jennifer V TollnerGermanyAsiya Javayant NEW
Morrow N SlusarskiRussiaBernardo Dominic UNQUALIFIED
Morrow U MarrierRussiaAnna Fali NEW
Jones W GarufiIndiaIoni Bowcher QUALIFIED
Ricardo B BowleyRussiaAnna Fali PROPOSAL
Claire P OstroskyRussiaElwin Sharvill UNQUALIFIED
Mujtaba J RoysterJapanStephen Shaw UNQUALIFIED
Morrow Q PerinIndiaAsiya Javayant PROPOSAL
Aditya G GauchoGermanyIvan Magalhaes NEGOTIATION
Smith Z ButtCanadaOnyama Limba NEW
Isabel L OstroskyArgentinaStephen Shaw PROPOSAL
Ricardo J KuskoGermanyAsiya Javayant NEGOTIATION
Aruna R BowleySpainStephen Shaw PROPOSAL
Ashley M BriddickFranceOnyama Limba QUALIFIED
Maisha U RoysterJapanElwin Sharvill PROPOSAL
Leon E MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem D RoysterGermanyIvan Magalhaes NEGOTIATION
Julie T DoeCanadaBernardo Dominic NEGOTIATION
Faith B FerenczJapanAnna Fali QUALIFIED
Maria Y RulapaughRussiaIoni Bowcher NEGOTIATION
Cody G GauchoUnited KingdomIvan Magalhaes NEGOTIATION
Misaki I MorascaBrazilAsiya Javayant PROPOSAL
Salvatore X KuskoItalyIoni Bowcher UNQUALIFIED
Leja X PerinUnited KingdomIvan Magalhaes NEW
Jennifer X ChuiArgentinaOnyama Limba NEGOTIATION
Deepesh E KuskoIndiaOnyama Limba PROPOSAL
Silvio Q OstroskyAustraliaAsiya Javayant NEW
Deepesh L BowleyArgentinaXuxue Feng RENEWAL
Emily Q GlickCanadaAmy Elsner UNQUALIFIED
Costa H KuskoArgentinaBernardo Dominic QUALIFIED
Juan X CaldareraArgentinaIvan Magalhaes NEGOTIATION
Munro O VocelkaItalyAnna Fali PROPOSAL
Francesco W AlbaresSpainBernardo Dominic UNQUALIFIED
Tony I VenereSpainBernardo Dominic NEW
Maria L CampainFranceOnyama Limba NEW
Darci S GarufiCanadaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Morrow F OldroydFranceElwin Sharvill PROPOSAL
Rodrigues Z MorascaRussiaAnna Fali NEW
Faith R FigeroaAustraliaIvan Magalhaes NEW
Salvatore O VocelkaJapanIvan Magalhaes QUALIFIED
Deepesh B BologniaIndiaAmy Elsner UNQUALIFIED
Jefferson X VenereJapanOnyama Limba NEGOTIATION
Maria D FlosiCanadaAnna Fali NEGOTIATION
Deepesh C PerinGermanyAsiya Javayant NEW
Johnson X RimItalyAnna Fali NEGOTIATION
Isabel L CampainBrazilAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie X AlbaresGermany2024-05-18Printing Dimensions NEW71Amy Elsner
1001Mujtaba A VenereAustralia2024-05-17Morlong Associates PROPOSAL26Stephen Shaw
1002Smith E VocelkaJapan2024-04-30King, Christopher A Esq PROPOSAL95Ivan Magalhaes
1003Leon K FlosiUnited Kingdom2024-05-17Chemel, James L Cpa UNQUALIFIED66Anna Fali
1004Izzy M CampainBrazil2024-05-16Benton, John B Jr RENEWAL74Elwin Sharvill
1005Adams H PoquetteBrazil2024-05-16Feiner Bros UNQUALIFIED67Stephen Shaw
1006Murillo M RoysterUnited Kingdom2024-05-23Dorl, James J Esq UNQUALIFIED67Onyama Limba
1007Sinclair P AmigonCanada2024-05-23Feltz Printing Service NEW44Xuxue Feng
1008Maisha D ShinkoFrance2024-05-12Printing Dimensions UNQUALIFIED58Xuxue Feng
1009Darci T InouyeAustralia2024-05-18Truhlar And Truhlar Attys UNQUALIFIED9Ivan Magalhaes
1010Munro X StensethRussia2024-05-08Rangoni Of Florence RENEWAL20Xuxue Feng
1011Cody C SlusarskiSpain2024-05-23Chanay, Jeffrey A Esq QUALIFIED82Anna Fali
1012Jeanfrancois U IturbideFrance2024-05-15Rangoni Of Florence NEGOTIATION53Xuxue Feng
1013Morrow N MacleadBrazil2024-05-10Dorl, James J Esq NEW47Elwin Sharvill
1014Kaitlin M SaylorsFrance2024-05-28Feiner Bros NEGOTIATION82Stephen Shaw
1015Ricardo V MacleadRussia2024-05-20Truhlar And Truhlar Attys QUALIFIED83Anna Fali
1016Juan Z FerenczCanada2024-05-21Rangoni Of Florence NEW67Onyama Limba
1017Sinclair A GillianCanada2024-05-16King, Christopher A Esq RENEWAL4Elwin Sharvill
1018Leon K PerinRussia2024-05-06Chanay, Jeffrey A Esq NEGOTIATION25Xuxue Feng
1019Isabel X PaprockiBrazil2024-05-14Feiner Bros RENEWAL69Elwin Sharvill
1020Jennifer S WieserUnited Kingdom2024-05-21Feiner Bros PROPOSAL46Asiya Javayant
1021David D OldroydJapan2024-05-03Printing Dimensions UNQUALIFIED52Xuxue Feng
1022Francesco C WieserRussia2024-05-26Commercial Press PROPOSAL94Stephen Shaw
1023Salvatore Y FigeroaFrance2024-05-08Chemel, James L Cpa NEGOTIATION33Xuxue Feng
1024Silvio X FollerJapan2024-05-07Buckley Miller Wright NEW31Ivan Magalhaes
1025Aika F MarrierJapan2024-05-09Buckley Miller Wright PROPOSAL35Xuxue Feng
1026Morrow T BowleySpain2024-05-16Printing Dimensions QUALIFIED4Amy Elsner
1027Clifford E SergiBrazil2024-05-19Feltz Printing Service RENEWAL39Amy Elsner
1028Isabel T PoquetteCanada2024-05-11King, Christopher A Esq QUALIFIED46Xuxue Feng
1029Smith Y CaldareraFrance2024-04-29King, Christopher A Esq UNQUALIFIED65Ioni Bowcher
1030Sinclair G OstroskyJapan2024-05-20Printing Dimensions PROPOSAL81Anna Fali
1031Jeanfrancois D SaylorsJapan2024-05-01Chapman, Ross E Esq NEW77Asiya Javayant
1032Munro R MaletUnited Kingdom2024-04-29Truhlar And Truhlar Attys PROPOSAL20Ioni Bowcher
1033David U AlbaresRussia2024-05-12Rangoni Of Florence NEW28Elwin Sharvill
1034Wickens Q AmigonItaly2024-05-03Chapman, Ross E Esq RENEWAL0Elwin Sharvill
1035Murillo U InouyeCanada2024-05-12Commercial Press QUALIFIED59Asiya Javayant
1036Kaitlin D KolmetzAustralia2024-05-16Truhlar And Truhlar Attys NEW40Onyama Limba
1037Sinclair K OstroskyBrazil2024-05-01Rousseaux, Michael Esq NEGOTIATION66Ioni Bowcher
1038Misaki M StockhamArgentina2024-04-30Rousseaux, Michael Esq PROPOSAL56Bernardo Dominic
1039Kadeem R NestleArgentina2024-05-09Feiner Bros NEGOTIATION83Bernardo Dominic
1040Kaitlin P RulapaughBrazil2024-05-11Commercial Press UNQUALIFIED30Amy Elsner
1041Cody K KolmetzItaly2024-05-23Chanay, Jeffrey A Esq QUALIFIED31Bernardo Dominic
1042Julie B PerinItaly2024-05-23Rangoni Of Florence QUALIFIED54Ioni Bowcher
1043Kaitlin U MaletJapan2024-05-21Chemel, James L Cpa RENEWAL45Elwin Sharvill
1044Julie H NickaUnited Kingdom2024-05-06Morlong Associates UNQUALIFIED16Elwin Sharvill
1045Smith T MaletRussia2024-05-07Rousseaux, Michael Esq NEGOTIATION19Bernardo Dominic
1046Salvatore S MacleadAustralia2024-05-10Truhlar And Truhlar Attys NEW85Ivan Magalhaes
1047Juan D RimFrance2024-05-28Printing Dimensions RENEWAL68Anna Fali
1048Jennifer C GlickUnited Kingdom2024-05-22Feiner Bros NEW41Asiya Javayant
1049Johnson U MaletAustralia2024-05-25Printing Dimensions UNQUALIFIED56Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Murillo J CaudyRussiaXuxue Feng NEGOTIATION
Rodrigues V MarrierAustraliaIoni Bowcher QUALIFIED
Izzy K OldroydJapanOnyama Limba QUALIFIED
Mujtaba E SaylorsIndiaAnna Fali RENEWAL
Rodrigues H SaylorsAustraliaAnna Fali PROPOSAL
Adams E NickaItalyAnna Fali PROPOSAL
Munro T SaylorsItalyIvan Magalhaes NEGOTIATION
Adams S RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Ricardo S FollerJapanBernardo Dominic NEGOTIATION
Arvin Q FigeroaAustraliaXuxue Feng NEW
Ivar J FollerGermanyElwin Sharvill NEW
Aruna G VocelkaUnited KingdomElwin Sharvill NEW
Arvin I SlusarskiFranceStephen Shaw QUALIFIED
Isabel B BowleySpainStephen Shaw PROPOSAL
Emily O WieserBrazilAnna Fali RENEWAL
Jennifer E SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin J RutaGermanyStephen Shaw NEGOTIATION
Munro V ButtBrazilElwin Sharvill RENEWAL
Kadeem B ShinkoBrazilXuxue Feng RENEWAL
Misaki U MorascaCanadaIvan Magalhaes NEW
Deepesh D PaprockiIndiaElwin Sharvill UNQUALIFIED
Jones Q TollnerJapanAnna Fali UNQUALIFIED
Sinclair M NestleRussiaIvan Magalhaes UNQUALIFIED
Aruna L DilliardIndiaOnyama Limba PROPOSAL
Maria C WhobreyRussiaBernardo Dominic PROPOSAL
Juan C VocelkaUnited KingdomAnna Fali NEGOTIATION
Clifford T ChuiGermanyAmy Elsner UNQUALIFIED
Salvatore J SaylorsRussiaIoni Bowcher NEW
Izzy W CaudyBrazilElwin Sharvill RENEWAL
Sinclair X PerinAustraliaElwin Sharvill PROPOSAL
Mujtaba H ButtJapanAmy Elsner PROPOSAL
Jefferson D BologniaIndiaOnyama Limba NEW
David Q FerenczAustraliaAmy Elsner QUALIFIED
Mujtaba G BowleyUnited KingdomIoni Bowcher PROPOSAL
Salvatore V AlbaresFranceIvan Magalhaes NEW
Isabel V RoysterArgentinaAsiya Javayant NEW
Adams W SlusarskiGermanyAnna Fali RENEWAL
Tony P VocelkaJapanAnna Fali PROPOSAL
Greenwood S RulapaughRussiaBernardo Dominic NEW
Faith C TollnerIndiaElwin Sharvill NEW
Costa K InouyeJapanIoni Bowcher QUALIFIED
Silvio J KuskoJapanAnna Fali NEGOTIATION
Ricardo E RoysterArgentinaAsiya Javayant UNQUALIFIED
Sinclair J MaletGermanyStephen Shaw QUALIFIED
Chavez M BriddickCanadaOnyama Limba NEW
Ricardo H RimAustraliaElwin Sharvill NEW
Wickens W OstroskyRussiaElwin Sharvill NEGOTIATION
Julie K InouyeRussiaIvan Magalhaes UNQUALIFIED
Nicolas L PoquetteUnited KingdomAsiya Javayant RENEWAL
Juan I DilliardAustraliaAnna Fali NEGOTIATION
Frozen Columns
Name
Mayumi R Chui
Adams X Figeroa
Costa N Perin
Leja G Bolognia
Greenwood R Schemmer
Ricardo G Stenseth
Rodrigues Q Rulapaugh
Misaki B Dilliard
David C Amigon
Kadeem B Inouye
Antonio L Campain
Smith C Stockham
Murillo L Campain
Maisha K Maclead
Maria P Figeroa
Alejandro V Caudy
Greenwood J Saylors
Juan E Marrier
Silvio T Gillian
Silvio S Whobrey
Juan P Morasca
Stacey S Stockham
Mujtaba U Rulapaugh
Adams N Bolognia
Sinclair W Royster
Emily I Wieser
Morrow U Caldarera
Jefferson J Maclead
Cody X Vocelka
Leja C Morasca
Leon W Darakjy
Juan G Schemmer
Francesco D Amigon
Alejandro L Paprocki
Aditya W Waycott
Emily G Chui
Jennifer W Chui
Aruna J Slusarski
Costa M Briddick
Greenwood Y Bolognia
Johnson I Inouye
Jones I Briddick
Leon J Sergi
Morrow S Garufi
Darci H Morasca
Deepesh O Kolmetz
Antonio J Flosi
Smith W Slusarski
Ivar A Oldroyd
Jennifer B Dilliard
IdCountryDate
1000Canada2024-05-16
1001Argentina2024-05-12
1002United Kingdom2024-05-12
1003United Kingdom2024-05-26
1004India2024-05-26
1005Australia2024-05-06
1006Germany2024-05-18
1007Italy2024-05-17
1008Japan2024-05-07
1009Germany2024-05-15
1010Canada2024-05-09
1011Italy2024-04-30
1012Canada2024-05-28
1013Japan2024-05-05
1014Australia2024-05-20
1015Spain2024-05-22
1016Canada2024-05-15
1017France2024-05-11
1018Spain2024-05-02
1019France2024-04-30
1020Japan2024-05-13
1021Germany2024-05-18
1022Japan2024-05-24
1023United Kingdom2024-05-12
1024Japan2024-05-17
1025Spain2024-05-08
1026Germany2024-05-21
1027Argentina2024-04-30
1028Argentina2024-05-11
1029Canada2024-05-03
1030India2024-05-19
1031Canada2024-05-25
1032France2024-05-25
1033Brazil2024-04-29
1034Argentina2024-05-14
1035India2024-05-15
1036Australia2024-05-08
1037Russia2024-05-20
1038India2024-05-11
1039Italy2024-05-19
1040India2024-05-14
1041Japan2024-05-19
1042Germany2024-05-12
1043United Kingdom2024-05-05
1044Germany2024-05-09
1045Italy2024-05-17
1046United Kingdom2024-05-09
1047Italy2024-05-24
1048France2024-05-15
1049Russia2024-05-17

On-Demand Data

NameIdCountryDate
Isabel J Oldroyd1000Italy2024-05-12
Jefferson T Tollner1001Argentina2024-05-27
Jefferson A Doe1002Brazil2024-04-29
Misaki A Foller1003Japan2024-05-13
David A Caudy1004Argentina2024-05-22
Arvin Z Doe1005India2024-05-24
Munro W Venere1006Brazil2024-05-13
Darci G Nicka1007Spain2024-05-19
Maria K Dilliard1008Germany2024-05-16
Smith D Venere1009India2024-05-21
Octavia V Malet1010Germany2024-05-02
Johnson W Gillian1011Australia2024-05-02
James S Garufi1012Spain2024-05-16
Izzy H Schemmer1013Argentina2024-05-06
Deepesh T Bolognia1014Russia2024-05-25
Jefferson V Nicka1015Japan2024-05-26
Antonio J Paprocki1016Japan2024-05-12
Alejandro H Flosi1017United Kingdom2024-05-07
Jefferson C Glick1018Japan2024-05-28
Jefferson K Amigon1019Japan2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas S BologniaGermanyAmy Elsner PROPOSAL
Adams W BologniaGermanyStephen Shaw RENEWAL
Ricardo S SlusarskiBrazilXuxue Feng RENEWAL
Smith Q CampainBrazilAnna Fali UNQUALIFIED
Francesco C InouyeCanadaXuxue Feng PROPOSAL
Munro Q InouyeItalyAsiya Javayant NEGOTIATION
Sinclair Q InouyeCanadaAnna Fali NEGOTIATION
Jefferson W CaudyJapanOnyama Limba RENEWAL
Stacey O GauchoUnited KingdomIvan Magalhaes NEW
Ivar W CaudySpainElwin Sharvill PROPOSAL
Claire B StensethIndiaElwin Sharvill UNQUALIFIED
Adams J FerenczUnited KingdomAsiya Javayant PROPOSAL
Ricardo O ButtUnited KingdomStephen Shaw UNQUALIFIED
Jones N RulapaughCanadaAsiya Javayant QUALIFIED
Aditya Q FollerJapanIoni Bowcher UNQUALIFIED
Octavia T MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Misaki H BriddickGermanyOnyama Limba QUALIFIED
Greenwood V BowleyCanadaAsiya Javayant PROPOSAL
Aika M PerinGermanyOnyama Limba UNQUALIFIED
Antonio T MaletUnited KingdomIoni Bowcher QUALIFIED
Salvatore I DarakjyUnited KingdomAmy Elsner NEGOTIATION
Greenwood F GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Darci N WieserBrazilXuxue Feng PROPOSAL
Costa G FerenczArgentinaIoni Bowcher RENEWAL
Jennifer N ShinkoCanadaStephen Shaw UNQUALIFIED
Isabel T RoysterJapanAmy Elsner NEGOTIATION
Octavia A FollerAustraliaOnyama Limba NEGOTIATION
Chavez G CaudyFranceIvan Magalhaes RENEWAL
Jennifer Q BowleyUnited KingdomAnna Fali UNQUALIFIED
Izzy L TollnerBrazilXuxue Feng PROPOSAL
Nicolas M BowleyAustraliaAnna Fali NEW
Stacey L KuskoFranceXuxue Feng UNQUALIFIED
Emily H MorascaArgentinaIvan Magalhaes QUALIFIED
Leja L StensethJapanOnyama Limba NEGOTIATION
Kaitlin C OstroskyRussiaAsiya Javayant RENEWAL
Greenwood R MacleadJapanAnna Fali QUALIFIED
Maisha H PerinRussiaAmy Elsner QUALIFIED
Claire P MaletUnited KingdomElwin Sharvill PROPOSAL
Greenwood A FollerItalyIvan Magalhaes NEGOTIATION
Jones U VocelkaAustraliaBernardo Dominic 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>