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
Kadeem C FollerRussiaAnna Fali PROPOSAL
Jones M ButtUnited KingdomAmy Elsner RENEWAL
Costa G CaudySpainStephen Shaw NEW
Antonio C FerenczAustraliaXuxue Feng UNQUALIFIED
Chavez O SchemmerCanadaAsiya Javayant UNQUALIFIED
Octavia Z CaudyItalyOnyama Limba RENEWAL
Clifford B DilliardSpainIvan Magalhaes RENEWAL
Maria G DoeGermanyStephen Shaw RENEWAL
Misaki R NickaRussiaOnyama Limba NEW
Wickens F PerinIndiaIoni Bowcher NEW
James S WieserJapanOnyama Limba NEW
Ivar I CampainGermanyAmy Elsner PROPOSAL
Kaitlin H StockhamUnited KingdomStephen Shaw QUALIFIED
Deepesh C NickaUnited KingdomElwin Sharvill NEGOTIATION
Kadeem C StensethJapanIoni Bowcher RENEWAL
Leon F SlusarskiIndiaOnyama Limba UNQUALIFIED
Faith Q BriddickCanadaAnna Fali PROPOSAL
Isabel Z VocelkaArgentinaStephen Shaw QUALIFIED
Izzy Z TollnerUnited KingdomStephen Shaw RENEWAL
Kadeem G IturbideArgentinaOnyama Limba QUALIFIED
Stacey H DilliardJapanIoni Bowcher NEW
Jefferson X WieserRussiaXuxue Feng RENEWAL
Julie N NickaFranceAmy Elsner NEW
Kadeem I ShinkoJapanStephen Shaw RENEWAL
Jones N NestleUnited KingdomAmy Elsner RENEWAL
Claire V RimItalyOnyama Limba NEGOTIATION
Chavez Q ShinkoCanadaBernardo Dominic UNQUALIFIED
Isabel X RulapaughArgentinaAsiya Javayant NEW
Smith G GillianCanadaOnyama Limba NEGOTIATION
Stacey C RutaIndiaIvan Magalhaes PROPOSAL
Smith P SaylorsGermanyXuxue Feng UNQUALIFIED
Jefferson P DilliardIndiaOnyama Limba NEW
Salvatore T StockhamArgentinaAnna Fali RENEWAL
Izzy C PoquetteSpainAsiya Javayant PROPOSAL
Smith R RutaJapanOnyama Limba RENEWAL
Kaitlin N IturbideJapanAsiya Javayant NEGOTIATION
Murillo Y PoquetteAustraliaIoni Bowcher UNQUALIFIED
Alejandro P WaycottIndiaIoni Bowcher PROPOSAL
Maria Q DarakjySpainAsiya Javayant NEGOTIATION
Faith R AlbaresArgentinaAmy Elsner PROPOSAL
Jeanfrancois Q SlusarskiGermanyOnyama Limba UNQUALIFIED
Darci B ShinkoRussiaOnyama Limba NEW
Clifford F FigeroaCanadaBernardo Dominic QUALIFIED
Jennifer F NickaSpainAmy Elsner QUALIFIED
Greenwood W GauchoAustraliaBernardo Dominic NEW
Munro P FigeroaRussiaIvan Magalhaes RENEWAL
Costa E VenereIndiaIvan Magalhaes UNQUALIFIED
Izzy N AmigonIndiaAsiya Javayant NEW
James J RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Morrow K FerenczJapanIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aika N NickaAustraliaIoni Bowcher QUALIFIED
Cody I ShinkoItalyIvan Magalhaes NEW
Stacey M BowleyItalyBernardo Dominic NEGOTIATION
Claire F StensethGermanyAmy Elsner PROPOSAL
Maria Z RutaJapanAsiya Javayant NEW
Aruna X MacleadCanadaStephen Shaw UNQUALIFIED
Maisha L StensethSpainAnna Fali PROPOSAL
Ashley P OldroydItalyIvan Magalhaes PROPOSAL
David K StockhamJapanIvan Magalhaes UNQUALIFIED
Nicolas A RutaGermanyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas K FigeroaArgentina2024-06-17Commercial Press NEW27Anna Fali
1001Isabel Z FerenczAustralia2024-06-04King, Christopher A Esq NEGOTIATION47Anna Fali
1002Misaki V GillianFrance2024-06-16Truhlar And Truhlar Attys PROPOSAL27Ivan Magalhaes
1003Juan R GarufiCanada2024-06-18Rousseaux, Michael Esq PROPOSAL90Ioni Bowcher
1004Aruna K NestleBrazil2024-06-04Commercial Press PROPOSAL27Onyama Limba
1005Claire H ButtGermany2024-06-14Benton, John B Jr NEGOTIATION72Xuxue Feng
1006Cody K OstroskyRussia2024-06-09Rangoni Of Florence RENEWAL32Amy Elsner
1007Mujtaba V MarrierJapan2024-05-27Dorl, James J Esq UNQUALIFIED51Onyama Limba
1008Rodrigues X NestleRussia2024-06-03Chapman, Ross E Esq PROPOSAL53Anna Fali
1009Juan N MacleadJapan2024-06-11Chapman, Ross E Esq PROPOSAL81Xuxue Feng
1010Johnson E BologniaFrance2024-06-01Commercial Press NEGOTIATION36Onyama Limba
1011Smith P RoysterFrance2024-06-19Rousseaux, Michael Esq NEGOTIATION56Amy Elsner
1012Rodrigues R GlickItaly2024-06-14Feiner Bros RENEWAL40Onyama Limba
1013Julie W MaletJapan2024-06-14Printing Dimensions RENEWAL62Bernardo Dominic
1014Silvio I KuskoIndia2024-06-23Chemel, James L Cpa NEW95Ioni Bowcher
1015Antonio Q DarakjySpain2024-06-20King, Christopher A Esq UNQUALIFIED81Amy Elsner
1016Francesco H ButtItaly2024-06-05Feltz Printing Service NEW88Amy Elsner
1017Juan A MacleadCanada2024-06-21Rousseaux, Michael Esq QUALIFIED83Elwin Sharvill
1018Salvatore H BriddickItaly2024-05-28Feiner Bros QUALIFIED89Ivan Magalhaes
1019Mayumi T SlusarskiItaly2024-06-09Truhlar And Truhlar Attys QUALIFIED14Xuxue Feng
1020Clifford J InouyeItaly2024-06-23King, Christopher A Esq QUALIFIED25Stephen Shaw
1021Leon M FigeroaSpain2024-06-02King, Christopher A Esq NEGOTIATION6Bernardo Dominic
1022Maria N RulapaughJapan2024-06-23Benton, John B Jr NEGOTIATION80Bernardo Dominic
1023Maria S AlbaresRussia2024-06-15Rousseaux, Michael Esq RENEWAL73Bernardo Dominic
1024Julie O CaldareraUnited Kingdom2024-05-28Buckley Miller Wright NEW38Anna Fali
1025Francesco D FerenczGermany2024-06-15Morlong Associates PROPOSAL79Amy Elsner
1026Stacey G PoquetteSpain2024-06-09Chanay, Jeffrey A Esq PROPOSAL51Xuxue Feng
1027Jefferson C ButtGermany2024-06-18Rangoni Of Florence UNQUALIFIED87Amy Elsner
1028Julie L StensethIndia2024-06-12Rangoni Of Florence NEW75Asiya Javayant
1029Stacey T PerinCanada2024-06-16Truhlar And Truhlar Attys NEGOTIATION30Amy Elsner
1030Rodrigues C StockhamFrance2024-05-31Chapman, Ross E Esq QUALIFIED85Anna Fali
1031Antonio F CaudyBrazil2024-05-27Chapman, Ross E Esq PROPOSAL90Stephen Shaw
1032Johnson K WieserUnited Kingdom2024-06-10Benton, John B Jr RENEWAL50Anna Fali
1033Murillo C RoysterRussia2024-05-26Buckley Miller Wright UNQUALIFIED66Bernardo Dominic
1034Munro O BriddickFrance2024-06-01Rangoni Of Florence NEGOTIATION32Bernardo Dominic
1035Nicolas N MaletBrazil2024-05-29King, Christopher A Esq UNQUALIFIED49Xuxue Feng
1036Juan O GauchoSpain2024-06-04Rangoni Of Florence RENEWAL4Amy Elsner
1037Costa K PaprockiItaly2024-05-25Commercial Press QUALIFIED90Onyama Limba
1038Claire P AmigonAustralia2024-06-04Rousseaux, Michael Esq UNQUALIFIED7Ioni Bowcher
1039Smith P SergiJapan2024-06-02Rangoni Of Florence QUALIFIED56Stephen Shaw
1040Ashley R PoquetteItaly2024-06-05Chapman, Ross E Esq NEW21Elwin Sharvill
1041Morrow W FollerItaly2024-05-26Truhlar And Truhlar Attys UNQUALIFIED47Anna Fali
1042Jefferson O SchemmerRussia2024-05-28Chemel, James L Cpa PROPOSAL31Ioni Bowcher
1043Salvatore P PaprockiUnited Kingdom2024-06-23Rangoni Of Florence NEW56Anna Fali
1044Arvin N WaycottBrazil2024-06-19Commercial Press RENEWAL89Amy Elsner
1045Nicolas A KolmetzAustralia2024-06-17Truhlar And Truhlar Attys NEGOTIATION61Anna Fali
1046Clifford N PoquetteGermany2024-06-17Truhlar And Truhlar Attys NEGOTIATION40Asiya Javayant
1047Salvatore D BologniaRussia2024-06-15Feiner Bros PROPOSAL23Xuxue Feng
1048Emily V InouyeArgentina2024-06-16Chapman, Ross E Esq PROPOSAL17Xuxue Feng
1049Francesco C PerinSpain2024-06-14Buckley Miller Wright PROPOSAL0Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maisha E WhobreyAustraliaElwin Sharvill RENEWAL
Isabel Z BriddickUnited KingdomStephen Shaw UNQUALIFIED
Antonio Y BologniaRussiaOnyama Limba RENEWAL
Nicolas Y ShinkoUnited KingdomXuxue Feng QUALIFIED
Nicolas R FlosiSpainBernardo Dominic RENEWAL
Clifford P WieserBrazilAmy Elsner UNQUALIFIED
Juan A NestleItalyIoni Bowcher PROPOSAL
Francesco M PoquetteJapanElwin Sharvill NEGOTIATION
Jefferson R MorascaGermanyBernardo Dominic UNQUALIFIED
Clifford I BriddickUnited KingdomBernardo Dominic NEGOTIATION
Arvin W MarrierArgentinaAmy Elsner UNQUALIFIED
Izzy V GauchoBrazilAnna Fali QUALIFIED
Johnson L GlickIndiaOnyama Limba PROPOSAL
Murillo Y NestleCanadaStephen Shaw QUALIFIED
Julie A BowleyFranceIoni Bowcher UNQUALIFIED
Murillo R GillianAustraliaElwin Sharvill NEGOTIATION
Salvatore J MorascaRussiaAnna Fali NEGOTIATION
Ricardo X CaudySpainOnyama Limba NEGOTIATION
Jeanfrancois G RulapaughArgentinaIvan Magalhaes UNQUALIFIED
James K RutaIndiaAnna Fali QUALIFIED
Alejandro I RutaSpainAmy Elsner UNQUALIFIED
Greenwood R FlosiArgentinaBernardo Dominic PROPOSAL
Maria G GauchoUnited KingdomOnyama Limba QUALIFIED
Emily B SergiItalyStephen Shaw NEW
Leja E KuskoCanadaAsiya Javayant UNQUALIFIED
Ashley K ShinkoUnited KingdomXuxue Feng NEW
Deepesh O NickaIndiaAsiya Javayant PROPOSAL
Wickens S MorascaRussiaAsiya Javayant NEW
Jefferson Z DarakjyFranceAmy Elsner NEW
Antonio I CaldareraJapanBernardo Dominic UNQUALIFIED
Morrow Y GauchoRussiaAmy Elsner NEW
James Z OldroydItalyElwin Sharvill RENEWAL
Mujtaba W FollerJapanIoni Bowcher NEW
Salvatore V GarufiGermanyIoni Bowcher NEGOTIATION
Deepesh J RimUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo B ButtItalyOnyama Limba PROPOSAL
Mayumi O GlickUnited KingdomElwin Sharvill NEW
Silvio W CaldareraJapanIvan Magalhaes QUALIFIED
Emily S StensethAustraliaElwin Sharvill PROPOSAL
Mayumi V ShinkoUnited KingdomXuxue Feng PROPOSAL
Rodrigues M ButtArgentinaXuxue Feng PROPOSAL
Claire T WhobreyAustraliaIvan Magalhaes NEW
Kaitlin A DarakjyRussiaElwin Sharvill PROPOSAL
Kaitlin R FollerRussiaAsiya Javayant NEW
Wickens H WhobreyFranceOnyama Limba UNQUALIFIED
Aruna S StockhamFranceStephen Shaw RENEWAL
Munro T StockhamRussiaIvan Magalhaes NEW
Chavez K OstroskyArgentinaBernardo Dominic RENEWAL
Rodrigues F VenereGermanyOnyama Limba PROPOSAL
Alejandro B IturbideItalyAmy Elsner UNQUALIFIED
Frozen Columns
Name
Mujtaba W Shinko
Clifford P Slusarski
Nicolas B Nestle
Chavez K Malet
Costa H Kusko
Misaki X Nestle
Alejandro T Poquette
Kaitlin J Glick
Alejandro V Campain
Francesco X Marrier
Mujtaba L Whobrey
David T Rim
Tony L Chui
Jeanfrancois Q Slusarski
Munro V Ruta
Munro E Doe
Darci K Gillian
Jeanfrancois I Figeroa
Jennifer I Albares
Salvatore O Inouye
Stacey X Maclead
Tony N Venere
Arvin Z Wieser
Wickens I Oldroyd
David B Gaucho
Leon J Ostrosky
Antonio N Briddick
Faith J Foller
David X Wieser
Maria R Iturbide
Leon Q Whobrey
Emily T Bolognia
Jefferson V Rim
Izzy O Caldarera
Faith V Tollner
Adams J Marrier
Clifford T Caudy
Leon Q Gillian
Tony H Slusarski
Izzy G Butt
Arvin H Gillian
Ivar E Stenseth
Maria S Darakjy
Cody C Ruta
Smith O Caudy
Morrow R Kusko
Nicolas M Malet
Antonio H Stockham
Cody F Morasca
Antonio B Saylors
IdCountryDate
1000Spain2024-06-03
1001United Kingdom2024-06-02
1002Canada2024-06-20
1003Russia2024-05-31
1004Russia2024-06-19
1005Germany2024-05-30
1006Canada2024-06-13
1007Germany2024-06-13
1008United Kingdom2024-06-21
1009Brazil2024-06-23
1010Canada2024-06-17
1011Germany2024-06-21
1012Germany2024-06-14
1013India2024-05-29
1014Australia2024-05-30
1015Brazil2024-05-30
1016France2024-06-13
1017Germany2024-06-23
1018Russia2024-05-30
1019Canada2024-06-18
1020Spain2024-06-14
1021Japan2024-06-22
1022Argentina2024-06-06
1023Russia2024-06-09
1024United Kingdom2024-06-22
1025Canada2024-06-16
1026Germany2024-06-21
1027France2024-06-04
1028Italy2024-06-10
1029United Kingdom2024-06-06
1030Italy2024-06-13
1031Argentina2024-06-05
1032Argentina2024-05-31
1033Italy2024-06-22
1034Argentina2024-06-17
1035India2024-06-05
1036Spain2024-06-11
1037Germany2024-06-15
1038United Kingdom2024-05-26
1039India2024-05-29
1040France2024-06-11
1041Argentina2024-06-19
1042France2024-06-14
1043United Kingdom2024-06-06
1044Spain2024-06-23
1045United Kingdom2024-06-18
1046Italy2024-06-10
1047Germany2024-05-31
1048Spain2024-06-05
1049France2024-06-17

