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
Octavia M RimUnited KingdomAmy Elsner RENEWAL
Leja L OldroydAustraliaOnyama Limba PROPOSAL
Emily H CaldareraArgentinaXuxue Feng PROPOSAL
Francesco C GillianGermanyAnna Fali QUALIFIED
Mujtaba F WieserArgentinaBernardo Dominic QUALIFIED
Aditya J StensethGermanyIoni Bowcher RENEWAL
Jeanfrancois T SlusarskiCanadaIvan Magalhaes QUALIFIED
Francesco O OstroskySpainAsiya Javayant QUALIFIED
Tony R DilliardJapanIoni Bowcher UNQUALIFIED
Wickens B CaudyRussiaXuxue Feng NEGOTIATION
Kaitlin M VocelkaCanadaAnna Fali RENEWAL
Maisha K RulapaughCanadaStephen Shaw UNQUALIFIED
Leon H DilliardRussiaOnyama Limba RENEWAL
Ivar T DilliardIndiaIvan Magalhaes QUALIFIED
Emily E SchemmerItalyOnyama Limba NEGOTIATION
Izzy X TollnerGermanyElwin Sharvill QUALIFIED
Nicolas R RulapaughIndiaBernardo Dominic PROPOSAL
Deepesh Y MarrierCanadaOnyama Limba QUALIFIED
Jeanfrancois X VocelkaUnited KingdomAsiya Javayant NEW
Rodrigues N NickaCanadaOnyama Limba NEGOTIATION
Faith A SchemmerArgentinaXuxue Feng QUALIFIED
Emily H RoysterSpainAnna Fali UNQUALIFIED
Johnson Y PaprockiJapanBernardo Dominic UNQUALIFIED
Stacey P DarakjyFranceAmy Elsner RENEWAL
Ashley X GarufiSpainStephen Shaw UNQUALIFIED
Munro N MacleadIndiaOnyama Limba NEGOTIATION
Smith W ChuiGermanyIvan Magalhaes QUALIFIED
Murillo Z SchemmerArgentinaOnyama Limba UNQUALIFIED
Kadeem I PoquetteFranceAnna Fali QUALIFIED
Alejandro P DoeCanadaIoni Bowcher NEW
James G GlickFranceXuxue Feng QUALIFIED
Aruna V BologniaSpainIvan Magalhaes UNQUALIFIED
Izzy K GauchoFranceAmy Elsner RENEWAL
Leja W SlusarskiFranceOnyama Limba NEW
Munro R StockhamCanadaOnyama Limba QUALIFIED
Francesco S OstroskyJapanElwin Sharvill RENEWAL
Jones Q GarufiJapanBernardo Dominic RENEWAL
Mujtaba W GlickUnited KingdomIoni Bowcher NEGOTIATION
Greenwood J CaldareraUnited KingdomElwin Sharvill NEW
Leon M CaldareraUnited KingdomOnyama Limba QUALIFIED
Leja W WaycottBrazilAnna Fali NEW
Octavia V WieserIndiaIvan Magalhaes QUALIFIED
Mujtaba O PaprockiItalyAmy Elsner NEGOTIATION
Izzy P MarrierItalyAsiya Javayant QUALIFIED
Alejandro H CampainBrazilElwin Sharvill QUALIFIED
Munro X StockhamUnited KingdomXuxue Feng RENEWAL
Leon S WhobreyJapanElwin Sharvill QUALIFIED
Octavia L PaprockiRussiaXuxue Feng RENEWAL
Munro L KolmetzGermanyIoni Bowcher PROPOSAL
Mayumi P NickaJapanStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo R SergiJapanAnna Fali NEGOTIATION
Costa A RutaUnited KingdomElwin Sharvill PROPOSAL
Darci J FollerSpainElwin Sharvill QUALIFIED
Greenwood Z KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Aditya U BologniaUnited KingdomBernardo Dominic PROPOSAL
Ricardo E StockhamSpainBernardo Dominic QUALIFIED
Kaitlin F VocelkaCanadaIoni Bowcher NEGOTIATION
Misaki Y IturbideUnited KingdomAsiya Javayant PROPOSAL
Mujtaba N NickaGermanyOnyama Limba QUALIFIED
Greenwood F RoysterBrazilStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa T SlusarskiCanada2025-06-04Chemel, James L Cpa NEW31Ioni Bowcher
1001Morrow G PerinJapan2025-05-25Feiner Bros RENEWAL66Anna Fali
1002Munro E BriddickRussia2025-05-30Truhlar And Truhlar Attys NEW80Asiya Javayant
1003Chavez P GlickBrazil2025-06-14Feiner Bros NEGOTIATION50Anna Fali
1004Faith E FollerIndia2025-06-14Commercial Press NEW16Elwin Sharvill
1005Aruna R SergiAustralia2025-05-28Printing Dimensions PROPOSAL32Elwin Sharvill
1006Maisha A GlickItaly2025-06-04Feltz Printing Service NEW0Xuxue Feng
1007Tony A InouyeItaly2025-06-01Chanay, Jeffrey A Esq PROPOSAL86Xuxue Feng
1008Leja S MarrierFrance2025-06-06King, Christopher A Esq RENEWAL4Stephen Shaw
1009Jeanfrancois Z DoeGermany2025-05-20Feiner Bros PROPOSAL3Amy Elsner
1010Misaki Y AlbaresItaly2025-06-10Truhlar And Truhlar Attys PROPOSAL86Ioni Bowcher
1011Cody M SaylorsSpain2025-06-02Chanay, Jeffrey A Esq NEW15Asiya Javayant
1012Deepesh J BriddickJapan2025-05-28Commercial Press QUALIFIED21Stephen Shaw
1013Munro V MaletGermany2025-06-08Morlong Associates PROPOSAL40Elwin Sharvill
1014Tony V VenereBrazil2025-05-30Commercial Press NEGOTIATION36Asiya Javayant
1015Misaki T RutaAustralia2025-05-23Chemel, James L Cpa NEGOTIATION36Asiya Javayant
1016Maria S IturbideBrazil2025-06-03Rangoni Of Florence PROPOSAL59Onyama Limba
1017Tony M MorascaAustralia2025-06-13Rousseaux, Michael Esq QUALIFIED72Ivan Magalhaes
1018Salvatore Z AlbaresIndia2025-05-21Feiner Bros NEW65Onyama Limba
1019Aruna R PerinJapan2025-05-23Chapman, Ross E Esq RENEWAL34Ivan Magalhaes
1020James C DarakjyCanada2025-06-02King, Christopher A Esq NEW23Elwin Sharvill
1021Costa V ButtAustralia2025-05-18Rangoni Of Florence UNQUALIFIED7Anna Fali
1022Silvio Y AlbaresAustralia2025-05-21Morlong Associates NEW79Elwin Sharvill
1023Emily S FerenczGermany2025-05-23Chapman, Ross E Esq UNQUALIFIED40Bernardo Dominic
1024Maisha W SergiJapan2025-06-11Printing Dimensions NEW89Xuxue Feng
1025David I StockhamJapan2025-05-28Morlong Associates RENEWAL5Onyama Limba
1026Izzy R WieserUnited Kingdom2025-06-15Feiner Bros NEW48Anna Fali
1027Aruna K SlusarskiArgentina2025-06-03Feltz Printing Service RENEWAL51Ivan Magalhaes
1028Smith Q MaletRussia2025-05-28Feiner Bros QUALIFIED71Onyama Limba
1029Cody F AlbaresIndia2025-05-30Dorl, James J Esq RENEWAL12Amy Elsner
1030Izzy D FlosiGermany2025-06-13Printing Dimensions PROPOSAL20Ivan Magalhaes
1031Rodrigues H SergiSpain2025-05-23Feiner Bros QUALIFIED76Xuxue Feng
1032Mujtaba F GauchoGermany2025-06-13Rousseaux, Michael Esq QUALIFIED45Bernardo Dominic
1033Clifford A AmigonGermany2025-05-25Dorl, James J Esq PROPOSAL45Ioni Bowcher
1034Izzy R FigeroaCanada2025-05-27King, Christopher A Esq NEW4Bernardo Dominic
1035Leon J MaletSpain2025-06-13Commercial Press NEW21Asiya Javayant
1036David D MarrierUnited Kingdom2025-05-24Buckley Miller Wright UNQUALIFIED42Ioni Bowcher
1037Chavez W StockhamAustralia2025-06-04Morlong Associates NEGOTIATION3Asiya Javayant
1038Arvin A StockhamBrazil2025-06-06Chemel, James L Cpa UNQUALIFIED96Amy Elsner
1039Claire L IturbideItaly2025-05-29Chanay, Jeffrey A Esq NEGOTIATION10Elwin Sharvill
1040Murillo D ShinkoBrazil2025-05-27Dorl, James J Esq NEGOTIATION98Xuxue Feng
1041Mujtaba O CaudyRussia2025-05-30Feltz Printing Service RENEWAL33Asiya Javayant
1042Ricardo O FlosiAustralia2025-06-03Morlong Associates QUALIFIED56Bernardo Dominic
1043Greenwood R MorascaIndia2025-06-15Rousseaux, Michael Esq NEGOTIATION84Anna Fali
1044James N SergiUnited Kingdom2025-06-08Benton, John B Jr QUALIFIED1Asiya Javayant
1045Aika D GarufiSpain2025-06-13Commercial Press UNQUALIFIED56Elwin Sharvill
1046Claire M TollnerBrazil2025-05-30Dorl, James J Esq NEGOTIATION44Amy Elsner
1047Mujtaba S StockhamFrance2025-05-26Buckley Miller Wright NEW63Xuxue Feng
1048Salvatore T VenereUnited Kingdom2025-06-10Buckley Miller Wright NEGOTIATION28Elwin Sharvill
1049Mayumi S NestleSpain2025-05-24King, Christopher A Esq QUALIFIED39Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jefferson M NickaBrazilBernardo Dominic NEW
Ivar S VenereItalyOnyama Limba PROPOSAL
Arvin M MorascaCanadaOnyama Limba RENEWAL
Clifford P BriddickGermanyAnna Fali PROPOSAL
Ricardo C StensethArgentinaStephen Shaw QUALIFIED
Adams M DoeRussiaAsiya Javayant PROPOSAL
Nicolas W CaudyRussiaXuxue Feng PROPOSAL
Cody W SaylorsBrazilOnyama Limba RENEWAL
Chavez E KuskoSpainElwin Sharvill QUALIFIED
Emily V StensethArgentinaElwin Sharvill UNQUALIFIED
Rodrigues L GillianUnited KingdomIoni Bowcher RENEWAL
Murillo I CampainArgentinaElwin Sharvill NEW
Kaitlin L FigeroaUnited KingdomXuxue Feng RENEWAL
Nicolas B BowleyJapanOnyama Limba NEGOTIATION
Ivar L GillianCanadaOnyama Limba QUALIFIED
Kaitlin E VocelkaAustraliaXuxue Feng QUALIFIED
Mujtaba E PaprockiItalyBernardo Dominic RENEWAL
Emily E FerenczJapanXuxue Feng PROPOSAL
Cody N CampainCanadaIoni Bowcher NEGOTIATION
Kaitlin T NickaIndiaStephen Shaw NEGOTIATION
Julie S AlbaresFranceAmy Elsner NEGOTIATION
Antonio Q WhobreyGermanyAsiya Javayant NEGOTIATION
Octavia R SlusarskiIndiaElwin Sharvill NEGOTIATION
Misaki O TollnerAustraliaOnyama Limba NEGOTIATION
Rodrigues J StensethIndiaAnna Fali QUALIFIED
Aditya V PaprockiGermanyAmy Elsner NEGOTIATION
Ricardo N SergiArgentinaStephen Shaw NEGOTIATION
Jeanfrancois I KuskoFranceAnna Fali QUALIFIED
Ivar R NickaGermanyIoni Bowcher QUALIFIED
Sinclair N MarrierArgentinaAmy Elsner QUALIFIED
Juan M MarrierSpainStephen Shaw UNQUALIFIED
Clifford E BologniaAustraliaElwin Sharvill QUALIFIED
Jefferson Z WhobreyRussiaXuxue Feng PROPOSAL
Jefferson W KuskoIndiaAsiya Javayant PROPOSAL
Emily Z DilliardFranceAmy Elsner NEGOTIATION
Deepesh G WieserItalyElwin Sharvill QUALIFIED
Silvio G GauchoAustraliaElwin Sharvill NEGOTIATION
James N SlusarskiAustraliaElwin Sharvill NEGOTIATION
Salvatore U RimJapanStephen Shaw NEGOTIATION
Jennifer Y FlosiBrazilAmy Elsner QUALIFIED
Adams C WhobreyJapanXuxue Feng NEW
Wickens B RulapaughFranceStephen Shaw RENEWAL
Leon V MorascaFranceAmy Elsner NEGOTIATION
Munro S SchemmerArgentinaStephen Shaw NEW
Aditya Q BriddickBrazilElwin Sharvill UNQUALIFIED
Smith O PaprockiGermanyIvan Magalhaes QUALIFIED
Arvin L ChuiUnited KingdomAmy Elsner PROPOSAL
Maisha N DilliardArgentinaElwin Sharvill QUALIFIED
Claire A AlbaresRussiaIoni Bowcher NEGOTIATION
Salvatore Q SaylorsSpainAnna Fali NEW
Frozen Columns
Name
Sinclair W Malet
Jeanfrancois I Malet
Arvin J Doe
Antonio U Vocelka
Ivar G Bolognia
Stacey O Garufi
Jefferson F Perin
Rodrigues I Morasca
Arvin T Nestle
Ivar D Marrier
Murillo L Flosi
Murillo L Gaucho
Mujtaba M Gillian
Ashley Z Slusarski
Jefferson O Gillian
Antonio U Whobrey
Costa T Perin
Stacey T Oldroyd
Maisha V Darakjy
Silvio A Ruta
Clifford J Figeroa
Smith L Albares
Ivar P Perin
Aika A Caldarera
Isabel W Whobrey
Aruna X Vocelka
Tony S Shinko
Maria A Iturbide
Leon Y Stockham
Stacey Y Vocelka
Greenwood E Nicka
James F Amigon
Tony V Paprocki
Aika I Nestle
Aditya B Poquette
James W Ferencz
Izzy G Oldroyd
Francesco L Waycott
Aika H Malet
Claire E Caldarera
Leja G Iturbide
James T Rim
Juan A Dilliard
Ashley K Venere
Silvio A Foller
Izzy U Doe
Jefferson K Waycott
Nicolas J Nicka
Kadeem D Paprocki
Darci Q Albares
IdCountryDate
1000Brazil2025-05-31
1001Canada2025-06-15
1002Japan2025-05-27
1003Argentina2025-05-20
1004Germany2025-06-14
1005France2025-05-18
1006Canada2025-06-07
1007Spain2025-05-22
1008Canada2025-05-20
1009United Kingdom2025-06-01
1010Russia2025-06-15
1011Japan2025-05-26
1012Brazil2025-06-02
1013Australia2025-05-19
1014Japan2025-06-01
1015France2025-06-09
1016Germany2025-06-16
1017France2025-06-08
1018United Kingdom2025-05-19
1019Argentina2025-06-14
1020India2025-05-24
1021Russia2025-05-23
1022France2025-06-05
1023Canada2025-05-24
1024United Kingdom2025-06-04
1025Spain2025-06-12
1026Argentina2025-06-05
1027Italy2025-06-13
1028Japan2025-06-12
1029Australia2025-06-06
1030Japan2025-06-16
1031Argentina2025-05-31
1032Canada2025-06-14
1033Brazil2025-06-10
1034Spain2025-06-03
1035United Kingdom2025-06-10
1036Canada2025-06-13
1037Spain2025-05-20
1038Italy2025-06-03
1039Brazil2025-05-22
1040India2025-05-21
1041Argentina2025-06-04
1042Italy2025-05-31
1043Brazil2025-05-23
1044United Kingdom2025-06-08
1045Italy2025-06-03
1046Russia2025-06-05
1047Brazil2025-05-22
1048Australia2025-05-18
1049United Kingdom2025-05-18

