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
Aruna J RimIndiaAsiya Javayant UNQUALIFIED
Ricardo L PaprockiArgentinaIvan Magalhaes PROPOSAL
Emily D WaycottSpainBernardo Dominic UNQUALIFIED
Misaki M CaldareraRussiaIoni Bowcher QUALIFIED
Costa M VocelkaArgentinaStephen Shaw QUALIFIED
Ricardo R CaldareraIndiaAnna Fali UNQUALIFIED
Cody H NickaIndiaAnna Fali UNQUALIFIED
Aditya C NickaAustraliaIoni Bowcher PROPOSAL
Adams E StockhamAustraliaIoni Bowcher PROPOSAL
Clifford C RulapaughSpainStephen Shaw NEW
Juan K IturbideSpainElwin Sharvill NEGOTIATION
Emily G MorascaBrazilAsiya Javayant QUALIFIED
Claire R RimItalyAnna Fali NEGOTIATION
Ashley F RulapaughJapanXuxue Feng QUALIFIED
Costa D GillianJapanElwin Sharvill PROPOSAL
Mujtaba P OstroskyItalyIoni Bowcher NEGOTIATION
Aika T WieserGermanyIvan Magalhaes RENEWAL
Nicolas X FlosiGermanyOnyama Limba NEW
Smith R InouyeArgentinaAnna Fali PROPOSAL
Nicolas Y BowleyGermanyAmy Elsner QUALIFIED
Alejandro I AmigonCanadaIvan Magalhaes NEW
Deepesh C DarakjyIndiaBernardo Dominic PROPOSAL
Aditya O FerenczAustraliaOnyama Limba RENEWAL
Aruna O InouyeIndiaStephen Shaw PROPOSAL
David E FerenczIndiaIoni Bowcher PROPOSAL
Cody V RutaBrazilAsiya Javayant NEW
Isabel O CampainGermanyOnyama Limba PROPOSAL
Ricardo J StensethItalyAsiya Javayant RENEWAL
Misaki P PaprockiItalyElwin Sharvill NEGOTIATION
Kaitlin J VenereItalyAnna Fali QUALIFIED
Mayumi J FollerGermanyIvan Magalhaes NEGOTIATION
Deepesh D FigeroaJapanAnna Fali NEGOTIATION
Jones F GarufiGermanyAsiya Javayant NEGOTIATION
Leon D NestleAustraliaBernardo Dominic NEGOTIATION
Octavia M GlickGermanyAnna Fali UNQUALIFIED
Ashley M VenereCanadaXuxue Feng PROPOSAL
Greenwood F InouyeCanadaOnyama Limba NEW
Sinclair K GarufiSpainIoni Bowcher QUALIFIED
Leja I DilliardUnited KingdomAmy Elsner NEW
Ashley L KolmetzItalyAmy Elsner QUALIFIED
Octavia C SergiAustraliaElwin Sharvill NEGOTIATION
Claire Z SlusarskiItalyAnna Fali NEGOTIATION
Julie B VenereGermanyXuxue Feng PROPOSAL
Silvio M BologniaBrazilXuxue Feng RENEWAL
David H SergiRussiaElwin Sharvill PROPOSAL
Aika G DilliardIndiaElwin Sharvill NEGOTIATION
Isabel Q VenereItalyBernardo Dominic PROPOSAL
Jones O PaprockiItalyIoni Bowcher PROPOSAL
Maria H KolmetzCanadaAmy Elsner NEW
Misaki I ChuiArgentinaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Alejandro Q DilliardIndiaIoni Bowcher NEW
Alejandro T WieserAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois X OstroskyRussiaOnyama Limba NEGOTIATION
Maisha G DilliardIndiaAsiya Javayant NEW
Deepesh W AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Isabel V KolmetzItalyIoni Bowcher UNQUALIFIED
Antonio E KuskoRussiaAmy Elsner PROPOSAL
Kadeem R DilliardSpainAmy Elsner NEGOTIATION
Deepesh L PerinFranceStephen Shaw RENEWAL
Julie N OstroskyGermanyBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio F NestleJapan2024-06-04Truhlar And Truhlar Attys UNQUALIFIED8Amy Elsner
1001Aditya Y PoquetteAustralia2024-06-09Rangoni Of Florence RENEWAL70Xuxue Feng
1002Jeanfrancois E RimFrance2024-06-17Rangoni Of Florence PROPOSAL9Amy Elsner
1003Jennifer Z PaprockiUnited Kingdom2024-05-31Chemel, James L Cpa NEGOTIATION81Ioni Bowcher
1004Morrow N SlusarskiUnited Kingdom2024-06-20Truhlar And Truhlar Attys UNQUALIFIED69Ivan Magalhaes
1005Smith L DilliardAustralia2024-06-13Printing Dimensions PROPOSAL13Anna Fali
1006Costa R SlusarskiRussia2024-06-23Feltz Printing Service UNQUALIFIED27Elwin Sharvill
1007Isabel K DarakjyCanada2024-06-13Truhlar And Truhlar Attys RENEWAL80Ioni Bowcher
1008Jones G SergiAustralia2024-06-01Chemel, James L Cpa RENEWAL80Ioni Bowcher
1009Aruna Z FigeroaCanada2024-05-31Printing Dimensions UNQUALIFIED98Onyama Limba
1010Sinclair J RutaItaly2024-05-28Buckley Miller Wright NEGOTIATION43Asiya Javayant
1011Johnson F SergiJapan2024-06-21Rousseaux, Michael Esq NEW35Amy Elsner
1012Costa H ShinkoSpain2024-06-13Morlong Associates NEGOTIATION40Amy Elsner
1013Francesco R NickaAustralia2024-06-02Feiner Bros RENEWAL48Anna Fali
1014Morrow K WaycottFrance2024-06-13Morlong Associates NEGOTIATION34Anna Fali
1015James A FollerAustralia2024-06-01King, Christopher A Esq NEW24Onyama Limba
1016Arvin B InouyeAustralia2024-06-22Printing Dimensions UNQUALIFIED99Ioni Bowcher
1017Munro C IturbideItaly2024-06-09Rousseaux, Michael Esq RENEWAL32Asiya Javayant
1018Maria G FollerBrazil2024-05-31Buckley Miller Wright NEGOTIATION37Elwin Sharvill
1019Juan G RoysterSpain2024-05-30Dorl, James J Esq UNQUALIFIED73Amy Elsner
1020Johnson H AlbaresUnited Kingdom2024-06-02Dorl, James J Esq PROPOSAL59Stephen Shaw
1021Murillo E CaldareraAustralia2024-05-30King, Christopher A Esq PROPOSAL4Stephen Shaw
1022Claire S StockhamCanada2024-06-11Commercial Press QUALIFIED84Elwin Sharvill
1023Kaitlin U VocelkaIndia2024-06-10Chapman, Ross E Esq UNQUALIFIED60Elwin Sharvill
1024Sinclair R NickaSpain2024-06-15Buckley Miller Wright UNQUALIFIED40Asiya Javayant
1025Wickens H FlosiIndia2024-06-19Feiner Bros NEW71Asiya Javayant
1026Ivar N BriddickJapan2024-05-27Commercial Press RENEWAL17Anna Fali
1027Ricardo E FlosiBrazil2024-06-20Benton, John B Jr RENEWAL27Asiya Javayant
1028Kaitlin H RutaIndia2024-06-19Feiner Bros UNQUALIFIED97Xuxue Feng
1029Kaitlin Q MacleadJapan2024-05-28King, Christopher A Esq PROPOSAL92Ioni Bowcher
1030Leja U IturbideFrance2024-06-03Feltz Printing Service NEGOTIATION82Elwin Sharvill
1031Rodrigues P MorascaItaly2024-06-01Printing Dimensions NEGOTIATION38Xuxue Feng
1032Aika F RutaAustralia2024-06-12Chapman, Ross E Esq NEGOTIATION91Ioni Bowcher
1033Murillo E KolmetzArgentina2024-06-13Chanay, Jeffrey A Esq QUALIFIED77Ivan Magalhaes
1034Claire E MacleadSpain2024-06-09Truhlar And Truhlar Attys QUALIFIED33Ioni Bowcher
1035Antonio B WhobreySpain2024-06-04Buckley Miller Wright QUALIFIED78Onyama Limba
1036Antonio Z WhobreyItaly2024-06-07Rangoni Of Florence QUALIFIED61Ioni Bowcher
1037Jefferson A CaldareraIndia2024-06-07Benton, John B Jr PROPOSAL23Bernardo Dominic
1038James Z VocelkaJapan2024-05-30Rangoni Of Florence UNQUALIFIED92Asiya Javayant
1039David A SergiGermany2024-06-19Feiner Bros RENEWAL33Onyama Limba
1040Jennifer O RutaSpain2024-06-16Chemel, James L Cpa NEGOTIATION76Ivan Magalhaes
1041Aruna O SergiItaly2024-06-20Rangoni Of Florence PROPOSAL86Ioni Bowcher
1042Costa L CaudyCanada2024-06-21Feltz Printing Service UNQUALIFIED46Asiya Javayant
1043Ivar O ButtArgentina2024-06-01Chanay, Jeffrey A Esq NEGOTIATION19Ivan Magalhaes
1044Rodrigues Y RutaJapan2024-05-27Truhlar And Truhlar Attys RENEWAL74Amy Elsner
1045Alejandro W SaylorsJapan2024-06-23Chemel, James L Cpa QUALIFIED31Ivan Magalhaes
1046Antonio V FigeroaBrazil2024-05-28Feltz Printing Service NEGOTIATION9Elwin Sharvill
1047Rodrigues B GarufiBrazil2024-06-22Rangoni Of Florence NEGOTIATION23Onyama Limba
1048Jones H MacleadBrazil2024-06-01Commercial Press UNQUALIFIED64Amy Elsner
1049Silvio H NickaJapan2024-06-14Rousseaux, Michael Esq QUALIFIED89Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
James G FerenczAustraliaBernardo Dominic QUALIFIED
Wickens R FerenczJapanXuxue Feng RENEWAL
Arvin V ChuiBrazilStephen Shaw NEGOTIATION
Aika W FlosiAustraliaXuxue Feng QUALIFIED
Juan V MaletGermanyAsiya Javayant PROPOSAL
Aditya C GarufiFranceIvan Magalhaes NEW
Misaki S IturbideBrazilBernardo Dominic UNQUALIFIED
James R FollerRussiaAnna Fali PROPOSAL
Jefferson W ShinkoFranceElwin Sharvill NEGOTIATION
Adams K InouyeArgentinaAsiya Javayant NEGOTIATION
Emily L DoeItalyStephen Shaw RENEWAL
Emily M DarakjyAustraliaBernardo Dominic RENEWAL
Ivar O CampainGermanyIvan Magalhaes RENEWAL
Johnson G RoysterItalyAsiya Javayant RENEWAL
David J BriddickAustraliaAmy Elsner RENEWAL
Costa U FollerFranceOnyama Limba PROPOSAL
Kaitlin K KolmetzIndiaIoni Bowcher NEW
Silvio R SergiIndiaXuxue Feng UNQUALIFIED
Aditya B NickaSpainIoni Bowcher QUALIFIED
Tony E StockhamJapanAsiya Javayant NEW
Mayumi I SlusarskiJapanStephen Shaw NEGOTIATION
Jefferson H BowleyJapanXuxue Feng RENEWAL
Murillo E RoysterBrazilAmy Elsner PROPOSAL
Costa H KuskoGermanyStephen Shaw UNQUALIFIED
Ivar L GlickSpainXuxue Feng NEGOTIATION
Kadeem A MacleadAustraliaIvan Magalhaes NEGOTIATION
Arvin S TollnerArgentinaXuxue Feng NEGOTIATION
Costa L MacleadAustraliaXuxue Feng UNQUALIFIED
Kadeem Q BologniaSpainIvan Magalhaes RENEWAL
Francesco V GauchoBrazilOnyama Limba PROPOSAL
Kaitlin X VenereBrazilAnna Fali UNQUALIFIED
Jefferson W FollerSpainXuxue Feng NEW
Antonio O MaletAustraliaStephen Shaw PROPOSAL
Mujtaba J KolmetzFranceIvan Magalhaes NEGOTIATION
Kaitlin B StensethGermanyXuxue Feng QUALIFIED
Nicolas C SchemmerSpainIvan Magalhaes NEW
Julie X FerenczSpainAsiya Javayant NEGOTIATION
Izzy W StensethSpainOnyama Limba PROPOSAL
Salvatore C CaldareraFranceBernardo Dominic NEW
Johnson L NickaGermanyAmy Elsner PROPOSAL
Kadeem E CaudyIndiaStephen Shaw QUALIFIED
Ashley M WaycottFranceAsiya Javayant UNQUALIFIED
Maisha L StockhamRussiaXuxue Feng PROPOSAL
Claire L FollerCanadaIoni Bowcher UNQUALIFIED
Clifford E NestleCanadaElwin Sharvill QUALIFIED
Jones R PoquetteItalyAsiya Javayant NEW
Kadeem Q MacleadSpainBernardo Dominic PROPOSAL
Claire Z MorascaCanadaAnna Fali PROPOSAL
James D BologniaRussiaElwin Sharvill PROPOSAL
Darci S StensethSpainBernardo Dominic QUALIFIED
Frozen Columns
Name
Jones J Shinko
Claire J Perin
Mayumi D Bolognia
Isabel V Saylors
Smith W Maclead
Claire S Ruta
Misaki G Garufi
Emily J Whobrey
Smith Z Darakjy
Kaitlin R Foller
Claire B Shinko
Ricardo J Marrier
Nicolas Y Malet
James W Waycott
Aika U Briddick
Mayumi V Ferencz
Clifford K Nestle
Wickens X Malet
Maisha N Malet
Aika V Kusko
Mujtaba Z Tollner
Emily E Marrier
Izzy B Glick
Wickens B Ostrosky
Jones S Vocelka
Leja C Briddick
Ricardo Y Waycott
Aditya G Malet
Jennifer O Poquette
Darci B Rim
Antonio Y Glick
Darci V Briddick
Munro H Kolmetz
Maria P Inouye
Antonio N Campain
Maria C Malet
Deepesh H Maclead
Izzy G Stockham
Stacey E Perin
Mayumi F Rulapaugh
Jennifer O Poquette
Maria H Dilliard
Claire N Tollner
Johnson B Flosi
Leja W Oldroyd
Kaitlin R Ruta
Aditya N Whobrey
Murillo S Nestle
Faith U Paprocki
Octavia I Waycott
IdCountryDate
1000United Kingdom2024-06-23
1001India2024-06-18
1002Germany2024-06-02
1003France2024-05-26
1004France2024-06-18
1005Italy2024-06-05
1006United Kingdom2024-06-13
1007France2024-05-28
1008Australia2024-05-30
1009Japan2024-06-07
1010France2024-06-09
1011India2024-06-15
1012India2024-06-21
1013Italy2024-06-09
1014Germany2024-06-07
1015Spain2024-06-23
1016Argentina2024-05-28
1017Brazil2024-06-05
1018Japan2024-06-07
1019Spain2024-06-13
1020Spain2024-06-09
1021Canada2024-06-08
1022Japan2024-06-24
1023India2024-06-02
1024Australia2024-06-17
1025Canada2024-06-23
1026France2024-06-24
1027Canada2024-06-18
1028United Kingdom2024-06-14
1029Japan2024-06-24
1030United Kingdom2024-06-09
1031Germany2024-06-08
1032Brazil2024-06-14
1033Brazil2024-05-27
1034Germany2024-06-24
1035Russia2024-06-06
1036Canada2024-06-14
1037India2024-06-21
1038Germany2024-06-16
1039India2024-05-28
1040India2024-05-27
1041Spain2024-06-11
1042Germany2024-06-20
1043India2024-06-19
1044Argentina2024-06-23
1045Brazil2024-05-28
1046Japan2024-06-06
1047France2024-06-03
1048Italy2024-05-28
1049France2024-06-24

