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.
Example Title |
Copy Code
|
---|---|
<link rel="stylesheet" href="/_content/C1.Blazor.Core/styles.css" /> <link rel="stylesheet" href="/_content/C1.Blazor.ListView/styles.css" /> |
HTML |
Copy Code
|
---|---|
<script src="/_content/C1.Blazor.Core/scripts.js"></script>
|
Razor |
Copy Code
|
---|---|
@using C1.Blazor.ListView |
In the Data folder, add a class, say Country, and add the following code.
C# |
Copy 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.
Razor |
Copy Code
|
---|---|
<C1ListView ItemsSource="countries" T="Country" Style="@("max-height:50vh")"></C1ListView> @code{ IEnumerable<Country> countries; protected override void OnInitialized() { countries = Country.GetCountries(); } } |