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
Leon Y TollnerUnited KingdomBernardo Dominic PROPOSAL
Greenwood P SchemmerItalyElwin Sharvill NEW
Ricardo M GlickArgentinaXuxue Feng QUALIFIED
Leon L ChuiSpainAmy Elsner UNQUALIFIED
Jefferson V PaprockiGermanyXuxue Feng QUALIFIED
Tony G FigeroaAustraliaXuxue Feng NEW
Cody D InouyeArgentinaOnyama Limba NEW
Leja C StockhamJapanIvan Magalhaes RENEWAL
Faith U StensethGermanyAsiya Javayant QUALIFIED
Misaki T SchemmerUnited KingdomAsiya Javayant RENEWAL
Ivar E DoeFranceAnna Fali RENEWAL
Morrow E CaudySpainStephen Shaw PROPOSAL
Morrow U MorascaArgentinaIvan Magalhaes RENEWAL
Mayumi O MaletGermanyIvan Magalhaes NEGOTIATION
Morrow P PoquetteFranceElwin Sharvill RENEWAL
Nicolas C FollerIndiaIvan Magalhaes UNQUALIFIED
Emily Q PaprockiItalyIvan Magalhaes NEGOTIATION
Salvatore Z SergiBrazilIoni Bowcher RENEWAL
Claire X CaudySpainStephen Shaw RENEWAL
James V CampainFranceStephen Shaw RENEWAL
Arvin Z SchemmerIndiaXuxue Feng PROPOSAL
Chavez T TollnerArgentinaOnyama Limba UNQUALIFIED
Alejandro Z KuskoUnited KingdomXuxue Feng UNQUALIFIED
Maisha I MaletGermanyAnna Fali RENEWAL
Juan M GarufiSpainElwin Sharvill PROPOSAL
Ashley Q FigeroaIndiaElwin Sharvill NEW
Munro B MorascaIndiaAmy Elsner QUALIFIED
Maisha T VenereIndiaOnyama Limba NEW
Greenwood Q InouyeUnited KingdomAmy Elsner NEW
Leon G GarufiSpainStephen Shaw PROPOSAL
Leon H AmigonRussiaOnyama Limba NEGOTIATION
Claire T SchemmerAustraliaXuxue Feng NEW
Izzy E GarufiSpainAsiya Javayant NEGOTIATION
Mujtaba F DoeAustraliaXuxue Feng NEGOTIATION
Mujtaba H DilliardSpainXuxue Feng NEW
Sinclair E AmigonIndiaAsiya Javayant RENEWAL
David Z ShinkoBrazilBernardo Dominic RENEWAL
Leon T RutaCanadaXuxue Feng PROPOSAL
Morrow H CaudyIndiaIoni Bowcher PROPOSAL
Misaki L CampainItalyAsiya Javayant NEGOTIATION
Aruna M RulapaughArgentinaAsiya Javayant NEW
Arvin V SaylorsArgentinaOnyama Limba RENEWAL
Jones W StensethIndiaBernardo Dominic RENEWAL
Leja F VocelkaBrazilXuxue Feng RENEWAL
Faith G MaletCanadaBernardo Dominic UNQUALIFIED
Greenwood R GarufiFranceIvan Magalhaes PROPOSAL
Misaki L KuskoCanadaAsiya Javayant NEGOTIATION
Jefferson O CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Julie B StensethSpainElwin Sharvill UNQUALIFIED
Morrow I AlbaresAustraliaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues S SlusarskiRussiaIvan Magalhaes NEW
Murillo Q PaprockiArgentinaAmy Elsner NEW
Antonio V GarufiCanadaElwin Sharvill QUALIFIED
Maria O FerenczArgentinaOnyama Limba NEW
Salvatore U GauchoIndiaOnyama Limba UNQUALIFIED
Silvio T OstroskyRussiaIoni Bowcher NEW
Murillo S RimSpainIvan Magalhaes NEGOTIATION
Julie H StockhamJapanElwin Sharvill UNQUALIFIED
Mujtaba K DoeCanadaAnna Fali QUALIFIED
Leja I ChuiBrazilElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo Q MaletRussia2024-06-17Feiner Bros NEGOTIATION83Asiya Javayant
1001Antonio B AmigonCanada2024-05-26Feiner Bros NEW42Anna Fali
1002Chavez C GarufiRussia2024-05-31Buckley Miller Wright NEGOTIATION23Asiya Javayant
1003Maria V GauchoArgentina2024-06-09Truhlar And Truhlar Attys NEW35Elwin Sharvill
1004Darci T WhobreyGermany2024-06-02Truhlar And Truhlar Attys RENEWAL98Bernardo Dominic
1005Ashley U StockhamArgentina2024-05-30Benton, John B Jr UNQUALIFIED7Bernardo Dominic
1006James K MarrierGermany2024-06-17Printing Dimensions PROPOSAL72Amy Elsner
1007Jeanfrancois E GarufiFrance2024-06-16King, Christopher A Esq NEW59Bernardo Dominic
1008Johnson D FollerJapan2024-06-17Feiner Bros PROPOSAL23Ioni Bowcher
1009Aika L SlusarskiSpain2024-05-30Morlong Associates RENEWAL71Onyama Limba
1010Rodrigues C GlickCanada2024-06-19Truhlar And Truhlar Attys UNQUALIFIED52Anna Fali
1011Rodrigues C InouyeCanada2024-06-18Dorl, James J Esq PROPOSAL32Onyama Limba
1012Johnson L CampainItaly2024-05-31Feltz Printing Service NEW26Onyama Limba
1013David I ChuiIndia2024-05-30Rousseaux, Michael Esq NEGOTIATION33Xuxue Feng
1014Jennifer U CampainCanada2024-06-02Rousseaux, Michael Esq PROPOSAL63Anna Fali
1015Costa E VenereRussia2024-05-28Chapman, Ross E Esq UNQUALIFIED8Asiya Javayant
1016Emily C IturbideFrance2024-06-14Chanay, Jeffrey A Esq NEGOTIATION88Elwin Sharvill
1017James G WieserArgentina2024-06-17Chapman, Ross E Esq RENEWAL37Xuxue Feng
1018Sinclair A MorascaItaly2024-06-18Feiner Bros QUALIFIED20Elwin Sharvill
1019Octavia P GarufiJapan2024-06-19Feltz Printing Service NEW83Anna Fali
1020Aruna R PoquetteFrance2024-05-30Chapman, Ross E Esq QUALIFIED34Ivan Magalhaes
1021Deepesh I IturbideRussia2024-06-07Rangoni Of Florence QUALIFIED6Ivan Magalhaes
1022Kaitlin Q InouyeGermany2024-05-29Chapman, Ross E Esq PROPOSAL54Onyama Limba
1023Misaki O MarrierUnited Kingdom2024-06-20Chapman, Ross E Esq RENEWAL73Bernardo Dominic
1024Alejandro X PerinArgentina2024-06-07Commercial Press NEW23Elwin Sharvill
1025Emily W WaycottBrazil2024-06-22Buckley Miller Wright RENEWAL12Xuxue Feng
1026Wickens D ChuiIndia2024-06-11Rousseaux, Michael Esq NEW10Bernardo Dominic
1027Julie G FerenczItaly2024-06-10Commercial Press QUALIFIED73Anna Fali
1028Isabel O GillianFrance2024-06-20Benton, John B Jr UNQUALIFIED25Onyama Limba
1029James U MorascaBrazil2024-06-18Rousseaux, Michael Esq RENEWAL10Bernardo Dominic
1030Juan K MarrierIndia2024-06-06Buckley Miller Wright NEW73Amy Elsner
1031Julie V AlbaresRussia2024-06-10Chapman, Ross E Esq NEGOTIATION80Asiya Javayant
1032Francesco M CaudyUnited Kingdom2024-06-12Feltz Printing Service UNQUALIFIED71Xuxue Feng
1033Deepesh Z BowleyJapan2024-06-01Printing Dimensions PROPOSAL45Stephen Shaw
1034Alejandro Y NickaArgentina2024-06-18Benton, John B Jr PROPOSAL4Asiya Javayant
1035Claire H MaletSpain2024-06-17Dorl, James J Esq PROPOSAL81Xuxue Feng
1036Smith U BowleyFrance2024-06-02Benton, John B Jr RENEWAL24Bernardo Dominic
1037Jeanfrancois O FerenczItaly2024-06-12Commercial Press NEW95Elwin Sharvill
1038Emily Z SergiIndia2024-06-17Printing Dimensions QUALIFIED56Onyama Limba
1039Ricardo O MorascaCanada2024-06-14Commercial Press QUALIFIED14Xuxue Feng
1040Munro C DilliardCanada2024-06-08Dorl, James J Esq QUALIFIED49Elwin Sharvill
1041Alejandro N FerenczGermany2024-06-18Printing Dimensions RENEWAL19Anna Fali
1042Stacey H FlosiBrazil2024-05-28Feiner Bros RENEWAL81Onyama Limba
1043Jones S FigeroaJapan2024-06-08Printing Dimensions RENEWAL67Onyama Limba
1044Ricardo T MorascaArgentina2024-06-09Buckley Miller Wright RENEWAL16Anna Fali
1045James A GarufiAustralia2024-06-09Rousseaux, Michael Esq NEGOTIATION68Onyama Limba
1046Adams W GillianSpain2024-06-10Chanay, Jeffrey A Esq RENEWAL45Onyama Limba
1047Smith Z StockhamBrazil2024-05-28Chapman, Ross E Esq RENEWAL23Asiya Javayant
1048Johnson Z TollnerSpain2024-06-02Chapman, Ross E Esq PROPOSAL99Ivan Magalhaes
1049Costa R RutaArgentina2024-05-30Truhlar And Truhlar Attys NEGOTIATION3Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Q WhobreyJapanElwin Sharvill RENEWAL
Mayumi V FerenczJapanIvan Magalhaes RENEWAL
Francesco K DoeJapanIvan Magalhaes NEGOTIATION
Aruna F FlosiItalyAnna Fali RENEWAL
Deepesh O TollnerCanadaIvan Magalhaes PROPOSAL
Aika S PerinSpainAsiya Javayant RENEWAL
Ricardo Z OldroydItalyIoni Bowcher RENEWAL
Nicolas Z InouyeJapanAmy Elsner QUALIFIED
Maria H FlosiIndiaAnna Fali NEGOTIATION
Jones O MacleadAustraliaAnna Fali QUALIFIED
Nicolas R KolmetzUnited KingdomIoni Bowcher PROPOSAL
Julie X OstroskySpainAmy Elsner NEGOTIATION
Misaki I KolmetzJapanAsiya Javayant RENEWAL
Aditya Q VenereFranceAnna Fali QUALIFIED
Arvin J InouyeArgentinaBernardo Dominic QUALIFIED
Deepesh C DilliardJapanXuxue Feng RENEWAL
Octavia V RutaAustraliaElwin Sharvill RENEWAL
Julie Q BriddickAustraliaOnyama Limba PROPOSAL
Jefferson C WieserIndiaIoni Bowcher NEGOTIATION
James Y RulapaughAustraliaOnyama Limba NEGOTIATION
James B PoquetteSpainIoni Bowcher QUALIFIED
Aditya F CampainJapanIoni Bowcher UNQUALIFIED
Kadeem J BriddickJapanXuxue Feng PROPOSAL
Adams Q ButtAustraliaElwin Sharvill QUALIFIED
Clifford U WieserCanadaXuxue Feng QUALIFIED
Aika M CaudyFranceOnyama Limba QUALIFIED
Greenwood K RimSpainIvan Magalhaes PROPOSAL
Mayumi E RutaSpainAsiya Javayant RENEWAL
Darci C TollnerItalyStephen Shaw RENEWAL
Johnson J PaprockiRussiaIvan Magalhaes RENEWAL
Adams O BriddickUnited KingdomXuxue Feng QUALIFIED
Jones K RulapaughRussiaIvan Magalhaes UNQUALIFIED
Francesco B TollnerArgentinaAsiya Javayant UNQUALIFIED
Smith L MorascaFranceXuxue Feng NEW
Isabel K SergiGermanyIvan Magalhaes QUALIFIED
Stacey Y RimCanadaIvan Magalhaes RENEWAL
Tony I InouyeJapanIoni Bowcher RENEWAL
Antonio H SergiArgentinaAnna Fali UNQUALIFIED
Jefferson Z ShinkoJapanAsiya Javayant UNQUALIFIED
Antonio P KolmetzFranceAmy Elsner NEW
Jefferson F AlbaresSpainXuxue Feng NEGOTIATION
Salvatore V FerenczSpainAmy Elsner RENEWAL
Aditya N GauchoSpainIvan Magalhaes NEW
James N PaprockiIndiaStephen Shaw NEGOTIATION
Ivar J TollnerGermanyStephen Shaw RENEWAL
Silvio E VocelkaCanadaIvan Magalhaes QUALIFIED
Ricardo K InouyeIndiaBernardo Dominic NEW
Adams S GlickSpainAsiya Javayant UNQUALIFIED
Octavia D DarakjyItalyAmy Elsner UNQUALIFIED
David S DarakjyRussiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Tony N Albares
Salvatore K Schemmer
Johnson O Oldroyd
Ashley E Vocelka
Murillo P Marrier
Ricardo L Slusarski
Mujtaba Q Figeroa
James N Rulapaugh
Claire L Flosi
Maria Z Nicka
Chavez L Venere
Maisha K Perin
Izzy H Shinko
Misaki E Briddick
Tony O Nicka
Kaitlin H Kolmetz
Claire T Campain
Francesco G Whobrey
Leon V Perin
Nicolas R Gillian
Misaki K Whobrey
Aika X Garufi
Tony N Morasca
Kadeem W Schemmer
Ivar Y Ostrosky
Greenwood W Sergi
Stacey C Gaucho
Sinclair V Nicka
Ashley P Caldarera
Nicolas L Glick
Deepesh C Albares
Jefferson T Bolognia
Misaki Y Perin
Ivar X Iturbide
Maisha Z Iturbide
Mujtaba D Stockham
Sinclair U Figeroa
Costa P Kusko
Ashley K Bolognia
Kadeem F Inouye
Leon V Marrier
Arvin X Poquette
Costa K Glick
David S Glick
Murillo J Malet
Maria O Ferencz
David M Chui
David I Nicka
David A Oldroyd
Adams I Shinko
IdCountryDate
1000Argentina2024-06-16
1001France2024-06-21
1002India2024-06-11
1003France2024-06-22
1004France2024-06-22
1005Japan2024-06-13
1006Canada2024-06-09
1007Australia2024-06-16
1008Spain2024-06-20
1009Japan2024-06-05
1010Argentina2024-06-04
1011Argentina2024-05-31
1012Spain2024-06-11
1013Brazil2024-06-10
1014Germany2024-05-27
1015France2024-05-27
1016United Kingdom2024-06-13
1017Germany2024-05-26
1018France2024-06-02
1019Italy2024-05-28
1020Canada2024-05-24
1021Argentina2024-05-30
1022France2024-06-22
1023Argentina2024-06-02
1024Germany2024-06-09
1025Italy2024-06-11
1026Brazil2024-06-19
1027Japan2024-05-24
1028Japan2024-06-19
1029Japan2024-05-26
1030Brazil2024-06-11
1031Russia2024-06-08
1032Russia2024-06-16
1033Spain2024-06-02
1034India2024-06-22
1035India2024-06-15
1036Italy2024-06-10
1037Germany2024-06-22
1038Canada2024-06-01
1039Italy2024-06-09
1040India2024-06-03
1041Germany2024-06-16
1042Germany2024-06-19
1043India2024-06-19
1044France2024-05-24
1045Russia2024-06-01
1046Argentina2024-05-24
1047Japan2024-06-02
1048Canada2024-06-01
1049France2024-06-22

