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 G MacleadCanadaElwin Sharvill PROPOSAL
Deepesh T OstroskyAustraliaStephen Shaw UNQUALIFIED
Francesco Y SergiItalyElwin Sharvill UNQUALIFIED
Antonio A PerinAustraliaElwin Sharvill PROPOSAL
Octavia W GlickJapanElwin Sharvill UNQUALIFIED
James W SaylorsCanadaBernardo Dominic NEGOTIATION
James B MarrierAustraliaAmy Elsner PROPOSAL
Murillo U WieserGermanyStephen Shaw RENEWAL
Isabel C KolmetzRussiaAmy Elsner QUALIFIED
Isabel B GauchoRussiaOnyama Limba UNQUALIFIED
Maisha G PaprockiArgentinaAmy Elsner NEGOTIATION
Chavez R DoeIndiaAmy Elsner PROPOSAL
Francesco M SlusarskiAustraliaElwin Sharvill UNQUALIFIED
James M OldroydUnited KingdomAmy Elsner NEGOTIATION
Tony J VocelkaCanadaStephen Shaw UNQUALIFIED
Jeanfrancois T FlosiUnited KingdomAnna Fali NEW
James R MorascaArgentinaIvan Magalhaes NEGOTIATION
Arvin L GauchoArgentinaAmy Elsner RENEWAL
Clifford Q SergiArgentinaXuxue Feng UNQUALIFIED
Greenwood P StockhamIndiaAnna Fali UNQUALIFIED
Izzy B IturbideBrazilIoni Bowcher NEGOTIATION
Rodrigues Y BriddickIndiaElwin Sharvill PROPOSAL
Clifford V FigeroaItalyIvan Magalhaes QUALIFIED
Mujtaba K KuskoBrazilElwin Sharvill PROPOSAL
Arvin C DarakjyIndiaOnyama Limba NEW
Ivar K GauchoGermanyOnyama Limba NEGOTIATION
Misaki G FlosiCanadaBernardo Dominic UNQUALIFIED
Silvio Z DoeGermanyIoni Bowcher UNQUALIFIED
Isabel U RoysterUnited KingdomStephen Shaw NEGOTIATION
Ivar M ChuiUnited KingdomOnyama Limba RENEWAL
Misaki P RoysterArgentinaIvan Magalhaes RENEWAL
Ivar U KolmetzArgentinaElwin Sharvill NEGOTIATION
Rodrigues V InouyeGermanyAsiya Javayant PROPOSAL
Wickens S MacleadArgentinaAsiya Javayant QUALIFIED
Jefferson W SaylorsJapanIvan Magalhaes UNQUALIFIED
Emily V DilliardCanadaAsiya Javayant NEW
Aditya U MorascaJapanOnyama Limba QUALIFIED
Silvio D BriddickIndiaIvan Magalhaes NEW
Darci Z OstroskySpainAnna Fali NEGOTIATION
David I StockhamIndiaStephen Shaw RENEWAL
Isabel M BowleySpainAsiya Javayant QUALIFIED
Faith Y DarakjyFranceElwin Sharvill PROPOSAL
Octavia S OstroskyBrazilStephen Shaw PROPOSAL
Antonio M RimArgentinaOnyama Limba RENEWAL
Morrow H RoysterSpainAnna Fali NEW
Francesco I RoysterItalyElwin Sharvill RENEWAL
Claire U PaprockiItalyElwin Sharvill UNQUALIFIED
Munro Z RulapaughAustraliaAnna Fali NEW
Francesco T StensethGermanyXuxue Feng UNQUALIFIED
Costa S DilliardJapanOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Aika P CaudyIndiaAnna Fali UNQUALIFIED
Smith L FerenczRussiaIvan Magalhaes NEW
Munro F OldroydFranceStephen Shaw RENEWAL
Clifford S MorascaAustraliaAsiya Javayant PROPOSAL
Leon H WaycottRussiaIvan Magalhaes RENEWAL
Octavia A SergiSpainXuxue Feng UNQUALIFIED
Izzy S PaprockiItalyIvan Magalhaes PROPOSAL
Jeanfrancois U MarrierRussiaXuxue Feng RENEWAL
Deepesh O RimSpainOnyama Limba NEGOTIATION
Claire E CaudySpainIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha L MorascaGermany2024-06-16Chemel, James L Cpa UNQUALIFIED1Onyama Limba
1001Ashley I TollnerSpain2024-05-27Benton, John B Jr QUALIFIED1Bernardo Dominic
1002Jennifer O BologniaAustralia2024-05-20Feiner Bros NEGOTIATION6Onyama Limba
1003Aika I OldroydBrazil2024-05-25Commercial Press RENEWAL58Ivan Magalhaes
1004Jennifer F AmigonItaly2024-06-12Feiner Bros RENEWAL2Ioni Bowcher
1005Ricardo K MaletItaly2024-06-16Dorl, James J Esq NEW66Xuxue Feng
1006Mayumi Q DarakjyFrance2024-06-06Chapman, Ross E Esq NEW3Xuxue Feng
1007Munro K WaycottBrazil2024-05-21Commercial Press NEGOTIATION1Bernardo Dominic
1008Ashley P DilliardGermany2024-06-09Feltz Printing Service NEGOTIATION79Bernardo Dominic
1009Murillo O GauchoUnited Kingdom2024-05-29Rousseaux, Michael Esq QUALIFIED47Asiya Javayant
1010Deepesh A WaycottSpain2024-05-25Buckley Miller Wright QUALIFIED65Elwin Sharvill
1011Faith A MorascaBrazil2024-05-27Feiner Bros UNQUALIFIED12Ivan Magalhaes
1012Leja L FigeroaRussia2024-05-27Dorl, James J Esq QUALIFIED31Anna Fali
1013Cody R DarakjyAustralia2024-05-21Rangoni Of Florence NEW54Ivan Magalhaes
1014Octavia B NestleCanada2024-06-02Buckley Miller Wright PROPOSAL20Asiya Javayant
1015Faith H CaudySpain2024-06-12Chapman, Ross E Esq PROPOSAL38Ivan Magalhaes
1016Alejandro O NickaCanada2024-06-07Chapman, Ross E Esq RENEWAL71Elwin Sharvill
1017Kadeem E SergiJapan2024-06-14Rousseaux, Michael Esq NEW73Bernardo Dominic
1018Munro H ShinkoJapan2024-06-08Truhlar And Truhlar Attys PROPOSAL19Amy Elsner
1019Jefferson C NickaJapan2024-05-25Buckley Miller Wright PROPOSAL6Stephen Shaw
1020James N RulapaughSpain2024-05-21Printing Dimensions UNQUALIFIED66Anna Fali
1021Smith W DoeUnited Kingdom2024-05-30Benton, John B Jr PROPOSAL23Xuxue Feng
1022Antonio B MacleadGermany2024-06-17Dorl, James J Esq RENEWAL92Bernardo Dominic
1023Francesco U PoquetteUnited Kingdom2024-06-03Chanay, Jeffrey A Esq NEW34Stephen Shaw
1024Maria N DilliardCanada2024-06-05Feltz Printing Service PROPOSAL37Stephen Shaw
1025Rodrigues S SergiSpain2024-05-23Truhlar And Truhlar Attys NEW33Asiya Javayant
1026Adams U RimFrance2024-05-25Truhlar And Truhlar Attys NEGOTIATION28Asiya Javayant
1027Ricardo P GarufiRussia2024-05-24Dorl, James J Esq RENEWAL82Onyama Limba
1028Stacey U CaudyCanada2024-05-30Chanay, Jeffrey A Esq NEGOTIATION71Xuxue Feng
1029Jennifer O GlickFrance2024-06-09Chanay, Jeffrey A Esq QUALIFIED57Stephen Shaw
1030Adams Z FigeroaSpain2024-06-13Truhlar And Truhlar Attys QUALIFIED8Stephen Shaw
1031Greenwood W ShinkoAustralia2024-06-11Rousseaux, Michael Esq UNQUALIFIED26Ivan Magalhaes
1032Kadeem A MacleadSpain2024-05-25Chapman, Ross E Esq PROPOSAL16Ioni Bowcher
1033Stacey E FerenczRussia2024-05-30Feltz Printing Service PROPOSAL74Elwin Sharvill
1034Claire C AlbaresArgentina2024-06-09Rousseaux, Michael Esq UNQUALIFIED78Ioni Bowcher
1035Arvin V CaudyIndia2024-06-16Chemel, James L Cpa NEW17Stephen Shaw
1036Claire K BowleyArgentina2024-05-25King, Christopher A Esq NEGOTIATION19Bernardo Dominic
1037Claire T GauchoUnited Kingdom2024-06-14Truhlar And Truhlar Attys NEW97Stephen Shaw
1038David U NestleSpain2024-06-10Truhlar And Truhlar Attys NEW78Anna Fali
1039James V DarakjyIndia2024-06-16Truhlar And Truhlar Attys NEW12Bernardo Dominic
1040Aruna W WhobreyIndia2024-06-06Feltz Printing Service NEGOTIATION84Elwin Sharvill
1041Jeanfrancois B OstroskyFrance2024-06-03King, Christopher A Esq RENEWAL39Amy Elsner
1042Morrow G FigeroaCanada2024-06-06Morlong Associates UNQUALIFIED57Amy Elsner
1043James M DarakjyAustralia2024-05-20Feiner Bros NEW71Ivan Magalhaes
1044Johnson W BowleyBrazil2024-06-02Rangoni Of Florence UNQUALIFIED79Xuxue Feng
1045Aditya M MaletGermany2024-06-17Buckley Miller Wright PROPOSAL49Bernardo Dominic
1046Claire K KolmetzAustralia2024-06-07Chemel, James L Cpa RENEWAL72Onyama Limba
1047Salvatore Q CampainSpain2024-06-01Truhlar And Truhlar Attys NEW55Ivan Magalhaes
1048Octavia H RoysterCanada2024-06-09Feiner Bros PROPOSAL47Xuxue Feng
1049Clifford C NickaFrance2024-05-24Printing Dimensions RENEWAL61Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Izzy W TollnerSpainBernardo Dominic NEW
Jeanfrancois H PaprockiGermanyIoni Bowcher QUALIFIED
Tony U StensethIndiaIoni Bowcher PROPOSAL
Chavez H FollerItalyXuxue Feng PROPOSAL
Darci V MaletItalyIvan Magalhaes NEGOTIATION
Stacey X MaletAustraliaXuxue Feng NEW
Alejandro G MaletFranceXuxue Feng RENEWAL
Murillo R SchemmerItalyXuxue Feng RENEWAL
Nicolas W InouyeCanadaStephen Shaw RENEWAL
Morrow Y DilliardFranceAsiya Javayant PROPOSAL
Johnson Z MorascaCanadaStephen Shaw NEW
Maisha H MacleadBrazilElwin Sharvill UNQUALIFIED
Ricardo K MarrierSpainAmy Elsner UNQUALIFIED
Silvio K CampainSpainElwin Sharvill PROPOSAL
Rodrigues X ButtJapanAnna Fali QUALIFIED
Cody S ChuiRussiaIvan Magalhaes PROPOSAL
Mayumi B SergiItalyAsiya Javayant NEW
Leon U FollerCanadaAnna Fali QUALIFIED
Jones X GillianJapanOnyama Limba PROPOSAL
Johnson O CaudySpainIvan Magalhaes UNQUALIFIED
Nicolas S MarrierUnited KingdomStephen Shaw UNQUALIFIED
Ricardo X FigeroaItalyAsiya Javayant QUALIFIED
Leja G ButtSpainElwin Sharvill PROPOSAL
Juan N WaycottRussiaXuxue Feng QUALIFIED
Kaitlin K GlickFranceOnyama Limba NEW
Munro J KuskoSpainAnna Fali NEGOTIATION
Adams C WhobreyItalyIvan Magalhaes UNQUALIFIED
Emily I GarufiGermanyAnna Fali NEW
Deepesh O KuskoFranceIoni Bowcher NEW
Chavez H WieserAustraliaElwin Sharvill UNQUALIFIED
Salvatore H VenereArgentinaIoni Bowcher UNQUALIFIED
Jefferson I SergiBrazilIoni Bowcher NEGOTIATION
Aruna Z FerenczGermanyAnna Fali PROPOSAL
Johnson E InouyeFranceBernardo Dominic NEW
Kaitlin X SaylorsSpainIvan Magalhaes QUALIFIED
Leja J RimArgentinaIvan Magalhaes UNQUALIFIED
Alejandro U NickaRussiaAnna Fali QUALIFIED
Aika X TollnerItalyBernardo Dominic PROPOSAL
Ivar E RutaSpainAnna Fali NEGOTIATION
Darci V SaylorsAustraliaIvan Magalhaes NEGOTIATION
Julie F BriddickUnited KingdomOnyama Limba PROPOSAL
Jennifer B SchemmerAustraliaXuxue Feng NEW
Octavia S FerenczArgentinaOnyama Limba NEGOTIATION
Silvio X RutaCanadaBernardo Dominic UNQUALIFIED
Claire Y SchemmerGermanyAsiya Javayant QUALIFIED
Jefferson B GillianCanadaIvan Magalhaes RENEWAL
Nicolas S StockhamGermanyAmy Elsner QUALIFIED
Morrow M ShinkoSpainAnna Fali NEGOTIATION
Aruna F StensethCanadaIoni Bowcher QUALIFIED
Stacey H VocelkaRussiaAsiya Javayant NEW
Frozen Columns
Name
Leon K Paprocki
Misaki V Malet
Greenwood B Ruta
Murillo N Butt
Emily M Nicka
Francesco W Royster
Faith Q Saylors
Wickens O Sergi
Wickens H Nestle
Emily K Inouye
Misaki C Dilliard
Cody W Foller
Chavez U Royster
Murillo A Flosi
Jones M Perin
Ivar K Malet
Misaki X Gaucho
Cody X Bowley
Ricardo W Waycott
Leja A Ruta
Aruna L Inouye
Clifford W Malet
Jennifer J Garufi
Aika O Caudy
Misaki Q Glick
Francesco O Saylors
Ivar H Royster
Ashley C Tollner
Kaitlin Y Nicka
Rodrigues D Oldroyd
Maisha Q Bowley
Arvin Y Venere
Aruna T Malet
Deepesh K Slusarski
Stacey J Shinko
Maisha B Kusko
Jennifer H Doe
Maria B Ruta
Faith S Dilliard
Ivar H Paprocki
Nicolas F Paprocki
David O Ostrosky
Emily K Morasca
Morrow Z Chui
Kadeem L Nestle
Jennifer B Butt
Munro V Albares
Kaitlin A Venere
Chavez R Kolmetz
Jeanfrancois E Flosi
IdCountryDate
1000Germany2024-06-14
1001Germany2024-05-21
1002United Kingdom2024-05-23
1003Brazil2024-05-30
1004Russia2024-06-09
1005France2024-06-14
1006France2024-06-06
1007France2024-05-26
1008France2024-06-17
1009France2024-06-15
1010United Kingdom2024-05-28
1011Australia2024-06-12
1012Brazil2024-06-03
1013United Kingdom2024-05-22
1014Germany2024-06-14
1015Russia2024-06-05
1016Canada2024-06-03
1017Argentina2024-05-29
1018Germany2024-06-18
1019Spain2024-06-03
1020Canada2024-05-25
1021United Kingdom2024-06-04
1022France2024-06-09
1023Italy2024-05-24
1024France2024-06-03
1025Russia2024-05-22
1026Brazil2024-05-22
1027Japan2024-06-05
1028India2024-05-22
1029Japan2024-05-31
1030Australia2024-06-18
1031Japan2024-05-24
1032Japan2024-06-11
1033Russia2024-06-13
1034Canada2024-05-24
1035Canada2024-05-20
1036Argentina2024-06-10
1037Canada2024-05-24
1038Italy2024-06-11
1039Russia2024-06-07
1040Spain2024-06-17
1041Japan2024-05-29
1042Canada2024-06-16
1043Japan2024-05-24
1044Germany2024-06-01
1045India2024-05-25
1046Australia2024-06-03
1047Brazil2024-05-21
1048Italy2024-06-06
1049Japan2024-06-08

