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
Smith H OstroskyRussiaAmy Elsner NEW
Isabel I TollnerUnited KingdomBernardo Dominic NEGOTIATION
Jefferson D DarakjyUnited KingdomStephen Shaw NEGOTIATION
David B TollnerCanadaIvan Magalhaes NEW
Jones V AmigonJapanAsiya Javayant NEGOTIATION
Murillo L BologniaItalyIvan Magalhaes NEGOTIATION
Jones S StensethIndiaAsiya Javayant PROPOSAL
Ashley M RutaJapanAsiya Javayant RENEWAL
Rodrigues H BologniaBrazilElwin Sharvill RENEWAL
Maisha B DarakjyFranceIvan Magalhaes QUALIFIED
Munro J DarakjyJapanElwin Sharvill NEGOTIATION
Faith O CampainAustraliaStephen Shaw NEGOTIATION
Francesco W MorascaJapanIoni Bowcher QUALIFIED
Tony W WhobreyRussiaAsiya Javayant NEW
Nicolas Y WaycottSpainStephen Shaw NEW
Smith Z OstroskyCanadaXuxue Feng PROPOSAL
Arvin C StockhamSpainAsiya Javayant NEGOTIATION
Wickens V GarufiSpainAmy Elsner PROPOSAL
Salvatore K DoeCanadaIoni Bowcher QUALIFIED
James I KolmetzJapanOnyama Limba QUALIFIED
Jefferson B CampainAustraliaAnna Fali NEGOTIATION
Leon A RoysterRussiaIoni Bowcher UNQUALIFIED
Aruna F PerinSpainXuxue Feng UNQUALIFIED
Johnson G VenereJapanXuxue Feng RENEWAL
Ivar P WaycottJapanAnna Fali PROPOSAL
Maria U NestleUnited KingdomStephen Shaw NEW
Kadeem E ShinkoBrazilXuxue Feng NEGOTIATION
Silvio M ButtIndiaAnna Fali QUALIFIED
Chavez R FigeroaArgentinaAnna Fali RENEWAL
Murillo S PaprockiCanadaElwin Sharvill RENEWAL
Costa Q RutaJapanAsiya Javayant RENEWAL
Jones V FigeroaFranceAsiya Javayant PROPOSAL
Octavia H KuskoJapanXuxue Feng NEW
Costa K OldroydJapanIvan Magalhaes RENEWAL
Nicolas C WhobreyIndiaStephen Shaw RENEWAL
Misaki N NickaRussiaXuxue Feng PROPOSAL
Arvin R BologniaCanadaXuxue Feng NEGOTIATION
Isabel S FollerBrazilElwin Sharvill QUALIFIED
Ashley T AlbaresIndiaAmy Elsner RENEWAL
Greenwood J GauchoIndiaAmy Elsner RENEWAL
Clifford Z WhobreyAustraliaAsiya Javayant PROPOSAL
Clifford N ButtArgentinaAsiya Javayant NEW
Francesco R SchemmerCanadaBernardo Dominic QUALIFIED
Francesco U OstroskyRussiaAsiya Javayant PROPOSAL
Kadeem J CaldareraRussiaAnna Fali UNQUALIFIED
Munro P KuskoArgentinaIvan Magalhaes PROPOSAL
Jennifer E SaylorsAustraliaAmy Elsner UNQUALIFIED
Wickens N MaletFranceAnna Fali NEGOTIATION
Maria A VenereSpainBernardo Dominic QUALIFIED
Faith Q VocelkaRussiaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem Z CaldareraArgentinaBernardo Dominic NEW
Darci P BowleyBrazilAsiya Javayant QUALIFIED
Alejandro V CaldareraSpainStephen Shaw NEW
Sinclair C GarufiUnited KingdomElwin Sharvill PROPOSAL
Salvatore B PerinArgentinaStephen Shaw NEGOTIATION
Morrow M FigeroaJapanAmy Elsner QUALIFIED
Jones T SchemmerUnited KingdomOnyama Limba RENEWAL
Isabel Q MaletSpainOnyama Limba RENEWAL
Julie H TollnerFranceXuxue Feng UNQUALIFIED
Sinclair K DarakjyAustraliaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna Q GauchoCanada2024-05-12Truhlar And Truhlar Attys UNQUALIFIED65Onyama Limba
1001Alejandro Y AlbaresBrazil2024-05-15Chapman, Ross E Esq NEW87Stephen Shaw
1002Tony L CaldareraCanada2024-05-06Benton, John B Jr UNQUALIFIED52Stephen Shaw
1003Mayumi S BologniaRussia2024-05-11Feltz Printing Service NEW50Bernardo Dominic
1004Salvatore F WhobreyJapan2024-05-11Dorl, James J Esq QUALIFIED48Elwin Sharvill
1005Chavez O AmigonAustralia2024-04-26Feiner Bros NEGOTIATION68Ioni Bowcher
1006Faith L FerenczCanada2024-05-10Rousseaux, Michael Esq UNQUALIFIED22Elwin Sharvill
1007Chavez D BriddickJapan2024-05-12Chapman, Ross E Esq NEW40Anna Fali
1008Juan Q KuskoFrance2024-04-25Printing Dimensions NEGOTIATION55Ivan Magalhaes
1009Munro J CaudyRussia2024-04-27Chemel, James L Cpa RENEWAL5Xuxue Feng
1010Jennifer A WhobreyJapan2024-05-24Chemel, James L Cpa PROPOSAL43Asiya Javayant
1011Alejandro X MorascaAustralia2024-05-04Chanay, Jeffrey A Esq QUALIFIED83Bernardo Dominic
1012Salvatore Q SlusarskiItaly2024-04-28King, Christopher A Esq QUALIFIED67Onyama Limba
1013Aditya F OstroskyIndia2024-05-13Feiner Bros QUALIFIED95Bernardo Dominic
1014Tony N AmigonAustralia2024-05-07Rangoni Of Florence RENEWAL53Onyama Limba
1015Julie M OstroskySpain2024-05-02Feltz Printing Service UNQUALIFIED22Asiya Javayant
1016Ivar B PerinCanada2024-04-27Feiner Bros RENEWAL89Anna Fali
1017Stacey H ButtIndia2024-05-13Chanay, Jeffrey A Esq UNQUALIFIED6Stephen Shaw
1018Arvin I CampainArgentina2024-05-16Buckley Miller Wright NEGOTIATION37Xuxue Feng
1019Faith L BriddickJapan2024-05-01Chanay, Jeffrey A Esq QUALIFIED16Ioni Bowcher
1020Ricardo S StensethRussia2024-05-13Morlong Associates NEGOTIATION88Xuxue Feng
1021Nicolas I MacleadRussia2024-05-19Feltz Printing Service RENEWAL82Xuxue Feng
1022Mujtaba V KolmetzIndia2024-05-17Morlong Associates NEGOTIATION90Anna Fali
1023Antonio R ChuiUnited Kingdom2024-04-30Chemel, James L Cpa QUALIFIED41Ioni Bowcher
1024Kadeem F SchemmerSpain2024-05-20Printing Dimensions RENEWAL14Ivan Magalhaes
1025Antonio C PaprockiJapan2024-05-20Rousseaux, Michael Esq UNQUALIFIED88Amy Elsner
1026Izzy P KuskoAustralia2024-05-05Chanay, Jeffrey A Esq NEGOTIATION55Ivan Magalhaes
1027Deepesh U OldroydRussia2024-05-16Chemel, James L Cpa NEW13Elwin Sharvill
1028Clifford R WieserRussia2024-04-25Chapman, Ross E Esq UNQUALIFIED58Bernardo Dominic
1029Juan Q BologniaGermany2024-05-11Benton, John B Jr NEW67Onyama Limba
1030Juan H SchemmerItaly2024-05-06Truhlar And Truhlar Attys QUALIFIED97Xuxue Feng
1031Cody S FerenczCanada2024-05-07Commercial Press PROPOSAL92Stephen Shaw
1032Salvatore Y CampainRussia2024-04-30Buckley Miller Wright PROPOSAL45Asiya Javayant
1033Misaki A RimIndia2024-05-17Feltz Printing Service NEGOTIATION58Bernardo Dominic
1034Maisha M CampainFrance2024-04-25Dorl, James J Esq UNQUALIFIED26Stephen Shaw
1035Cody L CaldareraItaly2024-05-14Feltz Printing Service UNQUALIFIED79Elwin Sharvill
1036Antonio X BowleyFrance2024-04-25Chemel, James L Cpa NEW84Stephen Shaw
1037Rodrigues W RulapaughUnited Kingdom2024-05-06Chanay, Jeffrey A Esq NEGOTIATION45Ivan Magalhaes
1038James F NestleGermany2024-05-08Benton, John B Jr NEW45Anna Fali
1039Faith M CampainCanada2024-05-07Printing Dimensions QUALIFIED89Amy Elsner
1040Salvatore N BologniaSpain2024-04-25Feltz Printing Service NEGOTIATION71Anna Fali
1041Costa Y VenereUnited Kingdom2024-05-13Chemel, James L Cpa QUALIFIED18Stephen Shaw
1042Maisha M BriddickIndia2024-04-26Commercial Press NEW40Stephen Shaw
1043Jeanfrancois W IturbideCanada2024-04-30Benton, John B Jr PROPOSAL48Ivan Magalhaes
1044Arvin O MaletRussia2024-05-04Printing Dimensions UNQUALIFIED61Amy Elsner
1045Darci S MorascaUnited Kingdom2024-05-03Rousseaux, Michael Esq NEGOTIATION49Ivan Magalhaes
1046Tony H SaylorsArgentina2024-05-10Buckley Miller Wright RENEWAL13Elwin Sharvill
1047Juan C MaletSpain2024-05-22Morlong Associates NEW38Bernardo Dominic
1048Salvatore D NickaBrazil2024-05-16Buckley Miller Wright NEGOTIATION84Anna Fali
1049Arvin Q CaudyItaly2024-05-10Truhlar And Truhlar Attys NEGOTIATION22Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Faith E SaylorsUnited KingdomElwin Sharvill QUALIFIED
Aditya D OstroskyCanadaXuxue Feng NEW
Wickens V RoysterArgentinaAmy Elsner NEGOTIATION
Ricardo G CaldareraGermanyAnna Fali NEW
Leon I StensethSpainAsiya Javayant RENEWAL
Sinclair D OldroydIndiaIvan Magalhaes QUALIFIED
Nicolas O ButtGermanyStephen Shaw UNQUALIFIED
Antonio P PerinGermanyAmy Elsner NEGOTIATION
Nicolas S NickaSpainAsiya Javayant NEGOTIATION
Wickens N SchemmerRussiaAnna Fali NEGOTIATION
Costa F WieserArgentinaIvan Magalhaes UNQUALIFIED
Leon G MaletAustraliaXuxue Feng UNQUALIFIED
Faith I StensethUnited KingdomElwin Sharvill UNQUALIFIED
Juan D NestleUnited KingdomIvan Magalhaes RENEWAL
Faith G VenereRussiaXuxue Feng PROPOSAL
Sinclair Y SlusarskiIndiaOnyama Limba RENEWAL
Izzy H RoysterCanadaAnna Fali QUALIFIED
Tony K WieserGermanyOnyama Limba QUALIFIED
Misaki L WieserAustraliaXuxue Feng NEW
Mayumi Q IturbideArgentinaStephen Shaw NEGOTIATION
Leja Y CaudyIndiaXuxue Feng NEGOTIATION
Emily X GillianAustraliaElwin Sharvill RENEWAL
Isabel M RoysterCanadaIoni Bowcher NEGOTIATION
Tony U StensethRussiaXuxue Feng NEW
Smith O ChuiGermanyAsiya Javayant NEW
Costa W BowleyFranceAmy Elsner QUALIFIED
Izzy B VenereFranceStephen Shaw UNQUALIFIED
Francesco E BowleyAustraliaIvan Magalhaes PROPOSAL
Jeanfrancois M SchemmerUnited KingdomStephen Shaw NEGOTIATION
Cody I VocelkaAustraliaOnyama Limba QUALIFIED
Kaitlin N NestleIndiaOnyama Limba RENEWAL
Francesco T CaudyIndiaIvan Magalhaes RENEWAL
Jeanfrancois I SaylorsArgentinaIoni Bowcher NEW
Ashley Q PaprockiArgentinaAsiya Javayant QUALIFIED
Munro X GarufiSpainBernardo Dominic UNQUALIFIED
Adams Y AmigonArgentinaIvan Magalhaes NEW
Aika S MaletFranceIoni Bowcher NEW
Morrow T CaldareraCanadaAnna Fali PROPOSAL
Sinclair Q BowleyIndiaIoni Bowcher NEW
Isabel W BowleyFranceIvan Magalhaes QUALIFIED
Aika K GillianArgentinaIoni Bowcher PROPOSAL
Juan I PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Misaki N CampainArgentinaStephen Shaw NEGOTIATION
Munro T StockhamUnited KingdomAsiya Javayant PROPOSAL
Mujtaba Z SchemmerUnited KingdomAnna Fali RENEWAL
Antonio M AmigonAustraliaBernardo Dominic PROPOSAL
Sinclair F AmigonJapanStephen Shaw QUALIFIED
Kadeem D GauchoGermanyAmy Elsner NEGOTIATION
Mujtaba P DoeArgentinaElwin Sharvill UNQUALIFIED
Johnson U BologniaItalyStephen Shaw UNQUALIFIED
Frozen Columns
Name
Greenwood Q Nicka
Greenwood F Doe
Aika O Maclead
Salvatore G Shinko
Leja N Slusarski
Darci W Briddick
James P Nestle
Aika G Ostrosky
Misaki S Rim
Murillo S Foller
Kadeem Z Caudy
Julie H Ostrosky
Leja H Poquette
Jeanfrancois N Ruta
Claire F Glick
Misaki L Schemmer
Alejandro W Kusko
Alejandro F Ostrosky
Ricardo V Schemmer
Chavez A Bolognia
Julie Z Gillian
Julie V Iturbide
Francesco K Inouye
James L Paprocki
Silvio Q Campain
Aika U Oldroyd
Octavia A Oldroyd
Morrow H Schemmer
Jones N Maclead
Isabel G Briddick
Cody P Morasca
Antonio Y Nestle
Jeanfrancois R Tollner
Octavia Y Wieser
Claire O Marrier
Smith T Bolognia
Jeanfrancois M Waycott
Izzy H Saylors
Wickens E Ferencz
Izzy V Whobrey
Faith U Whobrey
Kadeem O Tollner
Rodrigues V Marrier
Leja R Wieser
Ricardo J Ruta
Isabel N Stenseth
Faith I Morasca
Francesco J Marrier
Emily R Chui
Izzy I Schemmer
IdCountryDate
1000Spain2024-05-02
1001Brazil2024-05-12
1002Spain2024-05-02
1003Canada2024-05-06
1004Australia2024-04-25
1005Canada2024-05-15
1006Argentina2024-04-30
1007Spain2024-05-05
1008Argentina2024-05-14
1009Canada2024-05-14
1010Australia2024-05-22
1011Brazil2024-05-03
1012Canada2024-05-21
1013Japan2024-05-17
1014India2024-05-24
1015Russia2024-05-17
1016Italy2024-05-17
1017Spain2024-04-30
1018Argentina2024-05-20
1019Russia2024-05-16
1020Canada2024-05-13
1021United Kingdom2024-05-14
1022Germany2024-05-10
1023Brazil2024-05-20
1024United Kingdom2024-05-05
1025Canada2024-05-08
1026Russia2024-05-14
1027Brazil2024-05-13
1028United Kingdom2024-04-25
1029India2024-04-27
1030Australia2024-04-26
1031Argentina2024-05-19
1032Canada2024-04-30
1033Russia2024-05-10
1034United Kingdom2024-05-23
1035Australia2024-05-09
1036Argentina2024-05-07
1037Germany2024-05-03
1038Spain2024-05-03
1039Japan2024-05-10
1040France2024-05-23
1041Canada2024-05-03
1042Argentina2024-04-26
1043India2024-05-17
1044Argentina2024-04-29
1045Japan2024-05-12
1046India2024-05-17
1047Australia2024-05-19
1048Canada2024-05-20
1049India2024-05-02

