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
Faith Y RutaBrazilIoni Bowcher QUALIFIED
Aika E MorascaFranceBernardo Dominic QUALIFIED
Maria O VenereItalyOnyama Limba UNQUALIFIED
Antonio T AlbaresItalyElwin Sharvill PROPOSAL
Kadeem U CampainUnited KingdomIoni Bowcher PROPOSAL
Francesco Y WieserIndiaIoni Bowcher PROPOSAL
Maisha V ButtSpainXuxue Feng PROPOSAL
Ashley F GarufiArgentinaAmy Elsner NEGOTIATION
Jefferson Q StensethArgentinaAnna Fali UNQUALIFIED
Jones B MorascaFranceAnna Fali PROPOSAL
Chavez U ChuiIndiaStephen Shaw UNQUALIFIED
Jennifer Q NestleSpainElwin Sharvill UNQUALIFIED
Jeanfrancois W KuskoFranceXuxue Feng NEGOTIATION
Tony E OstroskyAustraliaXuxue Feng PROPOSAL
Costa Q StockhamFranceIoni Bowcher NEGOTIATION
Adams W RimArgentinaIoni Bowcher NEGOTIATION
Deepesh V KolmetzAustraliaAmy Elsner NEW
Adams M PaprockiAustraliaXuxue Feng PROPOSAL
Jennifer E VenereFranceIvan Magalhaes NEW
Arvin S WieserSpainStephen Shaw PROPOSAL
Wickens A InouyeRussiaIvan Magalhaes PROPOSAL
Silvio S PoquetteGermanyBernardo Dominic RENEWAL
Maisha N DilliardArgentinaXuxue Feng PROPOSAL
Greenwood P OldroydGermanyOnyama Limba QUALIFIED
Alejandro N KuskoGermanyAnna Fali RENEWAL
Octavia S ShinkoSpainBernardo Dominic UNQUALIFIED
Jennifer I RimAustraliaIoni Bowcher UNQUALIFIED
Johnson P NestleUnited KingdomAsiya Javayant NEGOTIATION
Francesco F MaletGermanyXuxue Feng PROPOSAL
Stacey W AlbaresFranceBernardo Dominic NEW
Aika G PaprockiAustraliaBernardo Dominic NEGOTIATION
Julie P MarrierJapanOnyama Limba UNQUALIFIED
Jones F MaletArgentinaXuxue Feng QUALIFIED
Leon B PaprockiFranceXuxue Feng NEGOTIATION
Misaki K SchemmerRussiaStephen Shaw NEW
Arvin Z ChuiIndiaOnyama Limba NEW
Sinclair W RimBrazilAnna Fali QUALIFIED
Arvin F DilliardUnited KingdomStephen Shaw PROPOSAL
Emily N SchemmerSpainXuxue Feng RENEWAL
Isabel P DoeUnited KingdomIvan Magalhaes QUALIFIED
Aika Z ButtRussiaElwin Sharvill RENEWAL
Smith C SergiUnited KingdomElwin Sharvill NEW
Clifford M RulapaughSpainOnyama Limba NEGOTIATION
Morrow I BowleyCanadaElwin Sharvill NEW
Maisha W KuskoBrazilAnna Fali NEGOTIATION
Jefferson K MorascaCanadaIvan Magalhaes NEGOTIATION
Antonio V WhobreyJapanElwin Sharvill RENEWAL
David U DilliardSpainIvan Magalhaes NEGOTIATION
Leja L GauchoBrazilBernardo Dominic NEGOTIATION
Jennifer T FigeroaUnited KingdomAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin G AlbaresJapanElwin Sharvill PROPOSAL
Jeanfrancois S FollerBrazilElwin Sharvill PROPOSAL
Aika X MarrierIndiaElwin Sharvill PROPOSAL
Misaki W AlbaresItalyXuxue Feng NEGOTIATION
Maria U NickaCanadaXuxue Feng QUALIFIED
Cody G BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Antonio W CaudySpainAsiya Javayant UNQUALIFIED
Kaitlin N SchemmerUnited KingdomAsiya Javayant QUALIFIED
Jones A RutaBrazilIvan Magalhaes PROPOSAL
Ricardo S PaprockiUnited KingdomIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James J GauchoIndia2024-06-02Feltz Printing Service QUALIFIED48Amy Elsner
1001Nicolas Y FlosiGermany2024-05-26Rousseaux, Michael Esq UNQUALIFIED99Elwin Sharvill
1002Kaitlin P GarufiAustralia2024-06-04Feltz Printing Service NEGOTIATION88Onyama Limba
1003Johnson A MorascaItaly2024-06-03Dorl, James J Esq NEGOTIATION11Stephen Shaw
1004Chavez N KuskoJapan2024-05-31Morlong Associates UNQUALIFIED20Anna Fali
1005Misaki H RulapaughSpain2024-06-08Truhlar And Truhlar Attys QUALIFIED54Ioni Bowcher
1006Munro X ShinkoSpain2024-05-30Feltz Printing Service QUALIFIED5Ivan Magalhaes
1007Nicolas L RulapaughBrazil2024-05-18Chemel, James L Cpa PROPOSAL97Ioni Bowcher
1008Munro S ChuiCanada2024-05-30Feiner Bros PROPOSAL90Onyama Limba
1009Ricardo T SlusarskiJapan2024-05-20Printing Dimensions PROPOSAL45Amy Elsner
1010Kaitlin Y CaldareraUnited Kingdom2024-06-14Truhlar And Truhlar Attys NEGOTIATION32Ioni Bowcher
1011Leon C FerenczUnited Kingdom2024-05-20Dorl, James J Esq NEW60Bernardo Dominic
1012Sinclair B SlusarskiArgentina2024-06-07Morlong Associates RENEWAL95Amy Elsner
1013Sinclair S PoquetteRussia2024-05-26Feiner Bros QUALIFIED51Amy Elsner
1014Octavia J NickaUnited Kingdom2024-05-31Chapman, Ross E Esq UNQUALIFIED67Ioni Bowcher
1015Jennifer N PaprockiBrazil2024-06-01Truhlar And Truhlar Attys UNQUALIFIED98Elwin Sharvill
1016Jones D WieserArgentina2024-06-08Chanay, Jeffrey A Esq PROPOSAL27Ioni Bowcher
1017Greenwood P FerenczGermany2024-05-21Feiner Bros RENEWAL69Xuxue Feng
1018Jennifer O IturbideGermany2024-05-22Feiner Bros QUALIFIED66Ivan Magalhaes
1019Aika X FollerGermany2024-05-19Printing Dimensions QUALIFIED6Asiya Javayant
1020Octavia F GauchoAustralia2024-06-08Morlong Associates UNQUALIFIED70Onyama Limba
1021Jones D MacleadSpain2024-05-25Benton, John B Jr NEGOTIATION88Ioni Bowcher
1022Morrow C FollerItaly2024-06-03Rousseaux, Michael Esq UNQUALIFIED60Asiya Javayant
1023Aika W StockhamItaly2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED56Anna Fali
1024Alejandro N BriddickBrazil2024-05-22Buckley Miller Wright QUALIFIED87Ivan Magalhaes
1025Antonio Y WaycottCanada2024-05-28Rangoni Of Florence QUALIFIED56Xuxue Feng
1026Morrow G MorascaGermany2024-05-19Truhlar And Truhlar Attys NEGOTIATION58Onyama Limba
1027Mujtaba R NickaUnited Kingdom2024-06-05Feltz Printing Service NEGOTIATION74Amy Elsner
1028Jennifer L BologniaRussia2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED45Anna Fali
1029Ricardo X MorascaRussia2024-05-18Chapman, Ross E Esq NEW73Xuxue Feng
1030Murillo D GauchoUnited Kingdom2024-05-25Chapman, Ross E Esq PROPOSAL43Stephen Shaw
1031Aruna N WaycottFrance2024-06-01Chapman, Ross E Esq UNQUALIFIED29Stephen Shaw
1032Jeanfrancois D CaldareraBrazil2024-06-05Printing Dimensions NEGOTIATION6Stephen Shaw
1033Leon X ShinkoGermany2024-05-27Rangoni Of Florence UNQUALIFIED36Asiya Javayant
1034Costa I NestleBrazil2024-06-03Rangoni Of Florence NEW17Ivan Magalhaes
1035Sinclair S FollerUnited Kingdom2024-06-05Commercial Press NEW37Onyama Limba
1036Costa R ChuiSpain2024-06-14Rousseaux, Michael Esq PROPOSAL21Xuxue Feng
1037Jeanfrancois W GauchoUnited Kingdom2024-05-18Rangoni Of Florence NEW76Onyama Limba
1038Chavez P WaycottIndia2024-05-21Feltz Printing Service PROPOSAL75Bernardo Dominic
1039Murillo R CaudyAustralia2024-06-09Chemel, James L Cpa UNQUALIFIED58Ivan Magalhaes
1040Morrow E InouyeArgentina2024-06-07Rangoni Of Florence PROPOSAL28Onyama Limba
1041Costa L RimIndia2024-05-23Feltz Printing Service PROPOSAL43Anna Fali
1042Kadeem C DilliardItaly2024-05-19Rousseaux, Michael Esq QUALIFIED75Amy Elsner
1043Adams A CaudyIndia2024-06-13Feltz Printing Service UNQUALIFIED29Anna Fali
1044Nicolas Z GarufiAustralia2024-06-07Printing Dimensions NEGOTIATION61Ivan Magalhaes
1045Ivar F FollerBrazil2024-06-12Truhlar And Truhlar Attys QUALIFIED3Stephen Shaw
1046Ivar O FerenczItaly2024-06-03Rousseaux, Michael Esq NEGOTIATION12Xuxue Feng
1047Leon R TollnerRussia2024-06-13Buckley Miller Wright RENEWAL60Bernardo Dominic
1048Ivar P FigeroaCanada2024-06-10Rangoni Of Florence NEW66Ioni Bowcher
1049Antonio A ShinkoSpain2024-06-05Chemel, James L Cpa PROPOSAL8Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Izzy Q SergiArgentinaElwin Sharvill NEGOTIATION
Morrow D GarufiRussiaElwin Sharvill NEW
Jeanfrancois M AmigonAustraliaXuxue Feng PROPOSAL
Ivar Y KolmetzRussiaIoni Bowcher NEW
Tony C MaletBrazilIvan Magalhaes NEGOTIATION
Ivar D ShinkoRussiaIvan Magalhaes QUALIFIED
Jones F WaycottRussiaAsiya Javayant RENEWAL
Munro W PaprockiIndiaElwin Sharvill RENEWAL
Greenwood J RutaArgentinaAnna Fali NEW
Izzy T FlosiCanadaBernardo Dominic QUALIFIED
Jennifer V RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Smith U KolmetzAustraliaBernardo Dominic RENEWAL
Julie F FlosiIndiaIvan Magalhaes QUALIFIED
Ashley U IturbideJapanIoni Bowcher NEGOTIATION
James G FlosiSpainIoni Bowcher NEGOTIATION
Faith G GlickGermanyIoni Bowcher NEW
Izzy K RoysterIndiaBernardo Dominic PROPOSAL
Jeanfrancois S NestleSpainOnyama Limba PROPOSAL
Smith M NickaIndiaAsiya Javayant NEW
Juan D KolmetzCanadaXuxue Feng NEW
Adams I RutaArgentinaElwin Sharvill UNQUALIFIED
Mayumi E InouyeJapanOnyama Limba NEW
Murillo R GlickSpainAsiya Javayant QUALIFIED
Arvin A DilliardJapanIvan Magalhaes NEGOTIATION
Julie N BologniaBrazilAsiya Javayant NEGOTIATION
James E OldroydBrazilIoni Bowcher UNQUALIFIED
Jefferson H MarrierArgentinaIvan Magalhaes NEGOTIATION
Jefferson B SaylorsUnited KingdomIvan Magalhaes NEW
Stacey F MaletBrazilBernardo Dominic QUALIFIED
Jennifer B NickaArgentinaIvan Magalhaes NEW
Emily O MaletCanadaStephen Shaw NEGOTIATION
Antonio P SergiSpainIoni Bowcher UNQUALIFIED
Aruna M ButtArgentinaStephen Shaw PROPOSAL
Jeanfrancois S DarakjyArgentinaBernardo Dominic QUALIFIED
Faith P MaletJapanAmy Elsner QUALIFIED
Leon M PerinFranceAsiya Javayant NEGOTIATION
Mujtaba F GarufiAustraliaOnyama Limba QUALIFIED
Mujtaba T StockhamJapanBernardo Dominic NEW
Deepesh H FlosiIndiaElwin Sharvill PROPOSAL
Aika A RimBrazilAnna Fali PROPOSAL
Kadeem H GauchoItalyOnyama Limba RENEWAL
Octavia X IturbideBrazilAmy Elsner NEGOTIATION
Stacey M InouyeItalyXuxue Feng QUALIFIED
Greenwood R GillianCanadaBernardo Dominic QUALIFIED
Nicolas T MaletUnited KingdomIoni Bowcher RENEWAL
Octavia R MacleadArgentinaOnyama Limba PROPOSAL
Chavez Y GlickFranceIvan Magalhaes NEW
Izzy V GlickSpainStephen Shaw RENEWAL
Maria A StensethJapanAsiya Javayant RENEWAL
Deepesh I StensethUnited KingdomIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Kaitlin T Darakjy
Maria H Flosi
Maria C Gaucho
Aruna D Royster
Kaitlin U Saylors
Chavez Z Poquette
Emily E Ferencz
Murillo O Marrier
Antonio L Gaucho
Leja C Poquette
Ricardo B Darakjy
Julie N Saylors
Clifford A Kusko
Alejandro J Bolognia
Antonio E Butt
Misaki V Schemmer
Arvin S Ferencz
Leja B Sergi
Rodrigues U Nicka
Jennifer I Perin
Misaki X Bolognia
Clifford C Nicka
Alejandro J Inouye
Nicolas E Doe
Julie O Glick
Leon I Sergi
Tony I Briddick
Chavez L Bowley
Greenwood K Royster
Kadeem I Ruta
Aruna K Royster
Tony O Butt
Rodrigues E Bowley
Johnson C Doe
Tony X Foller
Stacey W Kolmetz
Francesco U Kusko
Johnson P Paprocki
Murillo U Flosi
Francesco M Inouye
Munro C Ruta
Claire P Glick
Chavez C Bolognia
Octavia L Venere
Ashley I Venere
Juan J Malet
Maisha T Caldarera
Ashley Z Butt
Maisha T Garufi
Izzy N Garufi
IdCountryDate
1000Spain2024-05-16
1001Italy2024-05-28
1002Spain2024-06-13
1003Russia2024-06-13
1004France2024-06-14
1005United Kingdom2024-05-19
1006Argentina2024-05-22
1007Spain2024-06-05
1008Australia2024-06-11
1009India2024-05-31
1010Spain2024-05-16
1011France2024-06-10
1012France2024-06-11
1013France2024-05-25
1014India2024-05-25
1015Australia2024-05-24
1016United Kingdom2024-06-14
1017Germany2024-05-21
1018Germany2024-05-25
1019United Kingdom2024-06-04
1020Argentina2024-05-27
1021Canada2024-05-31
1022Canada2024-05-19
1023Canada2024-05-20
1024Italy2024-05-22
1025India2024-06-05
1026Japan2024-05-16
1027Australia2024-06-11
1028France2024-05-17
1029Germany2024-05-29
1030United Kingdom2024-06-03
1031United Kingdom2024-05-29
1032Canada2024-05-22
1033Brazil2024-06-06
1034Argentina2024-05-26
1035Spain2024-06-08
1036Germany2024-05-30
1037Russia2024-06-07
1038Canada2024-06-01
1039Canada2024-05-16
1040Australia2024-05-28
1041Spain2024-05-21
1042India2024-05-23
1043India2024-05-16
1044Japan2024-06-06
1045Russia2024-05-22
1046Australia2024-05-31
1047Brazil2024-05-24
1048Australia2024-05-21
1049United Kingdom2024-05-25