On-Demand Data

NameIdCountryDate
Ricardo D Wieser1000Australia2024-06-14
Kadeem M Whobrey1001Germany2024-05-20
Chavez R Stenseth1002Brazil2024-06-10
Kadeem H Butt1003Australia2024-05-30
Greenwood D Inouye1004Japan2024-05-26
Arvin I Vocelka1005India2024-06-13
Mujtaba X Maclead1006Germany2024-06-13
Smith F Foller1007India2024-06-05
Murillo H Bolognia1008United Kingdom2024-06-09
Izzy Q Vocelka1009United Kingdom2024-05-31
Antonio V Inouye1010Canada2024-05-26
Arvin X Nestle1011Japan2024-06-18
Jennifer B Rim1012Japan2024-06-11
Ricardo R Ferencz1013Brazil2024-05-30
Alejandro E Maclead1014United Kingdom2024-06-13
Wickens Q Waycott1015Australia2024-06-15
Octavia F Kusko1016Germany2024-05-30
Julie N Paprocki1017Germany2024-05-31
Tony E Oldroyd1018Italy2024-05-26
Aditya K Darakjy1019Spain2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire T BriddickIndiaAmy Elsner PROPOSAL
Francesco U ButtArgentinaBernardo Dominic NEGOTIATION
Mujtaba K OstroskyArgentinaOnyama Limba RENEWAL
Stacey I PoquetteAustraliaStephen Shaw PROPOSAL
Arvin V BriddickJapanAsiya Javayant NEW
Aika N SchemmerFranceStephen Shaw NEW
Wickens C WaycottGermanyOnyama Limba RENEWAL
Isabel G SergiBrazilElwin Sharvill PROPOSAL
Aditya P PaprockiArgentinaElwin Sharvill QUALIFIED
Octavia L WaycottGermanyElwin Sharvill QUALIFIED
Jennifer I AmigonFranceAsiya Javayant NEW
Murillo Z BologniaRussiaOnyama Limba RENEWAL
Salvatore C FollerSpainElwin Sharvill RENEWAL
Izzy L MaletItalyIoni Bowcher PROPOSAL
Adams F SergiIndiaXuxue Feng NEGOTIATION
Kaitlin C MarrierIndiaStephen Shaw QUALIFIED
Maria Y StockhamItalyOnyama Limba UNQUALIFIED
Silvio C GlickRussiaOnyama Limba RENEWAL
Costa Z WieserGermanyAmy Elsner RENEWAL
Ricardo E KuskoUnited KingdomIoni Bowcher RENEWAL
Adams S BowleyJapanIvan Magalhaes NEGOTIATION
Leja R MarrierFranceStephen Shaw PROPOSAL
Clifford C WaycottUnited KingdomStephen Shaw NEGOTIATION
Cody Z RutaArgentinaElwin Sharvill PROPOSAL
Munro D SlusarskiCanadaAmy Elsner NEW
Kaitlin W CampainAustraliaXuxue Feng NEGOTIATION
Morrow U RulapaughItalyAnna Fali NEW
Juan W VenereUnited KingdomStephen Shaw NEGOTIATION
Smith K SchemmerUnited KingdomXuxue Feng NEGOTIATION
Stacey O VenereFranceIvan Magalhaes RENEWAL
Silvio C SaylorsSpainBernardo Dominic NEGOTIATION
Aika D ButtBrazilAsiya Javayant NEW
Leja Z RutaCanadaIoni Bowcher UNQUALIFIED
Arvin L DoeUnited KingdomIvan Magalhaes QUALIFIED
Maria U TollnerAustraliaBernardo Dominic UNQUALIFIED
Isabel B CaldareraGermanyXuxue Feng UNQUALIFIED
Mujtaba U DarakjyRussiaIvan Magalhaes UNQUALIFIED
Ivar J SchemmerGermanyOnyama Limba RENEWAL
Izzy Y RutaAustraliaXuxue Feng NEGOTIATION
Misaki N AmigonGermanyStephen Shaw 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>