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
Jones N RimArgentinaIvan Magalhaes RENEWAL
Smith V SchemmerItalyIoni Bowcher RENEWAL
Kadeem V MaletUnited KingdomElwin Sharvill PROPOSAL
James F VenereGermanyElwin Sharvill NEW
Aika G StensethAustraliaIvan Magalhaes UNQUALIFIED
Aruna F WaycottArgentinaIoni Bowcher UNQUALIFIED
Clifford X StockhamBrazilBernardo Dominic NEGOTIATION
Jefferson O NestleAustraliaStephen Shaw NEW
Johnson T CaudyFranceBernardo Dominic NEW
Smith U GarufiItalyIoni Bowcher PROPOSAL
Maria G InouyeSpainXuxue Feng NEGOTIATION
Adams U KolmetzSpainAmy Elsner NEGOTIATION
Isabel X SchemmerIndiaAmy Elsner NEGOTIATION
Jeanfrancois J SergiFranceStephen Shaw RENEWAL
Jones M MaletUnited KingdomXuxue Feng NEGOTIATION
Kaitlin S DarakjyUnited KingdomOnyama Limba RENEWAL
Faith X RutaItalyAmy Elsner NEGOTIATION
Emily I MacleadBrazilAnna Fali RENEWAL
Wickens B MarrierUnited KingdomIoni Bowcher RENEWAL
Mayumi X InouyeAustraliaAsiya Javayant PROPOSAL
Arvin F MarrierJapanBernardo Dominic NEGOTIATION
Johnson Y FlosiArgentinaElwin Sharvill UNQUALIFIED
Silvio D PaprockiGermanyIvan Magalhaes QUALIFIED
Kaitlin H RulapaughGermanyAnna Fali RENEWAL
Aika Y RutaUnited KingdomStephen Shaw UNQUALIFIED
Jefferson L TollnerUnited KingdomIoni Bowcher NEGOTIATION
Ivar B OldroydItalyIvan Magalhaes RENEWAL
Deepesh K RulapaughItalyAnna Fali NEGOTIATION
Maria C SergiIndiaStephen Shaw NEGOTIATION
Isabel T BriddickItalyIoni Bowcher QUALIFIED
Greenwood B NickaRussiaElwin Sharvill UNQUALIFIED
Faith R SergiGermanyIoni Bowcher UNQUALIFIED
Murillo B PerinCanadaStephen Shaw RENEWAL
Leon B MarrierAustraliaAmy Elsner NEW
Ashley J DilliardRussiaXuxue Feng PROPOSAL
Mujtaba A CaudyAustraliaAmy Elsner NEW
Darci H GarufiUnited KingdomOnyama Limba PROPOSAL
Emily R RutaGermanyAnna Fali NEGOTIATION
Greenwood Q ButtJapanAnna Fali PROPOSAL
Mujtaba S InouyeSpainElwin Sharvill NEW
Cody H CaldareraBrazilStephen Shaw RENEWAL
Costa F SlusarskiItalyOnyama Limba RENEWAL
Maisha T BriddickBrazilAsiya Javayant QUALIFIED
Julie I VenereFranceAmy Elsner PROPOSAL
Maisha G MarrierItalyAsiya Javayant NEW
Alejandro Y RoysterItalyOnyama Limba NEW
Aruna U ShinkoItalyBernardo Dominic NEGOTIATION
Leja C MacleadBrazilIvan Magalhaes NEGOTIATION
Misaki B BowleyJapanIoni Bowcher NEW
Darci V FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio A BowleyJapanIvan Magalhaes PROPOSAL
Mujtaba F PaprockiBrazilAsiya Javayant NEW
Alejandro K KolmetzUnited KingdomBernardo Dominic PROPOSAL
Ricardo H RimJapanIvan Magalhaes UNQUALIFIED
Mujtaba G OstroskySpainElwin Sharvill NEW
Kadeem Q ButtAustraliaStephen Shaw QUALIFIED
Emily F TollnerItalyAsiya Javayant UNQUALIFIED
Alejandro O PerinBrazilOnyama Limba RENEWAL
Faith S DoeGermanyAnna Fali UNQUALIFIED
Tony A MarrierRussiaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon Q PoquetteGermany2024-05-24Buckley Miller Wright QUALIFIED1Amy Elsner
1001Antonio R MacleadFrance2024-06-18Chanay, Jeffrey A Esq NEW42Stephen Shaw
1002Silvio Q FollerIndia2024-06-05Rousseaux, Michael Esq QUALIFIED95Xuxue Feng
1003Alejandro L AlbaresJapan2024-06-10Chemel, James L Cpa UNQUALIFIED32Stephen Shaw
1004Rodrigues E RoysterArgentina2024-06-15Feltz Printing Service NEW41Ivan Magalhaes
1005Leja N PoquetteCanada2024-05-26Rousseaux, Michael Esq NEGOTIATION57Bernardo Dominic
1006Juan N BriddickGermany2024-05-24Rangoni Of Florence PROPOSAL48Anna Fali
1007Johnson U StockhamFrance2024-05-24Benton, John B Jr NEGOTIATION5Asiya Javayant
1008Isabel Y WaycottCanada2024-06-18Rangoni Of Florence NEW62Ioni Bowcher
1009Silvio M PerinFrance2024-05-30Truhlar And Truhlar Attys QUALIFIED44Stephen Shaw
1010Ivar Z WaycottItaly2024-05-26Commercial Press RENEWAL11Ioni Bowcher
1011Morrow A GillianSpain2024-06-11Dorl, James J Esq PROPOSAL6Asiya Javayant
1012Wickens K SchemmerArgentina2024-06-20Dorl, James J Esq QUALIFIED99Onyama Limba
1013Isabel O AlbaresCanada2024-06-18Chemel, James L Cpa NEGOTIATION6Ioni Bowcher
1014Adams O StensethArgentina2024-05-27Rousseaux, Michael Esq NEW11Anna Fali
1015Deepesh T KolmetzItaly2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED97Anna Fali
1016Mayumi K SaylorsFrance2024-06-12Chanay, Jeffrey A Esq RENEWAL73Stephen Shaw
1017Isabel Z PaprockiJapan2024-06-16Chanay, Jeffrey A Esq RENEWAL41Anna Fali
1018Leja J RoysterSpain2024-06-08Commercial Press NEGOTIATION78Ivan Magalhaes
1019Costa H SlusarskiFrance2024-05-24Chapman, Ross E Esq NEW37Xuxue Feng
1020David A MaletSpain2024-06-15Dorl, James J Esq PROPOSAL41Bernardo Dominic
1021Alejandro C GauchoCanada2024-06-17Feiner Bros PROPOSAL63Xuxue Feng
1022Alejandro I RulapaughCanada2024-06-14Buckley Miller Wright PROPOSAL75Stephen Shaw
1023James Z FerenczIndia2024-06-05Morlong Associates QUALIFIED16Anna Fali
1024Morrow J DilliardArgentina2024-06-10Chanay, Jeffrey A Esq NEGOTIATION68Xuxue Feng
1025Jones G CampainAustralia2024-06-06King, Christopher A Esq NEGOTIATION20Onyama Limba
1026Jeanfrancois J CampainUnited Kingdom2024-06-16Feltz Printing Service RENEWAL26Bernardo Dominic
1027David C DoeRussia2024-06-12Printing Dimensions RENEWAL36Onyama Limba
1028Clifford U WhobreyCanada2024-06-02Morlong Associates NEW53Ivan Magalhaes
1029Claire Y MaletUnited Kingdom2024-06-15Chanay, Jeffrey A Esq NEW15Bernardo Dominic
1030Mujtaba T TollnerIndia2024-06-09Feiner Bros NEW40Elwin Sharvill
1031Murillo G FigeroaCanada2024-06-02Printing Dimensions RENEWAL59Stephen Shaw
1032Jennifer F DoeItaly2024-06-05Chanay, Jeffrey A Esq QUALIFIED86Xuxue Feng
1033Jefferson F BologniaUnited Kingdom2024-06-11Truhlar And Truhlar Attys QUALIFIED96Stephen Shaw
1034Faith S StockhamArgentina2024-06-19Rangoni Of Florence QUALIFIED50Asiya Javayant
1035Ricardo K VenereSpain2024-05-23Commercial Press QUALIFIED35Elwin Sharvill
1036Silvio F FlosiArgentina2024-06-20Benton, John B Jr UNQUALIFIED16Xuxue Feng
1037Cody D FerenczArgentina2024-06-21Chapman, Ross E Esq UNQUALIFIED99Stephen Shaw
1038Jeanfrancois G SaylorsItaly2024-06-19Chanay, Jeffrey A Esq RENEWAL53Ioni Bowcher
1039Julie M StockhamUnited Kingdom2024-05-26Morlong Associates UNQUALIFIED22Xuxue Feng
1040Johnson Z NestleBrazil2024-05-31Chapman, Ross E Esq QUALIFIED43Onyama Limba
1041Johnson B KuskoCanada2024-05-23Benton, John B Jr RENEWAL37Asiya Javayant
1042Tony B WhobreyArgentina2024-05-23Chapman, Ross E Esq RENEWAL88Ioni Bowcher
1043Claire B GarufiGermany2024-06-01Feiner Bros UNQUALIFIED56Ivan Magalhaes
1044Alejandro T CaudyCanada2024-06-17Chemel, James L Cpa NEW24Bernardo Dominic
1045David T BriddickCanada2024-06-03Rousseaux, Michael Esq PROPOSAL56Ivan Magalhaes
1046Clifford V AlbaresJapan2024-06-03Benton, John B Jr NEGOTIATION45Xuxue Feng
1047Aditya J TollnerArgentina2024-06-04Buckley Miller Wright NEW43Ivan Magalhaes
1048Rodrigues I GlickFrance2024-06-12Dorl, James J Esq UNQUALIFIED33Asiya Javayant
1049Jefferson X ShinkoGermany2024-06-10King, Christopher A Esq NEW34Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aika O FollerJapanStephen Shaw RENEWAL
Izzy K SlusarskiBrazilStephen Shaw UNQUALIFIED
Morrow F GlickSpainOnyama Limba PROPOSAL
Arvin F VenereGermanyIvan Magalhaes NEW
Morrow L AmigonAustraliaAsiya Javayant QUALIFIED
Juan S DoeRussiaIvan Magalhaes RENEWAL
Wickens T CaudyIndiaOnyama Limba QUALIFIED
Munro D RoysterFranceXuxue Feng RENEWAL
Munro J OstroskyArgentinaAmy Elsner PROPOSAL
Munro D KolmetzFranceIvan Magalhaes UNQUALIFIED
Mayumi H CaldareraCanadaAnna Fali RENEWAL
Darci U CampainSpainAmy Elsner QUALIFIED
Leon O DarakjyItalyIoni Bowcher PROPOSAL
Morrow N RulapaughArgentinaXuxue Feng QUALIFIED
Claire Z StockhamJapanAnna Fali NEW
Alejandro U StensethSpainOnyama Limba NEW
Smith V DilliardGermanyAmy Elsner NEW
Munro U SergiArgentinaBernardo Dominic NEGOTIATION
Alejandro C FigeroaBrazilElwin Sharvill UNQUALIFIED
Morrow I KuskoFranceXuxue Feng RENEWAL
Sinclair K BriddickUnited KingdomAsiya Javayant RENEWAL
Alejandro Y VenereUnited KingdomBernardo Dominic PROPOSAL
Murillo S DilliardJapanAmy Elsner NEW
Adams B GauchoSpainIvan Magalhaes NEW
Aruna V SaylorsIndiaOnyama Limba QUALIFIED
Julie F SaylorsFranceXuxue Feng NEGOTIATION
Rodrigues B AlbaresRussiaElwin Sharvill PROPOSAL
Aika V NickaBrazilElwin Sharvill PROPOSAL
Munro V KolmetzIndiaAnna Fali NEW
Maisha I RoysterRussiaAmy Elsner RENEWAL
Aruna J GlickRussiaElwin Sharvill RENEWAL
Darci P CaldareraFranceBernardo Dominic PROPOSAL
Juan E RimJapanAmy Elsner RENEWAL
Chavez Q AlbaresRussiaStephen Shaw UNQUALIFIED
Chavez L OldroydGermanyIoni Bowcher QUALIFIED
Claire C AlbaresSpainIoni Bowcher NEW
Stacey D SchemmerRussiaBernardo Dominic NEGOTIATION
Claire P BriddickFranceOnyama Limba UNQUALIFIED
Aruna F ShinkoAustraliaElwin Sharvill NEGOTIATION
Wickens Q AmigonItalyAsiya Javayant PROPOSAL
Izzy T NestleCanadaAnna Fali QUALIFIED
Clifford V AmigonCanadaAnna Fali RENEWAL
Munro N MaletSpainBernardo Dominic NEW
Clifford A SaylorsIndiaAsiya Javayant QUALIFIED
Claire P WieserArgentinaOnyama Limba PROPOSAL
Emily N IturbideUnited KingdomBernardo Dominic QUALIFIED
Wickens L SchemmerItalyBernardo Dominic RENEWAL
Alejandro Y WieserRussiaAmy Elsner NEW
Jones I RoysterFranceIvan Magalhaes NEW
Clifford Q SergiGermanyAmy Elsner RENEWAL
Frozen Columns
Name
Ricardo B Darakjy
Wickens W Sergi
Maisha J Ostrosky
Alejandro D Butt
Isabel D Bolognia
Cody C Kolmetz
Johnson T Venere
Jeanfrancois B Nestle
Claire A Tollner
Julie M Nestle
Maria R Waycott
Smith W Maclead
Maisha A Sergi
Darci L Kusko
Julie U Oldroyd
James T Saylors
Juan L Maclead
Aruna V Ferencz
Leja V Caudy
Maisha V Morasca
Kaitlin H Foller
Maisha G Rulapaugh
Mayumi A Briddick
Ricardo E Marrier
Francesco W Dilliard
Juan O Malet
Clifford R Caldarera
David D Garufi
Silvio X Stockham
Claire N Ostrosky
Kadeem F Nestle
Aika X Wieser
Kaitlin H Vocelka
Isabel B Albares
Morrow N Bolognia
Costa I Stockham
Jennifer G Bowley
Morrow L Ruta
Deepesh O Saylors
Ricardo E Sergi
Juan M Malet
Juan C Malet
Costa Q Inouye
Morrow V Nestle
Maria F Figeroa
Francesco C Gaucho
Nicolas V Flosi
Izzy I Glick
Silvio V Darakjy
Julie G Campain
IdCountryDate
1000Brazil2024-06-01
1001Argentina2024-06-10
1002Argentina2024-05-29
1003India2024-06-17
1004Russia2024-06-17
1005Japan2024-05-29
1006Argentina2024-06-16
1007Canada2024-06-03
1008France2024-06-10
1009Italy2024-06-06
1010Argentina2024-06-17
1011India2024-06-10
1012Italy2024-06-01
1013France2024-06-18
1014Russia2024-06-20
1015Canada2024-06-16
1016Brazil2024-06-11
1017India2024-05-28
1018Japan2024-06-03
1019Russia2024-06-17
1020France2024-06-11
1021Australia2024-05-26
1022Argentina2024-05-28
1023Canada2024-06-12
1024Canada2024-06-02
1025Russia2024-05-26
1026United Kingdom2024-06-05
1027Spain2024-06-15
1028Spain2024-05-23
1029Argentina2024-05-31
1030Australia2024-05-29
1031Australia2024-05-25
1032Canada2024-06-18
1033United Kingdom2024-05-28
1034United Kingdom2024-06-20
1035Brazil2024-06-13
1036Brazil2024-06-14
1037France2024-06-13
1038Spain2024-06-10
1039Canada2024-06-05
1040India2024-06-13
1041Brazil2024-06-18
1042France2024-06-14
1043Australia2024-06-15
1044Italy2024-05-26
1045Spain2024-06-01
1046Australia2024-06-15
1047Canada2024-06-13
1048Australia2024-06-13
1049Germany2024-05-24

