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
Jennifer R WhobreyAustraliaAmy Elsner QUALIFIED
Munro J AmigonGermanyBernardo Dominic QUALIFIED
Mujtaba S KuskoAustraliaStephen Shaw QUALIFIED
Jefferson W PaprockiItalyBernardo Dominic RENEWAL
Kaitlin F DilliardRussiaElwin Sharvill UNQUALIFIED
James A ShinkoSpainXuxue Feng NEW
Ricardo I FigeroaArgentinaBernardo Dominic PROPOSAL
Tony D WieserUnited KingdomAnna Fali RENEWAL
Kadeem R SlusarskiAustraliaOnyama Limba NEW
Maisha P IturbideIndiaIvan Magalhaes RENEWAL
James S RimSpainIvan Magalhaes UNQUALIFIED
Kadeem J GarufiUnited KingdomXuxue Feng QUALIFIED
Kaitlin I WieserJapanElwin Sharvill NEGOTIATION
Kadeem V RutaJapanStephen Shaw NEGOTIATION
Alejandro J DoeItalyStephen Shaw RENEWAL
Ashley N PerinAustraliaIvan Magalhaes RENEWAL
Kaitlin Z SergiBrazilOnyama Limba QUALIFIED
David L WhobreyBrazilXuxue Feng UNQUALIFIED
Antonio D PaprockiGermanyStephen Shaw UNQUALIFIED
Aditya Z KolmetzCanadaElwin Sharvill UNQUALIFIED
Kadeem I SaylorsItalyAnna Fali QUALIFIED
Mayumi S TollnerJapanIoni Bowcher NEGOTIATION
Kadeem I FigeroaIndiaIvan Magalhaes RENEWAL
Greenwood S VocelkaFranceOnyama Limba NEGOTIATION
Mayumi E DarakjyRussiaXuxue Feng RENEWAL
Ashley M PerinSpainStephen Shaw NEW
Kadeem M DilliardFranceAsiya Javayant PROPOSAL
Cody B WaycottAustraliaBernardo Dominic RENEWAL
Deepesh H GauchoGermanyIoni Bowcher UNQUALIFIED
Faith I BowleyItalyAmy Elsner QUALIFIED
Misaki T IturbideUnited KingdomAnna Fali QUALIFIED
Cody W WaycottBrazilBernardo Dominic NEGOTIATION
Maria J NestleUnited KingdomIoni Bowcher RENEWAL
James X OldroydItalyElwin Sharvill QUALIFIED
Emily D DoeGermanyOnyama Limba NEW
Aruna R CaudyIndiaXuxue Feng PROPOSAL
Misaki Q KuskoCanadaAnna Fali NEW
Leon Y IturbideIndiaIvan Magalhaes NEW
Adams W CampainArgentinaElwin Sharvill PROPOSAL
Jeanfrancois H RutaRussiaXuxue Feng NEGOTIATION
Mujtaba F VenereUnited KingdomAnna Fali PROPOSAL
Kadeem U GlickFranceBernardo Dominic QUALIFIED
Octavia A MaletArgentinaIoni Bowcher NEGOTIATION
Kadeem M MacleadJapanAsiya Javayant PROPOSAL
Mayumi P FollerBrazilAnna Fali UNQUALIFIED
Emily Z AlbaresGermanyIvan Magalhaes UNQUALIFIED
Antonio E MorascaItalyAnna Fali NEW
Misaki A OstroskyJapanIoni Bowcher QUALIFIED
Isabel R BologniaArgentinaAmy Elsner QUALIFIED
Morrow J SlusarskiGermanyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo M PaprockiAustraliaAnna Fali NEGOTIATION
Octavia K BriddickCanadaStephen Shaw NEGOTIATION
Aditya D SlusarskiIndiaElwin Sharvill UNQUALIFIED
Octavia U RulapaughItalyAnna Fali UNQUALIFIED
Maria K SergiBrazilOnyama Limba UNQUALIFIED
Emily O TollnerIndiaBernardo Dominic UNQUALIFIED
Ricardo Q RoysterGermanyAnna Fali NEGOTIATION
Juan O PoquetteGermanyAnna Fali NEW
Aditya C CampainUnited KingdomOnyama Limba UNQUALIFIED
Jones J CaudyItalyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas M ShinkoIndia2024-06-17Rousseaux, Michael Esq UNQUALIFIED4Asiya Javayant
1001Izzy Z RoysterRussia2024-05-27Truhlar And Truhlar Attys UNQUALIFIED57Ioni Bowcher
1002Silvio E ShinkoBrazil2024-06-11Feltz Printing Service UNQUALIFIED8Elwin Sharvill
1003Jefferson D MaletArgentina2024-05-27Chemel, James L Cpa QUALIFIED60Bernardo Dominic
1004Jones P NestleAustralia2024-06-08Feltz Printing Service NEW97Ioni Bowcher
1005Juan C GarufiFrance2024-06-18Dorl, James J Esq RENEWAL9Bernardo Dominic
1006Wickens L SergiSpain2024-05-27Rousseaux, Michael Esq NEGOTIATION23Bernardo Dominic
1007Jennifer Y DoeUnited Kingdom2024-05-24Truhlar And Truhlar Attys RENEWAL90Bernardo Dominic
1008Misaki B MarrierCanada2024-06-06Chemel, James L Cpa QUALIFIED67Elwin Sharvill
1009Julie M MacleadAustralia2024-05-28Feiner Bros NEGOTIATION64Xuxue Feng
1010Misaki X FollerCanada2024-06-14Feltz Printing Service UNQUALIFIED0Ioni Bowcher
1011Ricardo T BowleyIndia2024-05-31Buckley Miller Wright NEW52Anna Fali
1012Jeanfrancois S KuskoRussia2024-06-19Truhlar And Truhlar Attys NEGOTIATION29Asiya Javayant
1013Mayumi M VocelkaBrazil2024-05-25Chemel, James L Cpa RENEWAL57Xuxue Feng
1014Julie X GarufiRussia2024-05-27Truhlar And Truhlar Attys RENEWAL56Amy Elsner
1015Morrow N ShinkoArgentina2024-06-19Buckley Miller Wright NEW86Ioni Bowcher
1016Costa Q PoquetteCanada2024-05-23Buckley Miller Wright NEGOTIATION74Anna Fali
1017Maria B OldroydAustralia2024-06-19Buckley Miller Wright NEGOTIATION82Ioni Bowcher
1018Silvio W WieserItaly2024-06-11Printing Dimensions PROPOSAL75Stephen Shaw
1019Emily U RutaCanada2024-05-24Dorl, James J Esq UNQUALIFIED45Onyama Limba
1020Emily U DoeBrazil2024-06-06Buckley Miller Wright QUALIFIED75Asiya Javayant
1021Kadeem C RulapaughJapan2024-06-11Dorl, James J Esq QUALIFIED94Amy Elsner
1022Alejandro A GlickAustralia2024-05-23Commercial Press RENEWAL4Asiya Javayant
1023Smith J InouyeJapan2024-06-17Rangoni Of Florence RENEWAL47Elwin Sharvill
1024Nicolas R RimBrazil2024-06-15Feiner Bros PROPOSAL34Ioni Bowcher
1025Francesco W GauchoAustralia2024-06-03Feiner Bros PROPOSAL50Amy Elsner
1026Clifford U OldroydBrazil2024-06-21Chemel, James L Cpa PROPOSAL75Asiya Javayant
1027Ivar Z GarufiFrance2024-06-11King, Christopher A Esq RENEWAL49Onyama Limba
1028Salvatore T GauchoJapan2024-05-23Feiner Bros PROPOSAL63Asiya Javayant
1029Maria L CampainCanada2024-05-24Buckley Miller Wright QUALIFIED94Bernardo Dominic
1030Kaitlin M MorascaFrance2024-05-24Buckley Miller Wright PROPOSAL87Elwin Sharvill
1031Tony D StensethBrazil2024-06-03Feiner Bros RENEWAL3Elwin Sharvill
1032Izzy G RoysterFrance2024-06-04Buckley Miller Wright NEW22Ivan Magalhaes
1033Aruna D WhobreyFrance2024-06-05Rousseaux, Michael Esq NEGOTIATION0Bernardo Dominic
1034Faith C MarrierCanada2024-05-24Dorl, James J Esq UNQUALIFIED17Elwin Sharvill
1035Ashley E GarufiUnited Kingdom2024-05-28Printing Dimensions NEW3Onyama Limba
1036Morrow B WaycottIndia2024-05-25Truhlar And Truhlar Attys RENEWAL23Amy Elsner
1037Alejandro W SaylorsItaly2024-05-29Rangoni Of Florence QUALIFIED45Anna Fali
1038Jeanfrancois V MaletUnited Kingdom2024-06-14Chemel, James L Cpa NEW13Amy Elsner
1039Julie W GauchoBrazil2024-05-27Printing Dimensions RENEWAL93Xuxue Feng
1040Sinclair Q BriddickGermany2024-06-09Feiner Bros UNQUALIFIED86Elwin Sharvill
1041Jennifer G BriddickFrance2024-06-19King, Christopher A Esq NEW40Stephen Shaw
1042Misaki I OstroskyArgentina2024-05-28Feltz Printing Service QUALIFIED78Xuxue Feng
1043Alejandro E GauchoUnited Kingdom2024-06-08Chanay, Jeffrey A Esq NEW75Ivan Magalhaes
1044Munro D MaletFrance2024-06-08Feltz Printing Service RENEWAL9Xuxue Feng
1045Ashley Z PaprockiItaly2024-06-11Dorl, James J Esq NEGOTIATION23Amy Elsner
1046Rodrigues X GillianUnited Kingdom2024-06-17Feiner Bros NEW80Ioni Bowcher
1047Juan H OldroydJapan2024-05-26Chemel, James L Cpa NEGOTIATION1Stephen Shaw
1048Mayumi R CampainBrazil2024-06-19King, Christopher A Esq QUALIFIED12Bernardo Dominic
1049James O MarrierRussia2024-06-07Feltz Printing Service NEGOTIATION83Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Johnson D GarufiArgentinaElwin Sharvill NEGOTIATION
Antonio I GillianSpainXuxue Feng UNQUALIFIED
Cody G AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Salvatore B TollnerRussiaOnyama Limba NEGOTIATION
Chavez G CampainJapanOnyama Limba NEW
Chavez H SergiFranceElwin Sharvill QUALIFIED
Darci P StockhamJapanElwin Sharvill NEW
Antonio V FollerSpainAsiya Javayant UNQUALIFIED
Ivar Y PoquetteFranceBernardo Dominic NEW
David V IturbideUnited KingdomOnyama Limba NEW
Salvatore B ChuiGermanyXuxue Feng NEGOTIATION
Misaki Z StockhamBrazilAsiya Javayant PROPOSAL
Clifford M SchemmerFranceAmy Elsner NEW
Maisha U AmigonGermanyIoni Bowcher QUALIFIED
Morrow O VocelkaBrazilAnna Fali RENEWAL
Isabel P FigeroaSpainOnyama Limba QUALIFIED
David C KuskoCanadaIoni Bowcher RENEWAL
Nicolas Q ShinkoIndiaIoni Bowcher UNQUALIFIED
Julie C SaylorsBrazilStephen Shaw QUALIFIED
Leon Z StensethBrazilAsiya Javayant NEGOTIATION
Antonio S StockhamGermanyElwin Sharvill NEW
Rodrigues P WaycottArgentinaIoni Bowcher RENEWAL
Alejandro X GillianJapanAmy Elsner UNQUALIFIED
Darci Z SchemmerItalyAsiya Javayant UNQUALIFIED
Salvatore A WaycottUnited KingdomElwin Sharvill RENEWAL
Jones N GarufiAustraliaIvan Magalhaes NEW
Ricardo S PoquetteGermanyXuxue Feng QUALIFIED
Tony N NickaCanadaOnyama Limba NEGOTIATION
David D AmigonAustraliaXuxue Feng RENEWAL
Costa A AlbaresGermanyAnna Fali QUALIFIED
Ivar H AmigonSpainIvan Magalhaes QUALIFIED
Aditya D GillianBrazilAmy Elsner RENEWAL
Aditya A FerenczSpainAnna Fali PROPOSAL
Morrow W BowleyRussiaAsiya Javayant PROPOSAL
Alejandro D PoquetteGermanyStephen Shaw QUALIFIED
Clifford M WaycottGermanyAmy Elsner UNQUALIFIED
Maria Q WaycottArgentinaStephen Shaw QUALIFIED
Maisha M TollnerCanadaBernardo Dominic PROPOSAL
Emily M OstroskyUnited KingdomAmy Elsner PROPOSAL
Stacey D DarakjyUnited KingdomBernardo Dominic QUALIFIED
Aruna H OldroydFranceAsiya Javayant PROPOSAL
David W TollnerRussiaStephen Shaw PROPOSAL
Leja F MaletGermanyStephen Shaw PROPOSAL
Kadeem V StensethArgentinaElwin Sharvill QUALIFIED
Antonio R FollerAustraliaIoni Bowcher PROPOSAL
Octavia V InouyeSpainXuxue Feng NEW
Costa O PaprockiBrazilAnna Fali RENEWAL
Ashley T WieserGermanyAnna Fali UNQUALIFIED
Francesco J SergiIndiaIoni Bowcher RENEWAL
Smith T MacleadUnited KingdomElwin Sharvill NEGOTIATION
Frozen Columns
Name
Misaki Z Oldroyd
Claire H Flosi
Antonio Y Marrier
Misaki D Ferencz
Smith P Paprocki
Deepesh K Poquette
Johnson W Malet
Aditya L Sergi
Jefferson N Slusarski
Arvin E Poquette
Jennifer N Ferencz
Maisha R Vocelka
Nicolas V Malet
Jefferson A Chui
Izzy E Royster
James R Butt
Rodrigues B Slusarski
Alejandro R Flosi
Octavia F Chui
David U Sergi
Leon L Ruta
Claire T Amigon
Greenwood O Butt
Julie N Vocelka
Aditya J Ruta
Darci L Kolmetz
Clifford V Glick
Julie N Vocelka
Rodrigues T Tollner
Aditya G Rulapaugh
James L Nicka
Ricardo T Venere
Murillo X Shinko
Cody W Ostrosky
Greenwood C Waycott
Wickens D Whobrey
Emily M Iturbide
Ivar G Inouye
Juan R Flosi
Silvio Q Saylors
Tony I Rim
Maisha L Doe
Emily N Ferencz
David A Rim
Mujtaba D Amigon
Munro Z Gillian
Aruna I Vocelka
Ashley T Amigon
Jefferson A Saylors
Darci Z Slusarski
IdCountryDate
1000Russia2024-06-07
1001Japan2024-06-14
1002France2024-06-19
1003France2024-05-30
1004India2024-06-01
1005Italy2024-05-25
1006Spain2024-06-11
1007Australia2024-06-21
1008Argentina2024-05-30
1009Russia2024-06-03
1010France2024-06-12
1011Italy2024-06-01
1012Argentina2024-06-21
1013France2024-06-21
1014Argentina2024-06-05
1015India2024-06-06
1016Germany2024-06-01
1017Spain2024-06-15
1018India2024-06-15
1019Italy2024-05-31
1020Spain2024-05-23
1021Japan2024-06-19
1022United Kingdom2024-05-23
1023Argentina2024-06-17
1024Canada2024-06-04
1025Spain2024-05-23
1026Australia2024-06-15
1027Germany2024-06-13
1028Germany2024-05-30
1029Argentina2024-06-07
1030Spain2024-06-05
1031France2024-05-25
1032Russia2024-06-14
1033United Kingdom2024-05-23
1034Russia2024-05-24
1035Japan2024-06-12
1036Canada2024-06-12
1037Italy2024-05-29
1038Brazil2024-06-12
1039Germany2024-06-07
1040India2024-06-14
1041Brazil2024-06-21
1042United Kingdom2024-06-18
1043Germany2024-05-25
1044Japan2024-06-12
1045Italy2024-05-28
1046Canada2024-06-21
1047Spain2024-05-25
1048India2024-06-14
1049Spain2024-06-21

