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
Ricardo O RulapaughGermanyElwin Sharvill PROPOSAL
Darci G BriddickAustraliaStephen Shaw NEW
Greenwood O StensethRussiaOnyama Limba RENEWAL
Stacey G ButtItalyElwin Sharvill QUALIFIED
Leja U VenereFranceAnna Fali NEGOTIATION
Tony S MarrierJapanStephen Shaw PROPOSAL
Jefferson O TollnerAustraliaStephen Shaw UNQUALIFIED
Costa T KolmetzSpainIoni Bowcher RENEWAL
Maisha D OstroskyItalyElwin Sharvill QUALIFIED
Leon J ChuiBrazilBernardo Dominic RENEWAL
Jeanfrancois A PoquetteIndiaIvan Magalhaes PROPOSAL
Costa H FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Greenwood Q ButtArgentinaOnyama Limba PROPOSAL
Leon K ButtGermanyOnyama Limba NEW
Maria L PaprockiAustraliaIvan Magalhaes QUALIFIED
Darci C VenereFranceIvan Magalhaes UNQUALIFIED
Greenwood G SchemmerJapanAnna Fali NEW
Greenwood Y OldroydArgentinaStephen Shaw RENEWAL
Leon B BologniaItalyAmy Elsner NEW
Costa S StensethUnited KingdomIoni Bowcher UNQUALIFIED
Johnson B SaylorsCanadaBernardo Dominic NEGOTIATION
Adams C GauchoGermanyXuxue Feng NEW
Aruna G KolmetzCanadaStephen Shaw PROPOSAL
Leon W DilliardSpainAsiya Javayant NEW
Nicolas S PerinArgentinaIoni Bowcher QUALIFIED
James O MaletRussiaAsiya Javayant QUALIFIED
Ivar Q PaprockiSpainXuxue Feng RENEWAL
David K DoeBrazilIoni Bowcher RENEWAL
Alejandro H NestleBrazilIvan Magalhaes UNQUALIFIED
Stacey S AlbaresIndiaAsiya Javayant UNQUALIFIED
Deepesh E CaldareraJapanStephen Shaw RENEWAL
Nicolas T GauchoItalyBernardo Dominic UNQUALIFIED
Greenwood H CaudySpainIoni Bowcher UNQUALIFIED
Greenwood Y CampainRussiaElwin Sharvill UNQUALIFIED
Isabel K MacleadUnited KingdomAmy Elsner NEW
Emily B RoysterSpainAnna Fali PROPOSAL
Morrow H ChuiAustraliaBernardo Dominic NEW
Mujtaba B RimFranceBernardo Dominic QUALIFIED
Antonio C WieserUnited KingdomBernardo Dominic NEW
Isabel O OstroskyUnited KingdomElwin Sharvill RENEWAL
David N WieserUnited KingdomOnyama Limba RENEWAL
Smith H ShinkoItalyAnna Fali QUALIFIED
Aditya H ChuiBrazilAmy Elsner RENEWAL
Mujtaba P FerenczUnited KingdomElwin Sharvill NEGOTIATION
Julie O WhobreyFranceXuxue Feng NEGOTIATION
Francesco P InouyeCanadaIoni Bowcher UNQUALIFIED
Munro K SergiArgentinaAmy Elsner NEGOTIATION
Aika O FigeroaCanadaOnyama Limba RENEWAL
Faith Y FerenczFranceElwin Sharvill UNQUALIFIED
Ivar B GarufiItalyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Smith C RulapaughSpainAsiya Javayant UNQUALIFIED
Munro L NestleJapanElwin Sharvill RENEWAL
Tony G ButtArgentinaBernardo Dominic NEW
Misaki L IturbideSpainOnyama Limba PROPOSAL
Isabel T CaudyAustraliaStephen Shaw RENEWAL
Alejandro Q SchemmerIndiaAnna Fali NEW
Ricardo I KuskoRussiaAmy Elsner NEGOTIATION
Maria B CampainUnited KingdomBernardo Dominic NEW
Emily E SaylorsRussiaStephen Shaw QUALIFIED
Ivar F KuskoGermanyXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja K WaycottCanada2024-05-28Chapman, Ross E Esq UNQUALIFIED61Bernardo Dominic
1001Ricardo Q VocelkaJapan2024-05-28Chanay, Jeffrey A Esq NEGOTIATION80Ioni Bowcher
1002Isabel S WhobreyIndia2024-06-16King, Christopher A Esq PROPOSAL60Elwin Sharvill
1003Silvio M FlosiJapan2024-06-04Truhlar And Truhlar Attys NEW82Ivan Magalhaes
1004Murillo V GillianCanada2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED26Ioni Bowcher
1005Maisha X MaletIndia2024-06-18Buckley Miller Wright PROPOSAL43Bernardo Dominic
1006Maria X CaldareraIndia2024-06-02Morlong Associates NEW76Ivan Magalhaes
1007Ivar I VenereJapan2024-05-31Buckley Miller Wright UNQUALIFIED9Asiya Javayant
1008David M VenereJapan2024-06-02Chapman, Ross E Esq NEGOTIATION55Xuxue Feng
1009Sinclair S SaylorsIndia2024-05-28Feiner Bros UNQUALIFIED93Xuxue Feng
1010Wickens F KuskoIndia2024-06-03Commercial Press UNQUALIFIED22Bernardo Dominic
1011Arvin O ShinkoUnited Kingdom2024-06-07Truhlar And Truhlar Attys PROPOSAL73Elwin Sharvill
1012Ricardo Y StockhamJapan2024-06-14Chanay, Jeffrey A Esq RENEWAL13Elwin Sharvill
1013James Z StensethCanada2024-06-15Benton, John B Jr PROPOSAL99Onyama Limba
1014Arvin F DarakjyFrance2024-05-27Dorl, James J Esq UNQUALIFIED14Elwin Sharvill
1015Emily O SlusarskiIndia2024-05-29Feiner Bros RENEWAL54Stephen Shaw
1016Arvin S ButtIndia2024-06-19Buckley Miller Wright UNQUALIFIED60Ioni Bowcher
1017Antonio K AlbaresSpain2024-06-04Chanay, Jeffrey A Esq RENEWAL53Elwin Sharvill
1018Kadeem K NestleIndia2024-06-17King, Christopher A Esq NEW7Stephen Shaw
1019Mayumi S KuskoJapan2024-05-26Rangoni Of Florence NEGOTIATION63Ivan Magalhaes
1020Deepesh Z RoysterGermany2024-06-04Chapman, Ross E Esq NEGOTIATION74Ivan Magalhaes
1021Munro M StensethItaly2024-06-10Chanay, Jeffrey A Esq RENEWAL53Onyama Limba
1022Adams I GauchoAustralia2024-05-29Feiner Bros UNQUALIFIED47Ivan Magalhaes
1023Munro G KolmetzJapan2024-06-02Commercial Press UNQUALIFIED56Ioni Bowcher
1024Claire B IturbideItaly2024-06-13Chanay, Jeffrey A Esq PROPOSAL80Elwin Sharvill
1025Costa S FlosiBrazil2024-05-23Commercial Press NEW17Ivan Magalhaes
1026Antonio G VenereBrazil2024-06-06Buckley Miller Wright NEW49Xuxue Feng
1027Jefferson C RutaItaly2024-06-09Benton, John B Jr NEW79Xuxue Feng
1028Emily U RulapaughUnited Kingdom2024-06-16Commercial Press NEW52Ivan Magalhaes
1029Kaitlin T WaycottGermany2024-06-18King, Christopher A Esq PROPOSAL77Asiya Javayant
1030Aditya T NestleSpain2024-05-23Benton, John B Jr UNQUALIFIED59Stephen Shaw
1031Silvio R MarrierAustralia2024-05-31Rangoni Of Florence UNQUALIFIED23Ivan Magalhaes
1032Ivar G RulapaughBrazil2024-05-26Dorl, James J Esq NEGOTIATION31Amy Elsner
1033Emily W PoquetteItaly2024-06-14Feiner Bros NEW66Bernardo Dominic
1034Jeanfrancois E RimRussia2024-06-04Chemel, James L Cpa NEGOTIATION38Ioni Bowcher
1035James N NickaArgentina2024-06-17Truhlar And Truhlar Attys PROPOSAL16Onyama Limba
1036James O PerinBrazil2024-05-30Truhlar And Truhlar Attys RENEWAL73Bernardo Dominic
1037Aruna P RoysterSpain2024-06-02Rangoni Of Florence NEGOTIATION18Xuxue Feng
1038Francesco L DarakjyRussia2024-06-02King, Christopher A Esq QUALIFIED99Xuxue Feng
1039Arvin N WieserCanada2024-05-28Feltz Printing Service RENEWAL12Bernardo Dominic
1040Claire E DarakjyUnited Kingdom2024-06-17Feiner Bros NEW87Anna Fali
1041Greenwood D AmigonFrance2024-05-31Benton, John B Jr PROPOSAL8Asiya Javayant
1042Antonio P BowleyItaly2024-05-30King, Christopher A Esq NEW71Anna Fali
1043Leja D StensethCanada2024-06-11Chapman, Ross E Esq NEGOTIATION81Asiya Javayant
1044Munro V FerenczSpain2024-06-14Rousseaux, Michael Esq NEW11Asiya Javayant
1045Faith Q WaycottRussia2024-06-15Buckley Miller Wright RENEWAL17Xuxue Feng
1046Emily C MorascaUnited Kingdom2024-06-09Commercial Press NEW91Elwin Sharvill
1047Arvin F NickaJapan2024-06-19Truhlar And Truhlar Attys QUALIFIED35Anna Fali
1048Darci J DilliardRussia2024-06-18Rousseaux, Michael Esq PROPOSAL47Asiya Javayant
1049Alejandro N SaylorsItaly2024-06-08Morlong Associates UNQUALIFIED24Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Munro O RimJapanStephen Shaw NEW
Aika K StensethUnited KingdomBernardo Dominic NEGOTIATION
Adams L GarufiItalyAsiya Javayant PROPOSAL
Leon X WaycottIndiaAmy Elsner RENEWAL
Jones Q AmigonArgentinaXuxue Feng RENEWAL
Juan C VocelkaSpainAnna Fali UNQUALIFIED
Alejandro K PaprockiBrazilAnna Fali RENEWAL
Chavez K DoeRussiaXuxue Feng RENEWAL
Stacey M MaletJapanAnna Fali UNQUALIFIED
Cody O FerenczItalyBernardo Dominic QUALIFIED
Aruna P StensethAustraliaAnna Fali UNQUALIFIED
Izzy V StensethIndiaIvan Magalhaes NEW
Izzy X StockhamItalyXuxue Feng PROPOSAL
Stacey U StockhamItalyIvan Magalhaes QUALIFIED
Deepesh A MaletJapanStephen Shaw UNQUALIFIED
Kadeem N VocelkaItalyStephen Shaw NEW
Sinclair F PaprockiArgentinaAnna Fali UNQUALIFIED
Smith U RutaArgentinaIoni Bowcher NEW
Faith C NestleAustraliaAnna Fali RENEWAL
Ashley F VenereGermanyAsiya Javayant PROPOSAL
Jefferson F TollnerGermanyAnna Fali UNQUALIFIED
Maisha O OldroydSpainStephen Shaw NEGOTIATION
Ashley A MaletCanadaIvan Magalhaes PROPOSAL
Jones P ButtRussiaStephen Shaw RENEWAL
Leja P FerenczArgentinaElwin Sharvill NEW
Leon Z DarakjyUnited KingdomElwin Sharvill PROPOSAL
Deepesh H FigeroaUnited KingdomIvan Magalhaes PROPOSAL
Maria S InouyeFranceAmy Elsner PROPOSAL
Tony D BologniaArgentinaAnna Fali QUALIFIED
Antonio Q GauchoBrazilElwin Sharvill QUALIFIED
Arvin Q IturbideUnited KingdomBernardo Dominic NEGOTIATION
Julie A IturbideAustraliaAmy Elsner PROPOSAL
Faith N RoysterGermanyAnna Fali PROPOSAL
Jefferson Z CaudyAustraliaStephen Shaw NEGOTIATION
Ricardo B FlosiIndiaOnyama Limba QUALIFIED
Morrow D PoquetteUnited KingdomOnyama Limba RENEWAL
Jennifer J FigeroaBrazilXuxue Feng PROPOSAL
Deepesh W GlickUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba O OstroskyBrazilIoni Bowcher NEW
Jennifer C AmigonCanadaOnyama Limba PROPOSAL
Ivar N GillianIndiaIvan Magalhaes NEGOTIATION
Tony S InouyeCanadaStephen Shaw QUALIFIED
Salvatore O DoeAustraliaElwin Sharvill QUALIFIED
Claire K BriddickCanadaAnna Fali PROPOSAL
Leja C FerenczGermanyXuxue Feng NEW
Deepesh T MaletBrazilStephen Shaw NEW
Clifford U BriddickAustraliaIvan Magalhaes NEW
Sinclair P MorascaRussiaBernardo Dominic NEW
Clifford O VocelkaSpainStephen Shaw RENEWAL
Ivar S RoysterUnited KingdomElwin Sharvill QUALIFIED
Frozen Columns
Name
Ivar D Kusko
Leon Q Vocelka
Leja D Morasca
Leja I Slusarski
Silvio E Sergi
Ashley R Caudy
Wickens L Chui
Jennifer V Nicka
Octavia G Sergi
Maria N Poquette
Aditya S Wieser
Sinclair N Inouye
David N Rulapaugh
Jennifer O Rim
Alejandro Y Campain
Cody X Ruta
Greenwood N Caudy
Adams N Garufi
Misaki P Oldroyd
Morrow B Bowley
Chavez D Campain
Adams Z Marrier
Nicolas F Flosi
Francesco H Foller
Stacey X Malet
Claire C Tollner
Juan G Paprocki
Juan E Chui
Jefferson L Butt
Maria R Sergi
Isabel T Albares
Wickens A Waycott
Wickens X Inouye
Faith K Briddick
Octavia B Flosi
Murillo J Rim
Alejandro J Sergi
Alejandro P Flosi
Leon P Nestle
Rodrigues E Amigon
Ivar X Rim
Jefferson T Kusko
Sinclair C Shinko
Aditya G Kusko
Ashley S Bolognia
David W Kolmetz
Julie N Amigon
Antonio J Malet
Cody T Schemmer
Rodrigues E Malet
IdCountryDate
1000Japan2024-05-23
1001Argentina2024-06-11
1002Spain2024-06-13
1003Australia2024-06-03
1004Japan2024-06-19
1005Canada2024-05-26
1006India2024-05-28
1007Canada2024-06-21
1008Italy2024-06-14
1009Japan2024-05-27
1010Germany2024-06-16
1011France2024-06-21
1012Russia2024-06-04
1013Australia2024-05-29
1014Spain2024-06-21
1015France2024-05-31
1016Germany2024-05-28
1017United Kingdom2024-06-07
1018Brazil2024-06-18
1019Argentina2024-06-15
1020United Kingdom2024-06-13
1021Japan2024-06-02
1022Italy2024-06-19
1023Italy2024-06-12
1024Germany2024-06-20
1025France2024-06-10
1026United Kingdom2024-06-19
1027Russia2024-06-04
1028United Kingdom2024-06-12
1029Italy2024-05-26
1030Italy2024-06-17
1031Spain2024-06-15
1032Brazil2024-06-09
1033Japan2024-05-24
1034India2024-06-09
1035United Kingdom2024-06-07
1036Australia2024-06-14
1037France2024-06-13
1038Spain2024-06-06
1039Russia2024-06-15
1040Germany2024-06-09
1041France2024-06-13
1042Italy2024-06-16
1043Argentina2024-06-13
1044Italy2024-06-03
1045Argentina2024-05-28
1046India2024-06-13
1047Argentina2024-06-01
1048Australia2024-06-17
1049United Kingdom2024-06-16