On-Demand Data

NameIdCountryDate
Silvio M Caudy1000Japan2024-06-09
Aditya I Inouye1001Australia2024-06-16
Kaitlin R Gillian1002India2024-06-10
Greenwood P Rim1003Spain2024-06-21
Emily H Kusko1004India2024-06-02
Ricardo Y Kusko1005United Kingdom2024-06-11
Nicolas S Schemmer1006Brazil2024-06-09
Smith G Marrier1007Spain2024-06-12
Kaitlin T Briddick1008Australia2024-06-04
Mujtaba U Iturbide1009Australia2024-06-09
Maisha T Campain1010Spain2024-06-03
Jefferson U Butt1011Italy2024-06-16
Ashley G Stockham1012Australia2024-06-14
Leja B Perin1013United Kingdom2024-06-11
Johnson Z Kolmetz1014Australia2024-06-12
Sinclair Y Waycott1015United Kingdom2024-05-30
Maisha S Malet1016Italy2024-05-31
Mayumi Z Stockham1017Germany2024-05-27
Sinclair Q Figeroa1018India2024-06-03
Misaki J Doe1019Canada2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci U GauchoIndiaXuxue Feng NEGOTIATION
Julie U RoysterJapanOnyama Limba NEW
James D RulapaughJapanOnyama Limba QUALIFIED
Stacey T RulapaughSpainOnyama Limba QUALIFIED
Leon P OstroskyAustraliaStephen Shaw NEW
Wickens S OstroskyAustraliaAnna Fali UNQUALIFIED
Salvatore C VenereUnited KingdomXuxue Feng RENEWAL
Leon P AmigonCanadaAsiya Javayant RENEWAL
Izzy N VocelkaCanadaIoni Bowcher UNQUALIFIED
Clifford R NestleCanadaElwin Sharvill NEGOTIATION
Octavia V CaldareraUnited KingdomElwin Sharvill UNQUALIFIED
Smith N DoeRussiaAnna Fali UNQUALIFIED
Sinclair D DilliardCanadaAmy Elsner QUALIFIED
Smith I RimGermanyStephen Shaw RENEWAL
Kaitlin I NestleUnited KingdomOnyama Limba NEW
Ivar D OstroskyCanadaAmy Elsner NEGOTIATION
Ricardo W FerenczIndiaXuxue Feng NEW
Claire P SchemmerBrazilIoni Bowcher RENEWAL
Mayumi G WaycottSpainElwin Sharvill RENEWAL
Clifford R AmigonBrazilIoni Bowcher RENEWAL
David A FlosiRussiaIvan Magalhaes RENEWAL
Wickens S WaycottCanadaBernardo Dominic PROPOSAL
Smith N PaprockiGermanyIvan Magalhaes QUALIFIED
Izzy Z BowleyUnited KingdomAnna Fali QUALIFIED
Izzy U GarufiRussiaStephen Shaw QUALIFIED
Aruna I SlusarskiJapanIoni Bowcher RENEWAL
Sinclair K BologniaJapanStephen Shaw PROPOSAL
Ricardo V CaldareraSpainOnyama Limba PROPOSAL
Jennifer O AmigonBrazilXuxue Feng QUALIFIED
Juan U StensethRussiaXuxue Feng RENEWAL
Emily Q GauchoArgentinaStephen Shaw QUALIFIED
Cody L MaletIndiaIoni Bowcher NEGOTIATION
Silvio H RimGermanyAmy Elsner RENEWAL
Claire Y PaprockiItalyOnyama Limba RENEWAL
Rodrigues D MaletJapanAnna Fali QUALIFIED
Aditya C RulapaughItalyIoni Bowcher UNQUALIFIED
Mayumi U MarrierJapanAsiya Javayant UNQUALIFIED
Mayumi E DilliardCanadaBernardo Dominic QUALIFIED
Kaitlin L RoysterAustraliaBernardo Dominic NEGOTIATION
Deepesh B SaylorsAustraliaStephen Shaw 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>