On-Demand Data

NameIdCountryDate
Antonio C Kolmetz1000Italy2024-06-17
Faith Q Oldroyd1001Russia2024-05-30
Isabel T Dilliard1002France2024-06-11
Murillo W Maclead1003Canada2024-06-05
Juan S Sergi1004Russia2024-05-29
Jones L Morasca1005Russia2024-06-13
Johnson Y Marrier1006France2024-06-18
Arvin F Morasca1007Russia2024-05-31
Morrow X Rim1008France2024-05-28
Jefferson L Royster1009Australia2024-05-28
Maria J Stenseth1010Argentina2024-06-20
Murillo Z Inouye1011Germany2024-06-04
Arvin T Vocelka1012Japan2024-06-11
Murillo M Malet1013Japan2024-06-07
Julie U Ferencz1014France2024-06-02
Clifford V Waycott1015United Kingdom2024-06-10
Jefferson R Gaucho1016Spain2024-06-05
Antonio I Darakjy1017Canada2024-06-06
Cody X Vocelka1018Spain2024-06-09
Leja N Kusko1019Canada2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois J MarrierRussiaBernardo Dominic NEW
James G AlbaresCanadaElwin Sharvill PROPOSAL
Wickens Y GarufiAustraliaIoni Bowcher RENEWAL
Murillo P SaylorsBrazilAnna Fali UNQUALIFIED
Jennifer Q GauchoFranceIoni Bowcher NEW
Tony E GarufiBrazilStephen Shaw QUALIFIED
Alejandro R MaletBrazilXuxue Feng PROPOSAL
Silvio P StensethIndiaAnna Fali NEGOTIATION
Munro T GauchoUnited KingdomOnyama Limba NEGOTIATION
Sinclair J AmigonUnited KingdomAmy Elsner RENEWAL
Costa R VenereJapanBernardo Dominic QUALIFIED
Izzy N FlosiCanadaAnna Fali UNQUALIFIED
Clifford E PoquetteJapanAmy Elsner UNQUALIFIED
Deepesh F DoeGermanyIvan Magalhaes PROPOSAL
Jennifer H StockhamGermanyElwin Sharvill QUALIFIED
Kaitlin S MaletRussiaElwin Sharvill RENEWAL
Deepesh U PaprockiSpainBernardo Dominic UNQUALIFIED
Salvatore I VocelkaRussiaAsiya Javayant NEGOTIATION
Ricardo I FlosiSpainBernardo Dominic PROPOSAL
James Z BowleyGermanyBernardo Dominic NEGOTIATION
Antonio O AlbaresIndiaOnyama Limba NEGOTIATION
Jeanfrancois N WhobreyFranceXuxue Feng QUALIFIED
Jefferson T BologniaJapanOnyama Limba NEGOTIATION
Octavia Y SlusarskiRussiaIoni Bowcher PROPOSAL
Aruna A OldroydIndiaAmy Elsner UNQUALIFIED
Kaitlin R MorascaCanadaAmy Elsner NEW
Cody H RimCanadaIoni Bowcher NEGOTIATION
Leja V SchemmerUnited KingdomElwin Sharvill NEW
Tony A WhobreyArgentinaXuxue Feng NEW
Antonio Z DilliardJapanStephen Shaw NEGOTIATION
Octavia K StensethUnited KingdomAmy Elsner RENEWAL
Tony X StockhamArgentinaBernardo Dominic PROPOSAL
Deepesh G WhobreyItalyXuxue Feng RENEWAL
Leon W MacleadIndiaIvan Magalhaes NEGOTIATION
Greenwood J FlosiFranceOnyama Limba RENEWAL
Leon P GauchoSpainOnyama Limba NEW
Clifford Z IturbideCanadaStephen Shaw QUALIFIED
Tony N FerenczIndiaOnyama Limba NEW
Aika U GillianGermanyBernardo Dominic NEGOTIATION
Nicolas M ButtJapanAmy Elsner 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>