On-Demand Data

NameIdCountryDate
Mujtaba K Slusarski1000Italy2024-05-26
Misaki C Amigon1001Russia2024-05-24
Sinclair H Vocelka1002India2024-05-28
Greenwood H Shinko1003Brazil2024-06-14
Ashley E Maclead1004Japan2024-05-28
Deepesh P Bolognia1005Argentina2024-06-01
Greenwood D Venere1006Germany2024-06-07
Aika F Garufi1007Australia2024-05-30
Ashley S Garufi1008Argentina2024-06-05
Misaki A Tollner1009India2024-06-10
Munro N Schemmer1010France2024-06-14
Julie O Chui1011United Kingdom2024-05-16
Leja Q Tollner1012Canada2024-06-01
Juan E Perin1013Japan2024-05-21
Tony C Garufi1014United Kingdom2024-05-30
Aditya D Wieser1015Germany2024-05-29
Maisha L Whobrey1016Italy2024-05-25
Leon G Malet1017Japan2024-06-04
Francesco P Ruta1018Spain2024-05-27
Francesco E Malet1019Brazil2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson A StensethGermanyAnna Fali NEGOTIATION
Jeanfrancois O GauchoIndiaIoni Bowcher QUALIFIED
Juan W GillianGermanyAsiya Javayant NEGOTIATION
Julie Q RimRussiaStephen Shaw NEGOTIATION
Aditya B ChuiAustraliaAmy Elsner PROPOSAL
James Q StensethGermanyAmy Elsner PROPOSAL
Smith H IturbideArgentinaBernardo Dominic NEGOTIATION
Izzy P NestleUnited KingdomXuxue Feng RENEWAL
Claire Q DarakjyBrazilIoni Bowcher PROPOSAL
Jennifer V VenereBrazilOnyama Limba NEGOTIATION
David U FlosiRussiaIoni Bowcher NEW
Alejandro Z IturbideItalyIvan Magalhaes PROPOSAL
Jennifer N SchemmerBrazilAmy Elsner RENEWAL
Aditya W FerenczGermanyAmy Elsner QUALIFIED
Chavez A MorascaGermanyAsiya Javayant QUALIFIED
Rodrigues P RutaItalyBernardo Dominic PROPOSAL
Adams O StensethArgentinaOnyama Limba NEGOTIATION
Munro V RutaGermanyAmy Elsner PROPOSAL
Ivar W InouyeRussiaElwin Sharvill UNQUALIFIED
Maria K BriddickGermanyStephen Shaw RENEWAL
Munro T RoysterJapanIvan Magalhaes UNQUALIFIED
Tony E BowleyRussiaBernardo Dominic PROPOSAL
Mayumi C BriddickArgentinaIoni Bowcher PROPOSAL
David U MacleadIndiaElwin Sharvill NEW
Tony X BriddickArgentinaXuxue Feng NEW
Smith K MaletJapanAnna Fali QUALIFIED
Clifford J SaylorsRussiaElwin Sharvill RENEWAL
Mujtaba P ShinkoUnited KingdomAmy Elsner RENEWAL
Silvio J StensethJapanBernardo Dominic QUALIFIED
Arvin X BriddickItalyIoni Bowcher QUALIFIED
Maria Z SlusarskiRussiaBernardo Dominic UNQUALIFIED
Darci E FigeroaGermanyAsiya Javayant QUALIFIED
Claire E KolmetzItalyOnyama Limba QUALIFIED
Misaki O RoysterItalyXuxue Feng NEGOTIATION
Sinclair B StensethItalyIvan Magalhaes NEW
Munro O BriddickAustraliaAmy Elsner NEW
Clifford K MaletBrazilOnyama Limba NEGOTIATION
Izzy G GauchoJapanAnna Fali NEW
Adams G MorascaRussiaAsiya Javayant PROPOSAL
Jeanfrancois Z MaletAustraliaStephen 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>