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
Tony J AlbaresIndiaBernardo Dominic RENEWAL
Salvatore Y KuskoAustraliaBernardo Dominic QUALIFIED
Silvio S GillianBrazilIoni Bowcher NEGOTIATION
Murillo U KolmetzAustraliaStephen Shaw NEW
Clifford N WhobreyArgentinaAnna Fali NEW
Salvatore L FerenczCanadaAsiya Javayant NEGOTIATION
David D RutaBrazilAsiya Javayant QUALIFIED
Kaitlin E TollnerRussiaStephen Shaw QUALIFIED
Maisha F StensethAustraliaElwin Sharvill PROPOSAL
Morrow Z FlosiCanadaOnyama Limba RENEWAL
Jennifer Q OldroydItalyIvan Magalhaes QUALIFIED
Leon Z VenereAustraliaAmy Elsner PROPOSAL
Jeanfrancois V PaprockiAustraliaAnna Fali NEW
Silvio Q RulapaughItalyElwin Sharvill NEGOTIATION
Isabel L FollerGermanyIvan Magalhaes UNQUALIFIED
Alejandro X TollnerFranceIvan Magalhaes UNQUALIFIED
Jones G NestleIndiaAsiya Javayant UNQUALIFIED
Izzy I RutaAustraliaIvan Magalhaes PROPOSAL
Jeanfrancois C DilliardAustraliaXuxue Feng RENEWAL
Aika H StockhamArgentinaAmy Elsner NEW
Chavez A RimUnited KingdomAnna Fali PROPOSAL
Ashley R IturbideBrazilElwin Sharvill RENEWAL
Clifford L OldroydJapanElwin Sharvill UNQUALIFIED
Stacey S InouyeGermanyIoni Bowcher UNQUALIFIED
Aruna I AmigonArgentinaOnyama Limba RENEWAL
Greenwood T FigeroaCanadaAmy Elsner NEGOTIATION
Ricardo D InouyeSpainAnna Fali RENEWAL
Tony E CampainItalyAsiya Javayant PROPOSAL
James R GauchoSpainElwin Sharvill PROPOSAL
Arvin W VenereGermanyElwin Sharvill PROPOSAL
Leon K GauchoFranceOnyama Limba UNQUALIFIED
Jones F WhobreyFranceXuxue Feng NEW
James V MaletCanadaOnyama Limba NEW
Ashley Z CaudyGermanyAmy Elsner RENEWAL
Jefferson P RulapaughItalyStephen Shaw QUALIFIED
Julie E SergiSpainBernardo Dominic NEW
Jefferson W MarrierBrazilIvan Magalhaes NEGOTIATION
Darci J PerinCanadaIoni Bowcher QUALIFIED
Julie K DilliardAustraliaElwin Sharvill NEGOTIATION
Aditya S VocelkaAustraliaAnna Fali UNQUALIFIED
Antonio O InouyeUnited KingdomElwin Sharvill QUALIFIED
Alejandro T CaldareraBrazilElwin Sharvill NEGOTIATION
Ashley M StensethArgentinaBernardo Dominic UNQUALIFIED
Murillo A WhobreyArgentinaIoni Bowcher NEW
Chavez I SergiUnited KingdomStephen Shaw QUALIFIED
Darci L WieserRussiaStephen Shaw PROPOSAL
Aika F BologniaGermanyBernardo Dominic UNQUALIFIED
Wickens P MarrierFranceIvan Magalhaes NEW
Jeanfrancois U RutaAustraliaAmy Elsner QUALIFIED
Ivar F CampainCanadaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi W CaudyRussiaIvan Magalhaes NEW
Rodrigues T ShinkoArgentinaStephen Shaw NEGOTIATION
Greenwood V GauchoUnited KingdomOnyama Limba NEGOTIATION
Kadeem Z PoquetteGermanyAsiya Javayant NEGOTIATION
Salvatore Q MaletRussiaStephen Shaw QUALIFIED
Rodrigues Z MacleadAustraliaIoni Bowcher RENEWAL
Salvatore A NickaIndiaAsiya Javayant QUALIFIED
Leon E OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Tony P NestleCanadaXuxue Feng RENEWAL
Munro G ChuiCanadaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey G WieserUnited Kingdom2024-06-01Benton, John B Jr PROPOSAL38Ivan Magalhaes
1001Emily Q WieserBrazil2024-06-05Feiner Bros UNQUALIFIED84Elwin Sharvill
1002David K MarrierIndia2024-05-27Morlong Associates NEW64Bernardo Dominic
1003James H BriddickBrazil2024-06-13Morlong Associates NEGOTIATION7Xuxue Feng
1004Johnson X WhobreyItaly2024-06-12King, Christopher A Esq NEW80Elwin Sharvill
1005Kaitlin E GlickArgentina2024-05-29King, Christopher A Esq PROPOSAL29Amy Elsner
1006Darci F GauchoArgentina2024-06-17Printing Dimensions RENEWAL58Ivan Magalhaes
1007Kaitlin P DarakjyBrazil2024-05-25Truhlar And Truhlar Attys QUALIFIED52Onyama Limba
1008Emily C RoysterArgentina2024-06-05Morlong Associates NEGOTIATION15Stephen Shaw
1009Maria K MaletRussia2024-05-25Benton, John B Jr PROPOSAL8Onyama Limba
1010Deepesh W MacleadRussia2024-05-29Chapman, Ross E Esq PROPOSAL24Amy Elsner
1011Ricardo R VocelkaUnited Kingdom2024-06-11Rangoni Of Florence RENEWAL55Ioni Bowcher
1012Johnson S WaycottBrazil2024-05-28Morlong Associates UNQUALIFIED39Amy Elsner
1013Chavez Q StensethSpain2024-06-14Buckley Miller Wright QUALIFIED13Elwin Sharvill
1014Murillo Q GauchoSpain2024-06-06Benton, John B Jr NEW27Ioni Bowcher
1015Jennifer A RoysterBrazil2024-06-14Dorl, James J Esq RENEWAL51Xuxue Feng
1016Ashley J CampainBrazil2024-06-07Printing Dimensions UNQUALIFIED76Ioni Bowcher
1017Smith D DilliardCanada2024-06-16Chanay, Jeffrey A Esq NEW60Asiya Javayant
1018Silvio L MorascaRussia2024-06-19Commercial Press RENEWAL25Asiya Javayant
1019David L NickaJapan2024-06-10Commercial Press PROPOSAL28Elwin Sharvill
1020Murillo S ButtJapan2024-06-16Printing Dimensions UNQUALIFIED78Xuxue Feng
1021Tony S ButtCanada2024-06-02Chemel, James L Cpa NEW77Asiya Javayant
1022Silvio H CampainIndia2024-06-03Chanay, Jeffrey A Esq NEW59Ioni Bowcher
1023Munro F WhobreyGermany2024-06-11King, Christopher A Esq QUALIFIED59Bernardo Dominic
1024Aika V CaldareraBrazil2024-05-25Morlong Associates RENEWAL95Anna Fali
1025James I CaudyFrance2024-06-13Morlong Associates NEW56Asiya Javayant
1026Murillo D WhobreyItaly2024-06-04Truhlar And Truhlar Attys UNQUALIFIED80Amy Elsner
1027Morrow L AlbaresAustralia2024-06-18Feiner Bros NEW6Stephen Shaw
1028Ivar Q CaudyFrance2024-06-15Feiner Bros PROPOSAL44Xuxue Feng
1029Jennifer G RoysterSpain2024-05-26Chanay, Jeffrey A Esq NEGOTIATION20Amy Elsner
1030Francesco T KuskoGermany2024-06-08Printing Dimensions PROPOSAL2Stephen Shaw
1031Faith Z WieserArgentina2024-06-07Rangoni Of Florence QUALIFIED18Ioni Bowcher
1032Aruna W CampainRussia2024-06-17Printing Dimensions NEW19Anna Fali
1033Wickens T WaycottFrance2024-06-21Rousseaux, Michael Esq PROPOSAL47Asiya Javayant
1034Morrow K SlusarskiAustralia2024-06-18Feltz Printing Service PROPOSAL83Bernardo Dominic
1035Greenwood V MorascaUnited Kingdom2024-06-22Benton, John B Jr QUALIFIED5Elwin Sharvill
1036Emily P VocelkaUnited Kingdom2024-06-04King, Christopher A Esq NEW42Asiya Javayant
1037Morrow S SergiItaly2024-06-10Morlong Associates PROPOSAL16Elwin Sharvill
1038Jefferson W MorascaItaly2024-06-08Truhlar And Truhlar Attys RENEWAL41Elwin Sharvill
1039Maria L ButtItaly2024-06-04Benton, John B Jr UNQUALIFIED95Elwin Sharvill
1040Mujtaba Q KuskoSpain2024-06-20Rangoni Of Florence PROPOSAL51Anna Fali
1041Misaki K ChuiJapan2024-06-16Chemel, James L Cpa NEGOTIATION65Onyama Limba
1042Jones K CampainUnited Kingdom2024-06-17Printing Dimensions NEGOTIATION97Ioni Bowcher
1043Ricardo C MacleadSpain2024-06-02Buckley Miller Wright RENEWAL96Xuxue Feng
1044Aika I SlusarskiFrance2024-05-28Chapman, Ross E Esq QUALIFIED81Bernardo Dominic
1045Silvio A AmigonArgentina2024-06-22Benton, John B Jr PROPOSAL48Onyama Limba
1046Munro D WhobreyUnited Kingdom2024-06-11Chemel, James L Cpa QUALIFIED20Amy Elsner
1047Ashley K DoeUnited Kingdom2024-06-07Dorl, James J Esq NEW38Asiya Javayant
1048Aruna Z AlbaresSpain2024-06-06Chapman, Ross E Esq NEW29Asiya Javayant
1049Mujtaba R WieserArgentina2024-06-19Dorl, James J Esq NEW30Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Julie Q BologniaArgentinaIoni Bowcher QUALIFIED
Faith M AmigonCanadaAnna Fali NEGOTIATION
Aruna D RutaArgentinaAsiya Javayant QUALIFIED
Tony Y StensethArgentinaIvan Magalhaes NEW
Adams T IturbideFranceAsiya Javayant QUALIFIED
Juan U ShinkoSpainAmy Elsner UNQUALIFIED
Wickens R WaycottCanadaAsiya Javayant NEGOTIATION
Maria M ButtCanadaIoni Bowcher RENEWAL
Aruna X FigeroaJapanAsiya Javayant NEGOTIATION
Claire M ShinkoJapanAmy Elsner NEW
Jeanfrancois W AmigonUnited KingdomIvan Magalhaes NEW
Emily T PaprockiFranceBernardo Dominic UNQUALIFIED
Deepesh E MaletArgentinaAmy Elsner RENEWAL
Aditya P BowleyUnited KingdomXuxue Feng NEGOTIATION
Costa X GillianRussiaAmy Elsner PROPOSAL
Kadeem E WieserArgentinaElwin Sharvill PROPOSAL
Wickens S GillianGermanyIvan Magalhaes PROPOSAL
Kadeem E PoquetteCanadaAnna Fali UNQUALIFIED
Emily P FollerJapanElwin Sharvill PROPOSAL
Clifford C MorascaFranceAnna Fali NEGOTIATION
Emily G AlbaresUnited KingdomXuxue Feng PROPOSAL
Julie G MaletCanadaXuxue Feng NEW
Silvio U AmigonBrazilAmy Elsner NEW
Octavia H StockhamRussiaXuxue Feng QUALIFIED
Costa I AlbaresGermanyIvan Magalhaes UNQUALIFIED
Munro L PerinGermanyAsiya Javayant QUALIFIED
James I TollnerCanadaAnna Fali PROPOSAL
Octavia M ChuiJapanAsiya Javayant PROPOSAL
Leja F CaldareraFranceOnyama Limba NEW
Mujtaba B DilliardRussiaXuxue Feng QUALIFIED
Jones S FollerArgentinaBernardo Dominic RENEWAL
Tony J FlosiItalyElwin Sharvill PROPOSAL
Misaki I TollnerSpainElwin Sharvill NEGOTIATION
Izzy S IturbideFranceBernardo Dominic UNQUALIFIED
Maisha J FollerBrazilStephen Shaw QUALIFIED
Juan E SaylorsArgentinaElwin Sharvill NEW
Maisha T SergiUnited KingdomAnna Fali UNQUALIFIED
Sinclair I RimArgentinaStephen Shaw QUALIFIED
Sinclair R MorascaUnited KingdomBernardo Dominic QUALIFIED
Salvatore A BowleyArgentinaIoni Bowcher NEW
Leon N ButtGermanyBernardo Dominic NEGOTIATION
Kaitlin Q AlbaresIndiaIoni Bowcher UNQUALIFIED
Smith X WhobreyBrazilElwin Sharvill UNQUALIFIED
Smith Z MarrierArgentinaXuxue Feng NEGOTIATION
Silvio D MarrierAustraliaOnyama Limba NEW
Costa U VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Murillo V SergiRussiaIoni Bowcher PROPOSAL
Deepesh G AlbaresBrazilStephen Shaw PROPOSAL
Misaki O GarufiCanadaOnyama Limba NEW
Salvatore T NickaBrazilElwin Sharvill QUALIFIED
Frozen Columns
Name
Leon U Schemmer
Sinclair R Nestle
Kadeem V Albares
Cody X Sergi
Leon W Flosi
Maisha Z Campain
Jones T Campain
Jeanfrancois Q Ostrosky
Deepesh I Sergi
Alejandro D Tollner
Aruna J Rulapaugh
Ashley B Darakjy
Isabel G Malet
Smith S Malet
Murillo Y Chui
Murillo N Rulapaugh
Leon Q Vocelka
Juan N Saylors
Juan N Slusarski
Jennifer Q Vocelka
Tony O Morasca
Munro T Paprocki
Leon L Iturbide
Maisha Y Caldarera
Cody C Iturbide
Francesco X Morasca
Leja W Perin
Jefferson M Iturbide
Sinclair B Poquette
Maisha L Malet
Tony F Sergi
Arvin D Paprocki
Julie G Bowley
Leja X Saylors
Costa O Gaucho
Chavez K Ostrosky
Maisha N Sergi
Ricardo T Ruta
Chavez X Oldroyd
Wickens U Paprocki
Rodrigues U Poquette
Antonio P Malet
Cody S Dilliard
Jennifer F Shinko
Antonio G Dilliard
Faith D Ostrosky
David A Rulapaugh
Munro V Gillian
Maisha F Bolognia
Maisha Z Rim
IdCountryDate
1000Spain2024-06-03
1001France2024-06-01
1002Spain2024-06-19
1003Brazil2024-06-16
1004Italy2024-06-08
1005Russia2024-06-02
1006France2024-05-28
1007Russia2024-06-03
1008France2024-05-30
1009Germany2024-06-09
1010Canada2024-05-31
1011Italy2024-06-14
1012Russia2024-06-01
1013France2024-06-09
1014Argentina2024-06-06
1015Australia2024-06-13
1016Argentina2024-06-22
1017Germany2024-06-13
1018Italy2024-06-02
1019Canada2024-06-12
1020Germany2024-06-10
1021United Kingdom2024-06-06
1022Spain2024-06-06
1023Australia2024-06-09
1024France2024-05-28
1025Australia2024-06-09
1026Japan2024-05-30
1027Germany2024-05-29
1028Spain2024-06-01
1029Argentina2024-06-18
1030France2024-06-08
1031Argentina2024-06-09
1032Canada2024-06-02
1033India2024-05-28
1034Spain2024-06-17
1035Japan2024-05-29
1036Canada2024-05-26
1037Italy2024-06-10
1038Brazil2024-06-09
1039Japan2024-06-17
1040Japan2024-06-18
1041India2024-06-07
1042Russia2024-05-25
1043Germany2024-06-08
1044Japan2024-06-13
1045Italy2024-06-11
1046Brazil2024-06-09
1047Brazil2024-06-07
1048Canada2024-06-01
1049India2024-06-03