On-Demand Data

NameIdCountryDate
Isabel F Wieser1000France2024-06-08
Cody Q Glick1001India2024-05-29
Smith H Chui1002Canada2024-06-18
Salvatore T Campain1003Japan2024-05-27
Chavez B Rim1004Canada2024-06-08
Clifford F Kusko1005Canada2024-05-26
Chavez G Rulapaugh1006Russia2024-05-26
Julie N Rulapaugh1007Russia2024-06-09
Clifford V Morasca1008Argentina2024-05-24
Arvin Z Dilliard1009Russia2024-06-04
Nicolas G Butt1010Brazil2024-06-21
David K Darakjy1011Argentina2024-06-09
Rodrigues O Flosi1012Germany2024-05-24
James J Bolognia1013Australia2024-05-24
Johnson R Gaucho1014Italy2024-06-03
Emily I Slusarski1015France2024-06-02
Faith R Gaucho1016Spain2024-05-30
Tony P Inouye1017Spain2024-06-03
Ashley B Kolmetz1018Canada2024-06-18
Murillo J Ferencz1019Canada2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco Z MorascaFranceStephen Shaw RENEWAL
Isabel S SchemmerIndiaXuxue Feng PROPOSAL
Morrow L StockhamFranceStephen Shaw QUALIFIED
Salvatore Q KuskoFranceAnna Fali PROPOSAL
Deepesh J RutaAustraliaAnna Fali NEW
Wickens S RoysterIndiaAnna Fali RENEWAL
Ashley I FerenczBrazilStephen Shaw NEW
Adams D GarufiFranceOnyama Limba NEW
Arvin G MaletIndiaIvan Magalhaes UNQUALIFIED
Claire S StockhamGermanyAsiya Javayant NEW
Mayumi S BowleyCanadaStephen Shaw PROPOSAL
Silvio X CampainAustraliaOnyama Limba UNQUALIFIED
Arvin L AlbaresJapanStephen Shaw QUALIFIED
David F SchemmerBrazilIvan Magalhaes PROPOSAL
Nicolas U SaylorsBrazilBernardo Dominic NEW
Salvatore T VocelkaGermanyIoni Bowcher QUALIFIED
Sinclair Q WhobreyGermanyStephen Shaw QUALIFIED
Aruna O StensethBrazilBernardo Dominic UNQUALIFIED
Kaitlin C PerinGermanyElwin Sharvill PROPOSAL
Aika X StockhamFranceElwin Sharvill UNQUALIFIED
Costa U WaycottGermanyIvan Magalhaes RENEWAL
Kaitlin Z OstroskySpainXuxue Feng QUALIFIED
Cody R MorascaUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues O ShinkoIndiaXuxue Feng PROPOSAL
Chavez T MarrierUnited KingdomStephen Shaw NEGOTIATION
Clifford Q CaldareraUnited KingdomElwin Sharvill PROPOSAL
Ashley O DoeIndiaAmy Elsner PROPOSAL
Munro O DilliardUnited KingdomIvan Magalhaes RENEWAL
Murillo C VenereGermanyXuxue Feng RENEWAL
Ricardo A FigeroaIndiaAmy Elsner NEGOTIATION
Ricardo C GillianFranceAnna Fali NEGOTIATION
Jones Z FlosiGermanyAnna Fali UNQUALIFIED
Nicolas W StockhamCanadaIvan Magalhaes NEGOTIATION
Jones M PoquetteFranceAmy Elsner QUALIFIED
Arvin A KolmetzJapanBernardo Dominic PROPOSAL
Greenwood V FigeroaJapanIoni Bowcher RENEWAL
Stacey J VocelkaRussiaXuxue Feng PROPOSAL
Aditya Q MaletRussiaAnna Fali QUALIFIED
Sinclair R WhobreyFranceBernardo Dominic QUALIFIED
Alejandro M CaudyBrazilIvan Magalhaes 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>