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
Isabel M CaldareraRussiaAnna Fali NEW
Claire Z NickaAustraliaOnyama Limba NEGOTIATION
Arvin Y MarrierArgentinaAmy Elsner QUALIFIED
Cody W CampainIndiaElwin Sharvill UNQUALIFIED
Mujtaba X DarakjySpainAsiya Javayant QUALIFIED
Ricardo O MacleadCanadaBernardo Dominic PROPOSAL
Juan J BowleyIndiaElwin Sharvill QUALIFIED
Leon Y ShinkoUnited KingdomIvan Magalhaes NEW
Deepesh L BriddickIndiaBernardo Dominic RENEWAL
Emily J WhobreyIndiaAsiya Javayant UNQUALIFIED
Juan A GauchoIndiaAsiya Javayant QUALIFIED
Murillo D StensethGermanyElwin Sharvill PROPOSAL
Jeanfrancois J MaletAustraliaBernardo Dominic UNQUALIFIED
Costa H WaycottRussiaAnna Fali NEGOTIATION
Costa W SchemmerSpainXuxue Feng UNQUALIFIED
Jennifer A MarrierItalyIvan Magalhaes NEGOTIATION
Kaitlin J GlickGermanyIoni Bowcher NEW
Claire Z InouyeCanadaBernardo Dominic PROPOSAL
Claire Z KolmetzAustraliaXuxue Feng NEGOTIATION
Jefferson H FerenczUnited KingdomBernardo Dominic RENEWAL
Claire J BriddickSpainAmy Elsner RENEWAL
Mujtaba H FollerAustraliaAmy Elsner RENEWAL
James D IturbideUnited KingdomOnyama Limba QUALIFIED
Stacey Q AmigonCanadaAnna Fali UNQUALIFIED
Murillo L CaudyBrazilIvan Magalhaes PROPOSAL
Mujtaba S PerinItalyXuxue Feng QUALIFIED
Maisha U InouyeFranceAmy Elsner RENEWAL
Faith I PoquetteSpainStephen Shaw NEGOTIATION
Chavez X StockhamIndiaStephen Shaw NEGOTIATION
Aruna M AlbaresFranceStephen Shaw QUALIFIED
Munro S AlbaresGermanyBernardo Dominic PROPOSAL
Stacey Z MarrierRussiaIvan Magalhaes UNQUALIFIED
Leon M DarakjyGermanyStephen Shaw NEGOTIATION
Aika Q SaylorsRussiaOnyama Limba RENEWAL
Jennifer B CaldareraGermanyAmy Elsner PROPOSAL
Clifford V DilliardFranceBernardo Dominic QUALIFIED
Nicolas R TollnerIndiaIvan Magalhaes RENEWAL
Francesco W MacleadUnited KingdomElwin Sharvill NEGOTIATION
Wickens A NickaFranceOnyama Limba UNQUALIFIED
Kadeem U MacleadUnited KingdomBernardo Dominic NEGOTIATION
Murillo K StockhamAustraliaXuxue Feng PROPOSAL
Juan Z FollerSpainIvan Magalhaes QUALIFIED
Jones F SaylorsIndiaOnyama Limba RENEWAL
Jones O GauchoArgentinaStephen Shaw PROPOSAL
Deepesh Z SergiUnited KingdomAsiya Javayant NEGOTIATION
Kadeem H GillianGermanyOnyama Limba NEGOTIATION
Deepesh E NickaGermanyAnna Fali UNQUALIFIED
Nicolas Y MacleadSpainElwin Sharvill RENEWAL
David X NestleRussiaElwin Sharvill UNQUALIFIED
Salvatore Y MarrierUnited KingdomOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh Z CampainRussiaAmy Elsner NEW
Kadeem Z KuskoFranceXuxue Feng NEGOTIATION
Smith X TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Juan E RutaItalyXuxue Feng RENEWAL
Francesco J IturbideGermanyElwin Sharvill UNQUALIFIED
Salvatore D VocelkaAustraliaAsiya Javayant RENEWAL
Mujtaba Y WhobreyJapanAnna Fali RENEWAL
Adams I SergiSpainStephen Shaw PROPOSAL
Isabel Y MorascaFranceXuxue Feng UNQUALIFIED
James Z KolmetzCanadaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson G GlickJapan2024-05-27Printing Dimensions PROPOSAL42Asiya Javayant
1001Mujtaba B AmigonIndia2024-06-01Benton, John B Jr NEW16Ioni Bowcher
1002Nicolas L GlickJapan2024-06-05Feltz Printing Service UNQUALIFIED15Amy Elsner
1003Arvin L GillianBrazil2024-06-08Feltz Printing Service RENEWAL56Ivan Magalhaes
1004Johnson K SchemmerItaly2024-06-21Printing Dimensions NEGOTIATION85Anna Fali
1005Emily I MacleadJapan2024-06-23Morlong Associates PROPOSAL86Ioni Bowcher
1006Munro N BologniaJapan2024-06-22Dorl, James J Esq NEW20Bernardo Dominic
1007David B DarakjyBrazil2024-06-10Morlong Associates RENEWAL95Amy Elsner
1008Jones Q AlbaresJapan2024-06-02Printing Dimensions UNQUALIFIED6Asiya Javayant
1009Ricardo R VenereJapan2024-05-27Benton, John B Jr PROPOSAL53Ioni Bowcher
1010Ricardo S InouyeBrazil2024-06-21Dorl, James J Esq NEW79Elwin Sharvill
1011Silvio T RoysterSpain2024-06-01King, Christopher A Esq NEW1Onyama Limba
1012Isabel P AmigonUnited Kingdom2024-06-05Truhlar And Truhlar Attys UNQUALIFIED39Anna Fali
1013Ivar B FlosiJapan2024-06-10Feiner Bros QUALIFIED50Onyama Limba
1014Deepesh B SchemmerRussia2024-05-27Chemel, James L Cpa NEGOTIATION75Ivan Magalhaes
1015David X StensethArgentina2024-06-09Morlong Associates QUALIFIED34Onyama Limba
1016Ivar G MorascaRussia2024-05-29Chapman, Ross E Esq PROPOSAL83Ioni Bowcher
1017Ricardo K DoeUnited Kingdom2024-06-07Benton, John B Jr QUALIFIED10Ioni Bowcher
1018Leja U AlbaresItaly2024-05-31Printing Dimensions NEGOTIATION84Ioni Bowcher
1019Mayumi P PerinUnited Kingdom2024-06-22Feltz Printing Service NEW8Stephen Shaw
1020Tony G BologniaRussia2024-06-06King, Christopher A Esq PROPOSAL39Xuxue Feng
1021James P DarakjyFrance2024-06-02Printing Dimensions QUALIFIED44Anna Fali
1022Antonio M CaudyArgentina2024-05-29Rangoni Of Florence QUALIFIED41Stephen Shaw
1023Greenwood I TollnerJapan2024-06-04Printing Dimensions NEGOTIATION79Xuxue Feng
1024Ashley L VenereIndia2024-06-20Chanay, Jeffrey A Esq RENEWAL38Onyama Limba
1025Leon Y InouyeBrazil2024-06-08Rangoni Of Florence PROPOSAL76Bernardo Dominic
1026Jefferson M DarakjyCanada2024-06-23Chapman, Ross E Esq RENEWAL18Anna Fali
1027Aditya L IturbideGermany2024-06-22Chapman, Ross E Esq NEW35Amy Elsner
1028Sinclair M SergiRussia2024-06-24Chapman, Ross E Esq PROPOSAL68Elwin Sharvill
1029Cody J PoquetteJapan2024-06-04Chemel, James L Cpa NEW96Elwin Sharvill
1030Francesco C FigeroaSpain2024-06-23Chapman, Ross E Esq QUALIFIED38Onyama Limba
1031Tony Q MorascaJapan2024-05-29Chemel, James L Cpa RENEWAL1Stephen Shaw
1032Morrow J SchemmerArgentina2024-05-30King, Christopher A Esq PROPOSAL26Xuxue Feng
1033Jennifer G ChuiFrance2024-06-12Chapman, Ross E Esq NEW86Amy Elsner
1034Johnson Y VocelkaCanada2024-06-24Truhlar And Truhlar Attys PROPOSAL64Xuxue Feng
1035Jennifer P AmigonUnited Kingdom2024-06-13Printing Dimensions RENEWAL63Stephen Shaw
1036Ricardo B CaldareraBrazil2024-06-16Dorl, James J Esq QUALIFIED25Ivan Magalhaes
1037Wickens W RutaCanada2024-06-17Feltz Printing Service NEW88Onyama Limba
1038Adams U SchemmerSpain2024-06-09Chapman, Ross E Esq NEGOTIATION25Onyama Limba
1039Aditya N OldroydUnited Kingdom2024-05-30Rangoni Of Florence RENEWAL13Xuxue Feng
1040Salvatore B MorascaJapan2024-06-03Printing Dimensions RENEWAL82Ivan Magalhaes
1041Tony U FollerCanada2024-06-16Truhlar And Truhlar Attys NEW99Bernardo Dominic
1042Cody I RimGermany2024-05-28Chemel, James L Cpa RENEWAL66Stephen Shaw
1043Sinclair Z WhobreyArgentina2024-05-30King, Christopher A Esq NEW37Stephen Shaw
1044Faith Y StensethSpain2024-06-19Rousseaux, Michael Esq RENEWAL58Ioni Bowcher
1045Arvin O TollnerGermany2024-06-23Chanay, Jeffrey A Esq QUALIFIED24Elwin Sharvill
1046Jennifer B StensethRussia2024-06-09Rousseaux, Michael Esq PROPOSAL40Elwin Sharvill
1047Ivar M RoysterItaly2024-06-11Commercial Press RENEWAL56Anna Fali
1048Aika B BowleyGermany2024-06-16Truhlar And Truhlar Attys QUALIFIED30Xuxue Feng
1049Claire T PaprockiFrance2024-06-16Commercial Press NEW93Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin F CampainRussiaAsiya Javayant NEW
Rodrigues M ShinkoCanadaIvan Magalhaes NEW
Juan J BowleyCanadaStephen Shaw NEGOTIATION
Chavez V ButtBrazilIvan Magalhaes NEGOTIATION
Nicolas H WhobreyRussiaBernardo Dominic NEW
Maisha T VocelkaAustraliaOnyama Limba PROPOSAL
Octavia L StockhamRussiaAmy Elsner NEW
Aika I SlusarskiItalyXuxue Feng RENEWAL
Maisha O IturbideJapanAsiya Javayant NEW
Aditya K GauchoJapanIoni Bowcher UNQUALIFIED
Faith R WhobreyGermanyIvan Magalhaes QUALIFIED
Jeanfrancois X NickaRussiaBernardo Dominic QUALIFIED
David I DoeCanadaXuxue Feng NEGOTIATION
Nicolas N DilliardItalyOnyama Limba NEGOTIATION
Jennifer S SaylorsArgentinaAnna Fali RENEWAL
Chavez W StensethJapanAmy Elsner NEW
Juan J WhobreyIndiaXuxue Feng PROPOSAL
Rodrigues W FlosiSpainIvan Magalhaes RENEWAL
Alejandro V FollerCanadaAnna Fali QUALIFIED
Jennifer Z KolmetzJapanAnna Fali UNQUALIFIED
Isabel M BriddickGermanyAnna Fali QUALIFIED
Nicolas B CampainBrazilAsiya Javayant RENEWAL
Kadeem L GarufiAustraliaOnyama Limba NEGOTIATION
Nicolas J StockhamRussiaAmy Elsner NEW
Maria Y DilliardCanadaIoni Bowcher UNQUALIFIED
Kadeem Z VenereUnited KingdomAsiya Javayant UNQUALIFIED
Sinclair K FerenczJapanAnna Fali PROPOSAL
Rodrigues J FollerJapanAnna Fali NEGOTIATION
Costa N AlbaresCanadaAmy Elsner QUALIFIED
Octavia H AmigonUnited KingdomOnyama Limba NEGOTIATION
Izzy Z BologniaRussiaAnna Fali NEW
Munro M VenereCanadaAnna Fali RENEWAL
Salvatore W SaylorsFranceElwin Sharvill UNQUALIFIED
Rodrigues Y ButtArgentinaIvan Magalhaes NEGOTIATION
Jennifer V NickaAustraliaAnna Fali QUALIFIED
Faith J MorascaAustraliaOnyama Limba PROPOSAL
Adams S MorascaBrazilIoni Bowcher QUALIFIED
Deepesh C FerenczItalyIvan Magalhaes QUALIFIED
Deepesh F StockhamBrazilOnyama Limba NEW
Misaki Y CaudyJapanElwin Sharvill QUALIFIED
Ivar Z SaylorsArgentinaAmy Elsner NEGOTIATION
Chavez W FerenczUnited KingdomXuxue Feng RENEWAL
Julie Z PerinGermanyAsiya Javayant PROPOSAL
Jennifer U ChuiIndiaElwin Sharvill QUALIFIED
Kadeem N WieserBrazilAmy Elsner NEGOTIATION
Aruna Z StockhamFranceAnna Fali NEW
Adams M NickaAustraliaIvan Magalhaes UNQUALIFIED
Octavia K ChuiCanadaXuxue Feng NEW
Isabel Z ShinkoItalyXuxue Feng NEW
Johnson Z NestleBrazilAmy Elsner QUALIFIED
Frozen Columns
Name
Darci F Campain
Morrow J Vocelka
Cody K Gillian
Leon W Malet
Clifford P Ruta
Ashley L Campain
Alejandro F Nicka
Ricardo E Sergi
Claire M Maclead
David Q Caudy
David Y Maclead
Murillo I Sergi
David L Ruta
Murillo T Dilliard
Wickens P Ferencz
Izzy W Oldroyd
Jennifer D Shinko
Clifford B Tollner
Johnson L Glick
Jeanfrancois D Caldarera
Isabel S Malet
Costa D Figeroa
Jeanfrancois K Rulapaugh
Nicolas C Butt
Morrow F Bolognia
Jeanfrancois N Perin
Nicolas L Iturbide
Izzy A Doe
Smith T Foller
Izzy D Sergi
Ivar E Schemmer
Clifford D Dilliard
Ivar U Gaucho
Adams L Nestle
Francesco G Gillian
Faith U Inouye
Maria F Morasca
Johnson Q Marrier
Emily R Bowley
Johnson S Schemmer
Ivar P Iturbide
Leon P Nicka
Nicolas T Schemmer
Emily I Kolmetz
Kaitlin N Glick
Jennifer V Venere
Morrow O Glick
David D Wieser
Faith U Oldroyd
Misaki K Slusarski
IdCountryDate
1000Italy2024-06-02
1001Spain2024-06-05
1002Brazil2024-06-10
1003France2024-06-18
1004Australia2024-06-06
1005Spain2024-06-25
1006Australia2024-06-02
1007India2024-06-07
1008Spain2024-06-22
1009Japan2024-06-05
1010Italy2024-06-08
1011Japan2024-06-21
1012United Kingdom2024-06-25
1013Italy2024-06-17
1014Germany2024-06-02
1015Germany2024-06-18
1016Germany2024-06-08
1017Japan2024-06-20
1018Canada2024-06-14
1019Japan2024-06-04
1020Brazil2024-05-31
1021Brazil2024-06-11
1022Italy2024-06-25
1023France2024-06-15
1024Italy2024-06-03
1025Italy2024-06-23
1026Russia2024-06-14
1027Argentina2024-06-16
1028Italy2024-06-06
1029Brazil2024-05-27
1030India2024-06-23
1031Italy2024-06-02
1032Argentina2024-06-10
1033Russia2024-05-27
1034United Kingdom2024-06-20
1035India2024-06-07
1036Australia2024-06-23
1037Italy2024-05-29
1038Brazil2024-06-25
1039Australia2024-06-08
1040Spain2024-06-25
1041Australia2024-06-09
1042Canada2024-06-01
1043Russia2024-05-31
1044United Kingdom2024-06-02
1045Canada2024-06-17
1046Italy2024-06-06
1047Brazil2024-06-03
1048Germany2024-06-16
1049United Kingdom2024-06-17