On-Demand Data

NameIdCountryDate
Isabel G Chui1000Argentina2024-06-17
Faith X Maclead1001India2024-06-16
Emily F Kolmetz1002Spain2024-05-24
Aditya C Kolmetz1003Italy2024-06-15
Kaitlin O Maclead1004Brazil2024-06-06
Adams J Stockham1005Brazil2024-06-07
Jones B Sergi1006France2024-05-25
Misaki N Figeroa1007Argentina2024-05-28
Aditya T Bolognia1008Argentina2024-05-29
Nicolas N Rulapaugh1009Japan2024-06-20
Mayumi Q Dilliard1010Argentina2024-06-05
Jeanfrancois G Vocelka1011France2024-06-02
Cody D Royster1012Russia2024-05-31
David C Marrier1013Russia2024-06-19
Jones M Butt1014Brazil2024-06-14
Antonio B Poquette1015Brazil2024-06-03
Clifford G Whobrey1016United Kingdom2024-05-24
Jones O Garufi1017Germany2024-05-24
Murillo F Ostrosky1018Germany2024-06-08
Ricardo P Rim1019India2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan G StockhamAustraliaBernardo Dominic NEW
Cody M MaletIndiaOnyama Limba NEW
Mayumi B StensethArgentinaXuxue Feng QUALIFIED
Stacey M WaycottJapanIoni Bowcher NEW
Kadeem K KolmetzJapanBernardo Dominic RENEWAL
Maisha O CaudyJapanAsiya Javayant RENEWAL
Leon K BowleyArgentinaIoni Bowcher PROPOSAL
Jennifer W OstroskyUnited KingdomElwin Sharvill QUALIFIED
Leja R FerenczRussiaOnyama Limba RENEWAL
Antonio Y SchemmerItalyOnyama Limba NEGOTIATION
Leon Z KuskoCanadaElwin Sharvill RENEWAL
Julie Y VenereItalyAnna Fali UNQUALIFIED
Ashley X OldroydCanadaAmy Elsner PROPOSAL
Tony V BriddickAustraliaStephen Shaw RENEWAL
Nicolas H FlosiUnited KingdomStephen Shaw PROPOSAL
Stacey R FollerBrazilIvan Magalhaes PROPOSAL
Cody L MaletSpainXuxue Feng QUALIFIED
Chavez F VenereArgentinaAnna Fali PROPOSAL
Darci G WhobreyJapanIoni Bowcher PROPOSAL
Claire J ChuiAustraliaStephen Shaw RENEWAL
Isabel F SaylorsCanadaIoni Bowcher PROPOSAL
Ashley K SchemmerBrazilIvan Magalhaes RENEWAL
Wickens D FlosiRussiaStephen Shaw NEGOTIATION
Isabel O VenereCanadaAsiya Javayant NEW
Stacey A NestleArgentinaIoni Bowcher NEGOTIATION
Salvatore Q VenereUnited KingdomOnyama Limba QUALIFIED
Murillo E ShinkoItalyBernardo Dominic UNQUALIFIED
Octavia Q FollerBrazilIoni Bowcher QUALIFIED
Clifford Y BowleyGermanyIvan Magalhaes NEW
Juan R DilliardArgentinaStephen Shaw UNQUALIFIED
Izzy K VenereUnited KingdomOnyama Limba NEW
Deepesh S VenereAustraliaAmy Elsner UNQUALIFIED
Octavia Z PaprockiArgentinaAmy Elsner RENEWAL
Isabel G StockhamGermanyIoni Bowcher RENEWAL
Antonio Y ChuiSpainBernardo Dominic NEGOTIATION
Wickens S MacleadGermanyXuxue Feng PROPOSAL
Ricardo J WhobreyBrazilXuxue Feng UNQUALIFIED
Misaki B ShinkoArgentinaElwin Sharvill PROPOSAL
Ashley V PoquetteItalyIvan Magalhaes PROPOSAL
Kadeem G SchemmerAustraliaBernardo Dominic 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>