On-Demand Data

NameIdCountryDate
Aditya Z Albares1000France2025-05-29
Isabel E Malet1001Spain2025-05-26
Darci D Darakjy1002United Kingdom2025-05-29
Smith N Gaucho1003Argentina2025-06-09
Isabel G Campain1004Argentina2025-06-12
Silvio M Rim1005Germany2025-06-03
Julie O Paprocki1006Russia2025-05-19
Leja I Maclead1007Australia2025-06-15
Maisha W Rulapaugh1008United Kingdom2025-05-30
Aruna X Glick1009Italy2025-05-30
Stacey T Inouye1010India2025-05-24
Murillo K Darakjy1011Japan2025-06-11
Isabel Y Dilliard1012France2025-05-23
Ashley M Maclead1013Australia2025-06-04
Misaki L Bowley1014Russia2025-05-18
Jones H Campain1015Russia2025-05-23
Leon T Saylors1016Russia2025-05-20
David Y Bowley1017Brazil2025-06-13
Aditya U Rim1018Brazil2025-06-04
Alejandro N Nicka1019Germany2025-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro G RimCanadaOnyama Limba NEW
Munro E RoysterSpainIoni Bowcher UNQUALIFIED
Greenwood W DilliardArgentinaOnyama Limba UNQUALIFIED
David H SlusarskiArgentinaXuxue Feng NEGOTIATION
Julie R WhobreyItalyXuxue Feng NEGOTIATION
Rodrigues L PoquetteUnited KingdomOnyama Limba UNQUALIFIED
Clifford D AmigonUnited KingdomAsiya Javayant QUALIFIED
Silvio V RulapaughFranceOnyama Limba QUALIFIED
Antonio W SergiRussiaElwin Sharvill PROPOSAL
Ashley A PerinJapanIoni Bowcher NEGOTIATION
Emily O NestleItalyAnna Fali NEGOTIATION
Aditya U MaletIndiaOnyama Limba UNQUALIFIED
Sinclair I StensethArgentinaElwin Sharvill QUALIFIED
Clifford Q PerinBrazilAsiya Javayant PROPOSAL
Misaki N PerinCanadaIoni Bowcher NEW
Maisha B FollerItalyStephen Shaw PROPOSAL
Arvin V FigeroaRussiaAnna Fali RENEWAL
Misaki Q NickaCanadaIvan Magalhaes NEGOTIATION
Jefferson B VenereUnited KingdomAmy Elsner UNQUALIFIED
Ricardo R NickaFranceAmy Elsner RENEWAL
David R PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Smith Z DoeSpainAnna Fali PROPOSAL
Kadeem M CampainIndiaXuxue Feng RENEWAL
Arvin W GlickRussiaAnna Fali UNQUALIFIED
Claire F NickaCanadaBernardo Dominic NEGOTIATION
Maria V DarakjyArgentinaStephen Shaw UNQUALIFIED
Greenwood J MarrierAustraliaAnna Fali UNQUALIFIED
Salvatore G FigeroaCanadaOnyama Limba QUALIFIED
Octavia F VenereGermanyIvan Magalhaes QUALIFIED
Antonio U DoeItalyIoni Bowcher QUALIFIED
Izzy V OldroydFranceIvan Magalhaes NEW
Jefferson F GauchoSpainIvan Magalhaes QUALIFIED
Morrow I BowleyFranceStephen Shaw PROPOSAL
Alejandro R NickaFranceAmy Elsner PROPOSAL
Maria W FlosiItalyOnyama Limba PROPOSAL
Aditya A FollerArgentinaXuxue Feng UNQUALIFIED
Nicolas C NestleBrazilBernardo Dominic NEW
Kaitlin Z StensethGermanyOnyama Limba QUALIFIED
Misaki L NestleGermanyOnyama Limba QUALIFIED
Greenwood E VenereCanadaIoni Bowcher PROPOSAL

<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>