# DataRepeater

The DataRepeater control functions as a scrollable container for controls that display repeated data, for example, rows in a database table. It can be used as an alternative to the DataGridView control when you need more control over the layout of the data.

You can use a DataRepeater control to display data with or without an underlying data source.

Without specifying a data source, you can create rows that contain data and add them to the DataRepeater.

When working with large amounts of data, you can set the **VirtualMode** property to `True` to display a subset of the available data. Virtual mode requires the implementation of a data cache from which the DataRepeater control is populated.

![Wisej.NET DataRepeater Control](/files/bLMFscwnCIOoptIRyB3C)

{% hint style="info" %}
For a full list of properties, methods and events see the [API documentation](https://docs.wisej.com/api/wisej.web/containers/datarepeater).
{% endhint %}

## Features

### Unlimited Scrolling

When the DataRepeater has **VirtualMode** property set to **true**, it can handle any number of records. The entries are only retrieved from the server when they become visible on the client (unless the **PrefetchItems** count is set).

![DataRepeater Scrolling through 1,000,000 Records](/files/VEM50l5RhvMCwOFT2W6o)

## Advanced

### JavaScript Widget

| Item        | Description                                                                                                         |
| ----------- | ------------------------------------------------------------------------------------------------------------------- |
| Class name  | wisej.web.DataRepeater                                                                                              |
| Source code | [https://github.com/iceteagroup/wisej-js](https://github.com/iceteagroup/wisej-js/blob/master/wisej.web.TextBox.js) |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/docs/controls/lists/datarepeater.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
