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
Morrow D StensethBrazilIoni Bowcher UNQUALIFIED
Tony E BologniaUnited KingdomIoni Bowcher NEGOTIATION
Nicolas S BologniaSpainAsiya Javayant NEW
Juan P CaudyAustraliaElwin Sharvill PROPOSAL
Mujtaba G PoquetteUnited KingdomOnyama Limba QUALIFIED
Deepesh C DoeArgentinaElwin Sharvill RENEWAL
Kadeem C ChuiSpainXuxue Feng QUALIFIED
Stacey M BriddickSpainAnna Fali RENEWAL
Alejandro A MorascaAustraliaAmy Elsner QUALIFIED
Misaki P CaudyFranceXuxue Feng RENEWAL
Darci V OstroskyGermanyBernardo Dominic PROPOSAL
Sinclair K FollerCanadaXuxue Feng RENEWAL
Ivar R WaycottAustraliaAmy Elsner NEGOTIATION
Claire O VocelkaJapanAnna Fali QUALIFIED
Chavez B DarakjyRussiaStephen Shaw NEGOTIATION
Faith R MacleadFranceStephen Shaw NEW
Juan E InouyeRussiaAnna Fali RENEWAL
Jeanfrancois V ChuiGermanyIvan Magalhaes NEGOTIATION
Murillo F PoquetteIndiaStephen Shaw NEGOTIATION
Greenwood P SergiCanadaIoni Bowcher NEW
Claire U StockhamItalyStephen Shaw NEGOTIATION
Alejandro K NestleAustraliaAmy Elsner NEW
Maisha Z OldroydSpainIoni Bowcher NEGOTIATION
Claire A InouyeCanadaIvan Magalhaes QUALIFIED
Jennifer E MacleadUnited KingdomStephen Shaw QUALIFIED
Kadeem N MarrierAustraliaIoni Bowcher QUALIFIED
David C RoysterRussiaAnna Fali UNQUALIFIED
Silvio E GauchoSpainIoni Bowcher PROPOSAL
Ricardo P DoeSpainElwin Sharvill RENEWAL
Mujtaba V BologniaAustraliaAsiya Javayant UNQUALIFIED
Aika N DarakjyItalyAsiya Javayant QUALIFIED
Aditya L GlickBrazilAmy Elsner RENEWAL
Wickens E ButtAustraliaAsiya Javayant QUALIFIED
Murillo G OstroskyArgentinaStephen Shaw PROPOSAL
Ivar X DilliardSpainAsiya Javayant UNQUALIFIED
Cody A FigeroaIndiaIvan Magalhaes PROPOSAL
Faith H WieserRussiaIvan Magalhaes PROPOSAL
Aruna O RimRussiaIoni Bowcher QUALIFIED
Smith G VenereRussiaIvan Magalhaes UNQUALIFIED
Emily U NickaSpainAnna Fali PROPOSAL
Maisha Z OstroskyArgentinaElwin Sharvill NEW
Rodrigues U RutaArgentinaBernardo Dominic PROPOSAL
Aditya L MarrierIndiaAsiya Javayant NEW
Johnson M DarakjyIndiaIvan Magalhaes PROPOSAL
Cody P NestleUnited KingdomAmy Elsner RENEWAL
Mayumi S IturbideJapanBernardo Dominic UNQUALIFIED
Arvin L WaycottGermanyAsiya Javayant QUALIFIED
Smith Z RulapaughAustraliaOnyama Limba NEW
Arvin K OstroskyItalyIoni Bowcher RENEWAL
Emily H PerinGermanyElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Wickens R MaletGermanyIoni Bowcher PROPOSAL
Ashley D PerinAustraliaAnna Fali UNQUALIFIED
Juan C MarrierRussiaOnyama Limba NEW
Munro Z SchemmerRussiaAnna Fali UNQUALIFIED
Tony T FigeroaJapanAmy Elsner UNQUALIFIED
James T FigeroaRussiaElwin Sharvill QUALIFIED
Cody A DilliardArgentinaXuxue Feng RENEWAL
Morrow N PerinBrazilAsiya Javayant UNQUALIFIED
David A FerenczRussiaAnna Fali NEW
Francesco K KuskoSpainIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson B KuskoItaly2024-05-23Truhlar And Truhlar Attys RENEWAL73Amy Elsner
1001Kadeem K NestleAustralia2024-05-12Printing Dimensions QUALIFIED49Xuxue Feng
1002Arvin T PaprockiAustralia2024-05-12Buckley Miller Wright NEGOTIATION74Amy Elsner
1003Jeanfrancois V FigeroaIndia2024-05-12Chapman, Ross E Esq RENEWAL16Ivan Magalhaes
1004Sinclair A CaudyBrazil2024-05-10Morlong Associates QUALIFIED52Amy Elsner
1005Salvatore G NickaUnited Kingdom2024-05-14King, Christopher A Esq NEGOTIATION62Anna Fali
1006Kadeem V WhobreyUnited Kingdom2024-05-29Benton, John B Jr PROPOSAL84Elwin Sharvill
1007Murillo S StensethBrazil2024-05-10Chanay, Jeffrey A Esq PROPOSAL37Amy Elsner
1008Alejandro K ChuiCanada2024-05-05Chapman, Ross E Esq RENEWAL12Asiya Javayant
1009Salvatore M KolmetzItaly2024-05-17King, Christopher A Esq UNQUALIFIED3Elwin Sharvill
1010Jeanfrancois S StockhamRussia2024-05-21King, Christopher A Esq NEGOTIATION26Bernardo Dominic
1011Aika E NickaBrazil2024-05-05Printing Dimensions NEW10Asiya Javayant
1012Alejandro Z MaletCanada2024-05-05Commercial Press NEW28Amy Elsner
1013Octavia F GillianRussia2024-05-17Buckley Miller Wright RENEWAL3Bernardo Dominic
1014Morrow R MarrierArgentina2024-05-04Commercial Press RENEWAL21Stephen Shaw
1015Isabel M OldroydSpain2024-05-08Benton, John B Jr NEW70Xuxue Feng
1016Morrow F ButtFrance2024-05-30Commercial Press PROPOSAL47Ioni Bowcher
1017Stacey A GauchoFrance2024-05-21Feiner Bros PROPOSAL20Elwin Sharvill
1018Claire A ButtUnited Kingdom2024-05-15Chanay, Jeffrey A Esq QUALIFIED67Ivan Magalhaes
1019Greenwood A ShinkoSpain2024-05-16Printing Dimensions QUALIFIED85Ivan Magalhaes
1020Leja T FigeroaSpain2024-05-20Rousseaux, Michael Esq PROPOSAL68Elwin Sharvill
1021Emily T WieserGermany2024-05-18Rousseaux, Michael Esq RENEWAL8Ioni Bowcher
1022Mujtaba V AlbaresUnited Kingdom2024-05-13Chapman, Ross E Esq QUALIFIED63Xuxue Feng
1023Emily W CaudyUnited Kingdom2024-05-19Chanay, Jeffrey A Esq QUALIFIED51Ivan Magalhaes
1024Isabel F StensethCanada2024-05-13Feltz Printing Service UNQUALIFIED6Ioni Bowcher
1025Wickens O StockhamRussia2024-05-29Feiner Bros RENEWAL32Onyama Limba
1026Arvin X BriddickSpain2024-05-08Dorl, James J Esq PROPOSAL54Amy Elsner
1027Munro Q IturbideRussia2024-05-08Feiner Bros PROPOSAL93Onyama Limba
1028Morrow X AlbaresGermany2024-05-20Commercial Press NEW71Ioni Bowcher
1029Aditya D BriddickJapan2024-05-21Printing Dimensions NEW7Bernardo Dominic
1030Silvio D KolmetzArgentina2024-05-02Rousseaux, Michael Esq QUALIFIED69Onyama Limba
1031Leja R DoeArgentina2024-05-15Chanay, Jeffrey A Esq UNQUALIFIED82Anna Fali
1032Isabel V NestleAustralia2024-05-12Chanay, Jeffrey A Esq PROPOSAL27Amy Elsner
1033Aika J SlusarskiJapan2024-05-14Commercial Press NEW73Ivan Magalhaes
1034Adams F FollerRussia2024-05-21Chanay, Jeffrey A Esq NEW39Xuxue Feng
1035Emily X DoeAustralia2024-05-01Rangoni Of Florence UNQUALIFIED75Amy Elsner
1036James N RoysterJapan2024-05-29Chanay, Jeffrey A Esq NEGOTIATION66Anna Fali
1037Greenwood J SergiFrance2024-05-02Dorl, James J Esq NEGOTIATION3Asiya Javayant
1038Francesco G FollerJapan2024-05-20Truhlar And Truhlar Attys QUALIFIED81Xuxue Feng
1039Cody V MacleadAustralia2024-05-02Dorl, James J Esq RENEWAL49Xuxue Feng
1040Kaitlin T CampainUnited Kingdom2024-05-22Rousseaux, Michael Esq QUALIFIED31Onyama Limba
1041Mujtaba Z DilliardUnited Kingdom2024-05-04Commercial Press UNQUALIFIED79Ioni Bowcher
1042Ricardo Y CaldareraBrazil2024-05-09Printing Dimensions QUALIFIED47Ivan Magalhaes
1043Kaitlin W RulapaughItaly2024-05-21Commercial Press UNQUALIFIED72Bernardo Dominic
1044Cody W AlbaresIndia2024-05-15Chapman, Ross E Esq QUALIFIED17Stephen Shaw
1045Munro U DilliardUnited Kingdom2024-05-30Feiner Bros PROPOSAL77Elwin Sharvill
1046Arvin D SergiItaly2024-05-21Chanay, Jeffrey A Esq PROPOSAL31Asiya Javayant
1047Julie F SergiAustralia2024-05-12Chapman, Ross E Esq UNQUALIFIED81Ivan Magalhaes
1048Leon K NickaArgentina2024-05-16Chanay, Jeffrey A Esq RENEWAL45Stephen Shaw
1049Ashley K ButtAustralia2024-05-08Rangoni Of Florence UNQUALIFIED59Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Chavez Z WhobreyItalyAmy Elsner RENEWAL
Murillo M GarufiItalyIvan Magalhaes QUALIFIED
Jeanfrancois B GarufiCanadaStephen Shaw UNQUALIFIED
Francesco N RoysterArgentinaAsiya Javayant NEGOTIATION
Nicolas N GauchoCanadaOnyama Limba RENEWAL
Jefferson G CaldareraRussiaElwin Sharvill NEW
Darci A CaudyJapanAnna Fali NEW
James X AlbaresUnited KingdomBernardo Dominic NEW
James R CaldareraIndiaBernardo Dominic UNQUALIFIED
Faith N MorascaIndiaAmy Elsner NEW
Silvio U WieserBrazilXuxue Feng PROPOSAL
Isabel D MaletFranceAsiya Javayant NEGOTIATION
Octavia E WieserUnited KingdomAnna Fali UNQUALIFIED
Wickens C FollerAustraliaElwin Sharvill PROPOSAL
Silvio F DilliardRussiaBernardo Dominic NEW
Silvio L FollerSpainXuxue Feng NEW
Chavez Y IturbideGermanyBernardo Dominic UNQUALIFIED
Leja P DarakjyFranceStephen Shaw NEW
Johnson F RoysterCanadaIvan Magalhaes RENEWAL
Emily L MaletArgentinaOnyama Limba PROPOSAL
Ashley Y SlusarskiGermanyElwin Sharvill RENEWAL
Salvatore Y VenereJapanAnna Fali NEGOTIATION
Julie G OstroskyFranceElwin Sharvill RENEWAL
Mujtaba E SergiUnited KingdomAmy Elsner QUALIFIED
Jones O AmigonFranceIoni Bowcher UNQUALIFIED
Arvin J GauchoCanadaOnyama Limba NEGOTIATION
Mayumi V VenereJapanAmy Elsner QUALIFIED
David V KolmetzSpainAnna Fali NEGOTIATION
Ivar F FerenczGermanyBernardo Dominic QUALIFIED
Costa S CampainJapanBernardo Dominic NEGOTIATION
Emily D SergiJapanIvan Magalhaes QUALIFIED
Claire U MorascaRussiaElwin Sharvill RENEWAL
Arvin Y FerenczIndiaAsiya Javayant NEW
Misaki S ShinkoCanadaOnyama Limba PROPOSAL
Salvatore T FigeroaAustraliaIvan Magalhaes NEW
Faith I StensethCanadaXuxue Feng UNQUALIFIED
Jennifer Q NestleUnited KingdomElwin Sharvill UNQUALIFIED
Aditya D CaldareraJapanIvan Magalhaes QUALIFIED
Mujtaba E GlickSpainStephen Shaw NEGOTIATION
Nicolas Z ShinkoBrazilIvan Magalhaes RENEWAL
Murillo V RutaGermanyAmy Elsner UNQUALIFIED
Izzy I TollnerUnited KingdomAsiya Javayant NEGOTIATION
Izzy X MacleadBrazilElwin Sharvill NEW
Aruna X OstroskyFranceIvan Magalhaes NEW
Salvatore A PoquetteArgentinaBernardo Dominic QUALIFIED
Salvatore Y PoquetteRussiaIoni Bowcher QUALIFIED
Chavez X FerenczGermanyAmy Elsner UNQUALIFIED
Kadeem I MarrierRussiaAsiya Javayant QUALIFIED
Octavia M FollerAustraliaBernardo Dominic UNQUALIFIED
Kadeem I WieserAustraliaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Juan F Saylors
Aditya W Malet
Stacey Y Ferencz
Kaitlin W Chui
Tony I Shinko
Misaki D Perin
Maria A Ruta
Leon S Albares
Mayumi K Foller
Murillo K Caldarera
Aika L Waycott
Chavez S Maclead
Misaki J Rulapaugh
Jennifer G Marrier
Octavia V Inouye
Claire B Butt
Leja A Flosi
Maria D Flosi
Octavia C Malet
Darci B Ferencz
Salvatore Q Campain
Izzy W Poquette
Aruna K Albares
Emily U Waycott
Ivar H Royster
Smith E Gillian
Chavez Y Slusarski
Emily B Garufi
Salvatore O Ostrosky
Munro U Kolmetz
Tony G Marrier
Leja P Waycott
Emily V Tollner
Mayumi F Albares
Rodrigues O Saylors
Juan A Nestle
Aditya J Albares
Ricardo P Chui
Clifford K Campain
Julie V Nestle
Silvio N Wieser
Jones X Nicka
Costa V Paprocki
Maria X Nicka
Octavia I Chui
Aditya J Marrier
Greenwood A Tollner
Ricardo M Butt
Juan D Albares
Salvatore G Foller
IdCountryDate
1000Brazil2024-05-09
1001Argentina2024-05-06
1002India2024-05-18
1003Australia2024-05-29
1004Spain2024-05-21
1005Argentina2024-05-15
1006Japan2024-05-30
1007Japan2024-05-17
1008Brazil2024-05-08
1009India2024-05-21
1010Argentina2024-05-12
1011United Kingdom2024-05-24
1012Germany2024-05-11
1013Argentina2024-05-06
1014Russia2024-05-28
1015Canada2024-05-10
1016United Kingdom2024-05-23
1017Italy2024-05-14
1018Russia2024-05-23
1019Germany2024-05-30
1020Spain2024-05-06
1021Russia2024-05-30
1022India2024-05-29
1023France2024-05-28
1024Italy2024-05-12
1025United Kingdom2024-05-02
1026Spain2024-05-08
1027Germany2024-05-25
1028France2024-05-22
1029United Kingdom2024-05-29
1030Spain2024-05-16
1031Argentina2024-05-24
1032Canada2024-05-14
1033Japan2024-05-22
1034Spain2024-05-26
1035Spain2024-05-01
1036India2024-05-30
1037Russia2024-05-30
1038France2024-05-26
1039Germany2024-05-20
1040France2024-05-29
1041Canada2024-05-16
1042France2024-05-26
1043Russia2024-05-15
1044Australia2024-05-01
1045Italy2024-05-06
1046France2024-05-01
1047Japan2024-05-20
1048France2024-05-18
1049Canada2024-05-05