On-Demand Data

NameIdCountryDate
Faith J Malet1000India2024-06-08
Francesco S Chui1001Spain2024-06-07
Kaitlin T Nestle1002Canada2024-05-27
Murillo D Gillian1003Germany2024-06-02
Darci X Marrier1004Germany2024-06-17
Darci G Malet1005Argentina2024-06-09
Clifford R Garufi1006Germany2024-06-06
Isabel N Rim1007Argentina2024-06-18
Ricardo B Marrier1008Italy2024-05-28
Darci C Glick1009Spain2024-06-05
Wickens O Glick1010Canada2024-05-25
Rodrigues F Marrier1011Brazil2024-05-30
Misaki N Maclead1012Germany2024-06-01
Arvin U Venere1013Australia2024-06-15
Adams N Malet1014Russia2024-06-16
Silvio O Flosi1015United Kingdom2024-06-06
Octavia T Saylors1016India2024-06-08
Octavia A Doe1017United Kingdom2024-06-20
Costa N Venere1018Spain2024-06-09
Izzy X Figeroa1019Italy2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson M ShinkoCanadaBernardo Dominic NEW
Sinclair G OldroydGermanyAmy Elsner QUALIFIED
Jeanfrancois J InouyeFranceAmy Elsner NEW
Leja X MorascaAustraliaBernardo Dominic UNQUALIFIED
Johnson H InouyeCanadaStephen Shaw PROPOSAL
Juan M FerenczSpainIoni Bowcher RENEWAL
Ricardo S NestleArgentinaAmy Elsner UNQUALIFIED
Darci J ShinkoItalyAnna Fali NEGOTIATION
Johnson H WaycottFranceAmy Elsner PROPOSAL
James S StensethAustraliaXuxue Feng PROPOSAL
Ashley W AlbaresJapanOnyama Limba RENEWAL
Mayumi C MaletSpainXuxue Feng NEW
Izzy A DarakjyAustraliaIoni Bowcher PROPOSAL
Maria K KolmetzItalyIvan Magalhaes NEGOTIATION
Costa N CaudyCanadaIoni Bowcher NEW
Murillo Z DoeFranceOnyama Limba NEW
Wickens M CampainUnited KingdomOnyama Limba PROPOSAL
Kadeem Y RoysterJapanIoni Bowcher PROPOSAL
Rodrigues L WaycottGermanyAnna Fali NEW
Morrow X BriddickIndiaAsiya Javayant QUALIFIED
Rodrigues O ChuiItalyOnyama Limba RENEWAL
James T DoeBrazilStephen Shaw PROPOSAL
Johnson I DoeCanadaAsiya Javayant UNQUALIFIED
Kaitlin Y GauchoFranceAsiya Javayant PROPOSAL
Ricardo E RoysterItalyIvan Magalhaes RENEWAL
Isabel M SergiCanadaAmy Elsner UNQUALIFIED
Misaki G DilliardBrazilAnna Fali PROPOSAL
Francesco Y DoeRussiaStephen Shaw PROPOSAL
Misaki R CampainBrazilAsiya Javayant RENEWAL
Silvio Y ShinkoJapanBernardo Dominic UNQUALIFIED
Greenwood A OstroskySpainAmy Elsner RENEWAL
Mayumi O VocelkaItalyIoni Bowcher NEGOTIATION
Aruna Y BologniaFranceAnna Fali PROPOSAL
Aruna F MaletItalyOnyama Limba UNQUALIFIED
Ashley S DilliardItalyElwin Sharvill RENEWAL
David K SchemmerItalyAsiya Javayant RENEWAL
Francesco Z RutaRussiaOnyama Limba PROPOSAL
Silvio A FigeroaBrazilXuxue Feng NEGOTIATION
Emily G ButtSpainElwin Sharvill NEW
Ivar G WhobreyBrazilAnna Fali 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>