On-Demand Data

NameIdCountryDate
Faith E Marrier1000Canada2024-06-19
Jennifer Z Morasca1001Canada2024-05-27
Munro Y Wieser1002Canada2024-06-16
Arvin D Caudy1003Japan2024-06-09
Johnson Q Rulapaugh1004Brazil2024-06-21
Deepesh G Saylors1005France2024-05-27
Ashley S Nicka1006Brazil2024-06-09
Aika E Malet1007Australia2024-06-16
Jefferson M Schemmer1008Spain2024-06-10
Mujtaba A Malet1009India2024-06-08
Jeanfrancois X Poquette1010France2024-06-04
Chavez F Bolognia1011Australia2024-05-30
Aruna T Paprocki1012Brazil2024-06-18
Salvatore R Briddick1013Japan2024-05-26
Leon J Shinko1014France2024-06-22
Maria P Slusarski1015Brazil2024-06-17
Kadeem N Slusarski1016Germany2024-06-13
Morrow A Rulapaugh1017France2024-06-03
Mujtaba R Ruta1018Argentina2024-06-14
Adams W Amigon1019Russia2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa W MarrierGermanyBernardo Dominic NEW
Arvin O PoquetteJapanStephen Shaw PROPOSAL
Leon A ChuiAustraliaIoni Bowcher NEW
James G KuskoBrazilAmy Elsner NEW
Salvatore U VocelkaFranceStephen Shaw PROPOSAL
Izzy H PerinGermanyIvan Magalhaes NEGOTIATION
James V AlbaresRussiaAsiya Javayant PROPOSAL
Deepesh Q GauchoBrazilIvan Magalhaes UNQUALIFIED
Deepesh B PaprockiAustraliaAmy Elsner RENEWAL
Juan H SchemmerJapanAmy Elsner PROPOSAL
David Q ButtFranceStephen Shaw NEW
Ricardo B BologniaCanadaBernardo Dominic UNQUALIFIED
Johnson W KolmetzArgentinaOnyama Limba QUALIFIED
Jones R PaprockiArgentinaAnna Fali QUALIFIED
Emily T BowleyItalyElwin Sharvill NEW
Kaitlin X MaletFranceBernardo Dominic UNQUALIFIED
Munro I SlusarskiItalyBernardo Dominic UNQUALIFIED
Faith T MaletSpainIvan Magalhaes UNQUALIFIED
Leon Z InouyeUnited KingdomAsiya Javayant RENEWAL
Claire G PoquetteRussiaXuxue Feng UNQUALIFIED
Tony J MacleadRussiaStephen Shaw NEW
Smith A RimFranceIvan Magalhaes PROPOSAL
Jones E CaldareraFranceIvan Magalhaes QUALIFIED
James Q RimRussiaBernardo Dominic QUALIFIED
Aditya L ChuiRussiaAnna Fali UNQUALIFIED
Cody I SchemmerSpainIvan Magalhaes QUALIFIED
Stacey P RulapaughGermanyAsiya Javayant NEGOTIATION
Jones Y CampainJapanAmy Elsner NEW
Darci E FigeroaItalyElwin Sharvill NEW
Antonio T MorascaJapanOnyama Limba PROPOSAL
Greenwood Q OstroskyFranceIoni Bowcher NEW
Juan A SaylorsItalyAmy Elsner UNQUALIFIED
Johnson M InouyeJapanAsiya Javayant PROPOSAL
Wickens C RoysterBrazilStephen Shaw RENEWAL
Octavia C InouyeJapanIoni Bowcher NEW
Smith Q PaprockiArgentinaIoni Bowcher RENEWAL
Murillo B RulapaughGermanyStephen Shaw NEW
Claire X NestleCanadaAsiya Javayant UNQUALIFIED
Sinclair O InouyeBrazilAmy Elsner UNQUALIFIED
Juan M CampainGermanyIvan Magalhaes 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>