On-Demand Data

NameIdCountryDate
Jennifer U Schemmer1000Japan2024-05-17
Maisha D Flosi1001United Kingdom2024-04-29
Morrow X Bowley1002Japan2024-05-20
Munro L Vocelka1003Argentina2024-05-14
Salvatore F Venere1004Australia2024-05-22
Leon D Darakjy1005Canada2024-05-16
Jennifer R Glick1006Canada2024-05-05
Jones I Chui1007Russia2024-05-13
Ricardo P Stenseth1008Russia2024-04-26
Leja I Nicka1009India2024-04-25
Alejandro N Morasca1010India2024-05-08
Jefferson W Caldarera1011Brazil2024-05-18
Wickens J Ruta1012Argentina2024-05-24
Wickens Z Saylors1013Argentina2024-05-22
Silvio I Saylors1014Germany2024-05-13
Juan A Sergi1015United Kingdom2024-04-29
Sinclair U Royster1016Australia2024-04-26
James P Royster1017Spain2024-05-02
Juan H Flosi1018Australia2024-04-28
Smith P Wieser1019Japan2024-05-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon A SlusarskiUnited KingdomAmy Elsner NEGOTIATION
Silvio E FollerSpainXuxue Feng RENEWAL
Claire B WieserItalyIoni Bowcher NEGOTIATION
Silvio V KolmetzItalyAnna Fali NEGOTIATION
Salvatore T RulapaughCanadaIvan Magalhaes RENEWAL
Sinclair J VenereItalyXuxue Feng PROPOSAL
Salvatore E AlbaresFranceAsiya Javayant NEGOTIATION
Salvatore I MorascaGermanyAnna Fali UNQUALIFIED
Mayumi D WaycottGermanyStephen Shaw NEGOTIATION
Wickens Y FlosiItalyXuxue Feng UNQUALIFIED
Aika U PaprockiCanadaIoni Bowcher UNQUALIFIED
Arvin B OldroydJapanAmy Elsner QUALIFIED
Kaitlin Z TollnerAustraliaOnyama Limba RENEWAL
James B VocelkaJapanAsiya Javayant NEGOTIATION
James D ButtBrazilStephen Shaw PROPOSAL
Sinclair R SergiArgentinaBernardo Dominic UNQUALIFIED
Murillo K GarufiItalyIoni Bowcher UNQUALIFIED
Jeanfrancois Q OstroskyItalyIvan Magalhaes NEW
Nicolas B InouyeBrazilXuxue Feng PROPOSAL
Mujtaba V MorascaJapanAnna Fali QUALIFIED
Jennifer X RimSpainStephen Shaw RENEWAL
Jennifer B FlosiArgentinaAnna Fali UNQUALIFIED
Munro L SchemmerIndiaBernardo Dominic NEGOTIATION
Silvio C NestleBrazilOnyama Limba PROPOSAL
Octavia S RulapaughIndiaElwin Sharvill NEW
Maisha C FigeroaAustraliaElwin Sharvill PROPOSAL
Emily G CaudyItalyAnna Fali PROPOSAL
Tony N AlbaresGermanyXuxue Feng UNQUALIFIED
Claire K VenereAustraliaIoni Bowcher PROPOSAL
Misaki F AlbaresJapanElwin Sharvill NEW
Julie T BowleyItalyOnyama Limba RENEWAL
Julie E SergiBrazilXuxue Feng UNQUALIFIED
Leon T MacleadCanadaIoni Bowcher NEW
Morrow E AmigonFranceXuxue Feng NEW
Nicolas S TollnerFranceAmy Elsner QUALIFIED
Rodrigues Y ChuiSpainAsiya Javayant UNQUALIFIED
Costa E PaprockiCanadaOnyama Limba RENEWAL
Aika H BologniaSpainOnyama Limba QUALIFIED
Chavez O FerenczFranceIvan Magalhaes PROPOSAL
Leja C WieserSpainXuxue Feng 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>