On-Demand Data

NameIdCountryDate
Leon T Marrier1000Brazil2024-06-15
Ivar C Stenseth1001India2024-06-13
Munro Q Morasca1002Spain2024-05-27
Silvio Z Marrier1003Germany2024-06-06
Morrow T Glick1004France2024-06-18
Costa B Gillian1005Canada2024-06-11
Maisha E Venere1006Brazil2024-06-17
Adams B Dilliard1007Spain2024-06-18
Mujtaba O Gillian1008Brazil2024-06-01
Cody B Ostrosky1009Russia2024-05-31
Tony J Garufi1010India2024-06-24
Maria F Darakjy1011Argentina2024-06-18
Cody X Figeroa1012Russia2024-06-13
Aika S Ostrosky1013Argentina2024-06-03
Rodrigues R Saylors1014Japan2024-06-06
Adams W Whobrey1015France2024-05-29
Ashley V Malet1016Brazil2024-05-28
Aruna D Perin1017Canada2024-05-31
Arvin R Shinko1018Spain2024-06-16
Greenwood D Dilliard1019Spain2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford M ChuiJapanIoni Bowcher UNQUALIFIED
Maria X BologniaBrazilIoni Bowcher QUALIFIED
Jefferson W WieserIndiaElwin Sharvill QUALIFIED
Chavez O SergiSpainOnyama Limba NEGOTIATION
Johnson V OldroydRussiaElwin Sharvill QUALIFIED
Costa C WieserUnited KingdomAnna Fali RENEWAL
Kaitlin V SchemmerSpainBernardo Dominic PROPOSAL
Mujtaba I MacleadJapanIoni Bowcher NEGOTIATION
Munro Q OldroydArgentinaIvan Magalhaes NEW
Deepesh I AlbaresBrazilBernardo Dominic QUALIFIED
Arvin E DoeGermanyIvan Magalhaes QUALIFIED
Rodrigues G PerinAustraliaStephen Shaw PROPOSAL
Jefferson F BologniaGermanyBernardo Dominic RENEWAL
Adams J MaletIndiaXuxue Feng NEW
Silvio J TollnerCanadaXuxue Feng NEGOTIATION
Ashley M GlickJapanOnyama Limba UNQUALIFIED
Misaki R PerinItalyBernardo Dominic NEW
Johnson H VocelkaFranceAnna Fali PROPOSAL
Kadeem W MaletRussiaElwin Sharvill RENEWAL
Francesco K KolmetzRussiaStephen Shaw QUALIFIED
Jeanfrancois W RoysterSpainOnyama Limba NEW
Mayumi J DoeIndiaIoni Bowcher RENEWAL
Leja C InouyeSpainAsiya Javayant QUALIFIED
Cody F KuskoJapanStephen Shaw NEGOTIATION
Silvio O MaletArgentinaIvan Magalhaes QUALIFIED
Ashley L IturbideSpainStephen Shaw NEGOTIATION
Salvatore C VenereItalyStephen Shaw QUALIFIED
Isabel U ChuiJapanOnyama Limba QUALIFIED
Mujtaba Y BriddickAustraliaBernardo Dominic NEGOTIATION
Leja W NestleJapanAnna Fali UNQUALIFIED
Greenwood M ButtRussiaIoni Bowcher QUALIFIED
Adams D OstroskyArgentinaIoni Bowcher QUALIFIED
Misaki A SaylorsIndiaElwin Sharvill PROPOSAL
Tony T BologniaFranceAnna Fali QUALIFIED
Aika U InouyeJapanAsiya Javayant NEW
Aditya Z SaylorsAustraliaOnyama Limba UNQUALIFIED
Aditya L DilliardBrazilAmy Elsner NEW
Emily H GlickCanadaIvan Magalhaes NEGOTIATION
Mayumi Q WhobreyAustraliaIvan Magalhaes PROPOSAL
Leon W GlickRussiaAsiya Javayant NEGOTIATION

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