On-Demand Data

NameIdCountryDate
Wickens H Paprocki1000Canada2024-05-23
Aruna J Vocelka1001Australia2024-06-08
Clifford R Sergi1002Australia2024-05-23
Murillo T Inouye1003Spain2024-06-01
Cody M Schemmer1004India2024-05-25
Maisha K Dilliard1005Brazil2024-06-07
Sinclair U Amigon1006Australia2024-06-04
Aruna H Stenseth1007Spain2024-06-20
Tony V Ruta1008Canada2024-06-05
Jeanfrancois J Amigon1009Italy2024-05-25
Aditya B Ruta1010Canada2024-06-19
James T Doe1011Italy2024-06-09
Ivar W Perin1012Argentina2024-05-31
Mujtaba R Gaucho1013Japan2024-06-19
Leja M Royster1014Germany2024-06-10
Costa V Marrier1015Italy2024-05-23
Munro S Slusarski1016Canada2024-05-27
Isabel H Doe1017Italy2024-06-14
Isabel V Paprocki1018Germany2024-05-26
Smith G Royster1019Spain2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie Y TollnerIndiaAmy Elsner RENEWAL
Julie N OldroydJapanOnyama Limba NEW
Leon T MaletJapanIvan Magalhaes UNQUALIFIED
Jennifer Q KolmetzAustraliaOnyama Limba NEW
Antonio N FollerBrazilAmy Elsner QUALIFIED
Claire X GillianSpainOnyama Limba PROPOSAL
David M RoysterCanadaOnyama Limba NEW
Kadeem B BriddickRussiaOnyama Limba PROPOSAL
Jefferson J AlbaresGermanyBernardo Dominic UNQUALIFIED
Ashley J DoeArgentinaAsiya Javayant NEW
Cody T FlosiItalyElwin Sharvill RENEWAL
Kaitlin M IturbideGermanyIoni Bowcher NEW
Kaitlin L DoeCanadaBernardo Dominic QUALIFIED
Misaki U BologniaFranceAmy Elsner PROPOSAL
Adams D CaldareraIndiaIoni Bowcher UNQUALIFIED
Maisha J NickaArgentinaOnyama Limba NEW
Nicolas Y ShinkoFranceAsiya Javayant NEGOTIATION
Faith D GlickJapanOnyama Limba UNQUALIFIED
Salvatore H DoeIndiaAsiya Javayant QUALIFIED
Costa I FigeroaFranceBernardo Dominic NEW
Octavia O OldroydGermanyAmy Elsner QUALIFIED
Ashley F SlusarskiItalyIvan Magalhaes NEGOTIATION
Clifford V GlickUnited KingdomIoni Bowcher QUALIFIED
Adams B FlosiAustraliaAnna Fali NEW
Emily F MaletAustraliaIoni Bowcher RENEWAL
Wickens K MaletItalyBernardo Dominic QUALIFIED
Deepesh W StockhamAustraliaBernardo Dominic NEGOTIATION
Murillo U OldroydIndiaBernardo Dominic UNQUALIFIED
Chavez X FerenczArgentinaAsiya Javayant NEW
Munro B OldroydSpainOnyama Limba NEW
Mujtaba G NickaSpainBernardo Dominic NEGOTIATION
James H AlbaresArgentinaAmy Elsner NEW
Aruna B CaldareraIndiaXuxue Feng NEW
Juan T CampainUnited KingdomIoni Bowcher NEGOTIATION
Salvatore N MaletBrazilIvan Magalhaes NEW
Izzy L FigeroaFranceOnyama Limba PROPOSAL
Costa B RutaIndiaIoni Bowcher UNQUALIFIED
Julie B IturbideSpainAnna Fali PROPOSAL
Adams G GarufiAustraliaAsiya Javayant QUALIFIED
Darci U CaudySpainBernardo 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>