On-Demand Data

NameIdCountryDate
Izzy G Shinko1000Brazil2024-05-16
Stacey Y Flosi1001Brazil2024-05-16
Faith U Rulapaugh1002Argentina2024-05-24
Johnson V Doe1003Germany2024-05-04
Morrow O Gillian1004Russia2024-05-12
Munro R Figeroa1005Germany2024-05-27
Smith R Caldarera1006Italy2024-05-22
Maria C Saylors1007Japan2024-05-15
Jones R Bolognia1008Brazil2024-05-08
Chavez N Chui1009United Kingdom2024-05-09
Francesco A Albares1010India2024-05-04
Claire Z Venere1011Argentina2024-05-28
Leon N Malet1012Italy2024-05-18
Greenwood A Darakjy1013India2024-05-26
Claire B Malet1014Argentina2024-05-06
Wickens T Campain1015India2024-05-30
Greenwood J Butt1016Russia2024-05-28
Arvin F Dilliard1017France2024-05-13
Silvio P Slusarski1018Spain2024-05-11
Antonio H Doe1019Canada2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson O RoysterIndiaOnyama Limba RENEWAL
Juan T FerenczRussiaXuxue Feng NEW
Ashley F GarufiUnited KingdomStephen Shaw NEGOTIATION
Leja P CampainRussiaStephen Shaw UNQUALIFIED
Izzy V MorascaArgentinaAsiya Javayant UNQUALIFIED
Isabel E RulapaughBrazilOnyama Limba NEW
Alejandro R SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Arvin G WaycottRussiaAnna Fali RENEWAL
Tony I KolmetzGermanyAnna Fali PROPOSAL
Octavia A FerenczIndiaStephen Shaw UNQUALIFIED
Juan J FigeroaUnited KingdomBernardo Dominic PROPOSAL
Emily I OstroskyCanadaOnyama Limba NEGOTIATION
Wickens H StensethJapanElwin Sharvill UNQUALIFIED
Izzy U PaprockiItalyIvan Magalhaes QUALIFIED
Aditya Q MaletSpainXuxue Feng RENEWAL
Leja T KolmetzUnited KingdomAnna Fali NEW
Morrow N FerenczBrazilIvan Magalhaes UNQUALIFIED
Deepesh L BologniaUnited KingdomElwin Sharvill QUALIFIED
Maria Z MaletGermanyXuxue Feng PROPOSAL
Stacey D WhobreyRussiaAsiya Javayant QUALIFIED
Ricardo F TollnerSpainOnyama Limba RENEWAL
Jennifer A InouyeArgentinaXuxue Feng PROPOSAL
Adams P BowleyArgentinaBernardo Dominic UNQUALIFIED
Nicolas K StensethRussiaXuxue Feng NEW
Leja L FollerItalyIoni Bowcher QUALIFIED
Isabel F AlbaresArgentinaAmy Elsner RENEWAL
Francesco Q InouyeJapanXuxue Feng RENEWAL
Kaitlin T OstroskyUnited KingdomOnyama Limba NEW
Stacey W IturbideIndiaIvan Magalhaes NEW
Aditya I RimSpainAsiya Javayant UNQUALIFIED
Mujtaba E BologniaFranceIvan Magalhaes PROPOSAL
Leon F PerinRussiaOnyama Limba PROPOSAL
Wickens R MarrierSpainOnyama Limba RENEWAL
Adams M InouyeBrazilIvan Magalhaes NEGOTIATION
Rodrigues S RimRussiaAmy Elsner PROPOSAL
Leja U PerinBrazilAmy Elsner NEGOTIATION
Chavez Q GillianArgentinaBernardo Dominic NEGOTIATION
Alejandro Y ChuiFranceXuxue Feng QUALIFIED
Sinclair K ShinkoCanadaStephen Shaw PROPOSAL
Wickens L SergiSpainAsiya Javayant 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>