[]
This quick start guides you through the steps of adding the ListView control in your Blazor application, adding data to it and displaying the data in the control. In this example, we create a data source for ListView by creating a list of countries and bind the list to the ListView control to display the names of countries in the control.
type=note
Note: Blazor Server App or server-side app can be created using the Blazor Server App template. For more details, see Blazor Server topic under Blazor Project Types.
In the Solution Explorer, right click Dependencies and select Manage NuGet Packages.
In NuGet Package Manager, select nuget.org as the Package source.
Search for C1.Blazor.ListView package and click Install.
Navigate to the wwwroot, open index.html file.
Register the client resources by adding the following lines of code to the <head> tag.
<link rel="stylesheet" href="/_content/C1.Blazor.Core/styles.css" />
<link rel="stylesheet" href="/_content/C1.Blazor.ListView/styles.css" />
Add the following code to the <body> tag.
<script src="/_content/C1.Blazor.Core/scripts.js"></script>
Right click on Pages folder, click Add | Razor Component to add a new Razor page and then provide a name, say ListViewQuickStart.
Add the required directives to initialize and use the ListView control in the new Razor page.
@using C1.Blazor.ListView
In the Data folder, add a class, say Country, and add the following code.
public class Country
{
public override string ToString()
{
return Name;
}
public string Code { get; set; }
public string Name { get; set; }
public static List GetCountries()
{
var assembly = typeof(Country).GetTypeInfo().Assembly;
var stream = assembly.GetManifestResourceStream("ListView_List.Data.countries.json");
var json = new System.IO.StreamReader(stream).ReadToEnd();
var countries = JsonSerializer.Deserialize>(json);
var listContries = new List();
foreach (var item in countries)
{
listContries.Add(new Country() { Code = item.Key, Name = item.Value.ToString() });
}
return listContries.OrderBy(c => c.Name).ToList();
}
}
}
To bind ListView to data, set the ItemsSource property and type of the type parameter T for C1ListView component. Here, the ItemsSource property accepts the collection of items for the ListView control.
Replace the existing code in the Pages\Index.razor page with the following code.
<C1ListView ItemsSource="countries" T="Country" Style="@("max-height:50vh")"></C1ListView>
@code{
IEnumerable<Country> countries;
protected override void OnInitialized()
{
countries = Country.GetCountries();
}
}